ecdeedf6763ed2a141743fcd4afa6c96fe47c615
[gnulib.git] / ChangeLog
1 2011-11-04  Bruno Haible  <bruno@clisp.org>
2
3         New module 'fstatat', split off from module 'openat'.
4         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
5         defined.
6         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
7         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
8         gl_FUNC_FSTATAT.
9         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
10         * modules/fstatat: New file, extracted from modules/openat.
11         * modules/openat (Files): Remove lib/fstatat.c.
12         (Depends-on): Remove lstat.
13         (configure.ac): Remove AC_LIBOBJ of fstatat.
14         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
15         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
16         tests/test-lstat.h, tests/test-stat.h.
17         (Depends-on): Remove getcwd-lgpl.
18         (Makefile.am): Remove rules for test-fstatat.
19         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
20         of module 'openat'.
21         * NEWS: Mention the change.
22         * modules/getcwd (Depends-on): Add fstatat.
23         * modules/linkat (Depends-on): Likewise.
24         * modules/mkfifoat-tests (Depends-on): Likewise.
25         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
26
27 2011-11-03  Bruno Haible  <bruno@clisp.org>
28
29         New module 'unlinkat', split off from module 'openat'.
30         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
31         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
32         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
33         * modules/unlinkat: New file, extracted from modules/openat. Correct
34         the dependency conditions.
35         * modules/openat (Files): Remove lib/unlinkat.c.
36         (Depends-on): Remove rmdir, unlink.
37         (configure.ac): Remove AC_LIBOBJ of unlinkat.
38         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
39         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
40         tests/test-rmdir.h, tests/test-unlink.h.
41         (Depends-on): Remove unlinkdir.
42         (Makefile.am): Remove rules for test-unlinkat.
43         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
44         of module 'openat'.
45         * NEWS: Mention the change.
46         * modules/linkat-tests (Depends-on): Add unlinkat.
47         * modules/mkfifoat-tests (Depends-on): Likewise.
48         * modules/readlinkat-tests (Depends-on): Likewise.
49
50 2011-11-02  Bruno Haible  <bruno@clisp.org>
51
52         New module 'fchmodat', split off from module 'openat'.
53         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
54         defined.
55         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
56         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
57         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
58         * modules/fchmodat: New file, extracted from modules/openat.
59         * modules/openat (Files): Remove lib/fchmodat.c.
60         (configure.ac): Remove AC_LIBOBJ of fchmodat.
61         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
62         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
63         (Makefile.am): Remove rules for test-fchmodat.
64         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
65         of module 'openat'.
66         * NEWS: Mention the change.
67
68 2011-11-02  Jim Meyering  <meyering@redhat.com>
69
70         putenv: indent #definition of "environ" to placate cppi
71         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
72
73         gitlog-to-changelog: provide a ChangeLog-repair mechanism
74         Git logs are often treated as immutable, because editing them
75         changes the SHA1 checksums of all descendants.  Thus, errors in
76         git logs tend to stay there forever.  However, when we generate
77         a ChangeLog file -- typically for distribution -- from that git log,
78         we can actually make corrections in the generated file.  The key
79         lies in recording in machine-readable/applicable form the desired
80         corrections.  See --help for description and an example.
81         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
82         (usage): Describe it; alphabetize option descriptions.
83         (main): Honor the new option, carefully.
84
85 2011-11-01  Jim Meyering  <meyering@redhat.com>
86
87         gitlog-to-changelog: avoid an infloop
88         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
89         that ends up being empty.
90
91 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
92
93         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
94         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
95         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
96         contains (possibly-quoted) backslashes.  This should avoid
97         all-too-common shell bugs if COMPLICATED contains backslashes in
98         the "wrong" places.  Reported by David Evans in
99         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
100         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
101         because we want ASCII ranges.  Is there some reason we don't use
102         the C locale everywhere in this script?
103         (func_module, top level): Avoid unwanted pathname expansion when
104         $repo_url_prefix or $repo_url_suffix_repl contain shell
105         metacharacters like '?' and '*'.
106
107 2011-11-01  Bruno Haible  <bruno@clisp.org>
108
109         fchownat: Improve description.
110         * modules/fchownat (Description): Add link to function.
111
112 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
113
114         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
115         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
116         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
117         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
118
119 2011-11-01  Bruno Haible  <bruno@clisp.org>
120
121         alignof: Avoid collision with stdalign module.
122         * lib/alignof.h (alignof): Remove macro.
123         * NEWS: Mention the change.
124         Reported by Paul Eggert.
125
126 2011-11-01  Bruno Haible  <bruno@clisp.org>
127
128         New module 'fchownat', split off from module 'openat'.
129         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
130         defined.
131         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
132         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
133         invoke gl_FUNC_FCHOWNAT.
134         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
135         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
136         * modules/fchownat: New file, extracted from modules/openat.
137         * modules/openat (Files): Remove lib/fchownat.c.
138         (Depends-on): Remove lchown.
139         (configure.ac): Remove AC_LIBOBJ of fchownat.
140         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
141         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
142         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
143         (Depends-on): Remove mgetgroups, usleep, stat-time.
144         (configure.ac): Remove test for getegid.
145         (Makefile.am): Remove rules for test-fchownat.
146         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
147         of module 'openat'.
148         * NEWS: Mention the change.
149
150 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
151
152         stdalign: port better to MSVC and to Sun C 5.11
153         This fixes some of the problems reported by Bruno Haible in
154         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
155         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
156         shortcomings of MSVC and of Sun C 5.11.
157         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
158         around __declspec arg.
159         * modules/stdalign-tests (Files): Add tests/macros.h.
160         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
161         Include macros.h, for ASSERT.
162         (DECLARE_ALIGNED): Remove.
163         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
164         to catch bug), and to 1 if not (simplifies the rest of the code).
165         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
166         (CHECK_AUTO): Remove.
167         (CHECK_ALIGNED): Check only the alignment of the static vars,
168         since auto var alignment isn't supported by Sun C 5.11.
169         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
170         ASSERT failures are easier to diagnose.
171
172 2011-10-31  Bruno Haible  <bruno@clisp.org>
173
174         doc about some IRIX 5.3 problems.
175         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
176         on IRIX 5.3.
177         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
178         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
179         5.3.
180         * doc/posix-functions/grantpt.texi: Likewise.
181         * doc/posix-functions/unlockpt.texi: Likewise.
182         * doc/posix-functions/lgamma.texi: Likewise.
183         * doc/posix-functions/nextafter.texi: Likewise.
184         * doc/posix-functions/remainder.texi: Likewise.
185         * doc/posix-functions/select.texi: Mention misplaced declaration on
186         IRIX 5.3.
187         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
188
189 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
190
191         gitlog-to-changelog: fix git-log invocation.
192         git-log mishandles date strings before 1970-01-01 UTC, and there is
193         no use to specify --since=1970-01-01 by default anyway.
194         * build-aux/gitlog-to-changelog: By default, when no --since option
195         was given, do not specify explicit --since option to git-log.
196
197 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
198
199         gitlog-to-changelog: new option --append-dot.
200         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
201         first non-blank line of each commit message terminated with a dot.
202
203 2011-10-30  Bruno Haible  <bruno@clisp.org>
204
205         ffsl, ffsll: Avoid compilation error due to 'restrict'.
206         * lib/ffsl.h: Include <config.h>.
207         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
208
209 2011-10-30  Jim Meyering  <meyering@redhat.com>
210
211         GNUmakefile: reenable "make syntax-check" for most projects
212         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
213         build-aux variable", "syntax-check" would do nothing but succeed with
214         the "No version control files detected..." diagnostic (unless you
215         happened to override _build-aux via cfg.mk).
216         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
217         to precede inclusion of maint.mk.  Otherwise, these variables would
218         be used undefined in any project that does not override the default.
219
220 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
221
222         gitlog-to-changelog: treat a message with only blank lines as empty.
223         * build-aux/gitlog-to-changelog: Move the code that removes leading and
224         trailing blank lines before the code that issues a warning about an
225         empty commit message.
226
227 2011-10-30  Jim Meyering  <meyering@redhat.com>
228
229         test-parse-datetime.c: avoid new DST-related false positive test failure
230         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
231         based on the time/date we'll convert, not the current time.
232         Otherwise, the moment we cross a DST boundary like today's in
233         Europe, (CEST to CET), that offset ends up being one hour off.
234
235 2011-10-27  Bruno Haible  <bruno@clisp.org>
236
237         fstat: Tweak documentation.
238         * modules/fstat (Description): More precise description.
239
240 2011-10-27  Bruno Haible  <bruno@clisp.org>
241
242         Update documentation regarding 'largefile' module.
243         * doc/posix-functions/fstat.texi: Tweak wording.
244         * doc/posix-functions/opendir.texi: Mention that the module fixes the
245         problems with huge directories and/or small ino_t types.
246         * doc/posix-functions/readdir.texi: Likewise.
247         * doc/posix-functions/rewinddir.texi: Likewise.
248
249 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
250
251         maint.mk: don't maintain a second build-aux variable.
252         * maint.mk (build_aux): Removed.  The maintainer-makefile module
253         depends on GNUmakefile, which already maintains a cfg.mk
254         overridable $(_build-aux) for projects with a non-standard
255         build-aux directory location, although without the $(srcdir)
256         prefix.  Use that variable consistently instead of introducing a
257         second one.  Adjust all call sites.
258
259 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
260
261         Add stdalign module and use it in other modules.
262         This is based on a previous proposal by Bruno Haible
263         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
264
265         stdalign: new module
266         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
267         * modules/stdalign: New files.
268         * MODULES.html.sh (c1x_core_properties): Add stdalign.
269         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
270
271         stdalign-tests: new module
272         * modules/stdalign-tests, tests/test-stdalign.c: New files.
273
274         argp: use stdalign
275         * lib/argp-parse.c: Include <stdalign.h>.
276         (alignof): Remove.
277         * modules/argp (Depends-on): Add stdalign.
278
279         crypto libraries: use stdalign
280         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
281         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
282         Do not include <stdlib.h> twice, in md4.c.
283         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
284         because we are accessing a pointer's bit-pattern, not a size.
285         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
286         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
287         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
288         * modules/crypto/sha512: Likewise.
289
290         sys_socket: use stdalign, not alignof
291         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
292         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
293
294 2011-10-27  Bruno Haible  <bruno@clisp.org>
295
296         raise test: Avoid a test failure on Linux/MIPS.
297         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
298         because 99 is a valid signal on Linux/MIPS.
299
300 2011-10-27  Bruno Haible  <bruno@clisp.org>
301
302         nonblocking tests: Fix test failure on Linux/MIPS.
303         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
304         Set to 270000.
305
306 2011-10-27  Bruno Haible  <bruno@clisp.org>
307
308         utimensat: Work around problem on Linux/hppa.
309         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
310         values.
311         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
312
313 2011-10-25  Jim Meyering  <meyering@redhat.com>
314
315         maint.mk: fix a bug in sc_prohibit_stddef_without_use
316         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
317         after symbols like NULL, size_t, etc.
318         Reported by Alfred M. Szmidt.
319
320         maint.mk: exempt ENODATA from a syntax-check rule
321         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
322         from the sc_prohibit_always-defined_macros syntax-check rule.
323         Add a comment.  See this for more details:
324         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
325
326 2011-10-23  Jim Meyering  <meyering@redhat.com>
327
328         fts: close parent dir FD before returning from post-traversal fts_read
329         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
330         unlink A, even though an FD open on A remained.  This is suboptimal
331         (holding a file descriptor open longer than needed), but otherwise not
332         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
333         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
334         that represents a real problem: it causes the removal of A to fail
335         with e.g., "rm: cannot remove `A': Device or resource busy"
336
337         fts visits each directory twice and keeps a cache (fts_fd_ring) of
338         directory file descriptors.  After completing the final, FTS_DP,
339         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
340         cache, but then proceeded to add a new FD to it via the subsequent
341         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
342         final file descriptor would be closed only via fts_close's call to
343         fd_ring_clear.  Now, it is usually closed earlier, via the final
344         FTS_DP-returning fts_read call.
345         * lib/fts.c (restore_initial_cwd): New function, converted from
346         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
347         Update callers.
348         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
349         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
350
351 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
352             Bruno Haible  <bruno@clisp.org>
353             Jim Meyering  <jim@meyering.net>
354
355         readme-release: improve safety of release prep instructions.
356         * README-release: Don't git pull all branches when only master
357         is needed for the release process.
358         Run make maintainer-clean before changing trees and merging.
359         Don't try to run ./configure right after git pull in case files
360         that influence the bootstrap process have changed, move the
361         ./configure step to after running ./bootstrap.
362         Don't bootstrap "one last time"... it's the first time!
363
364 2011-10-22  Bruno Haible  <bruno@clisp.org>
365
366         errno, strerror-override: Support for MSVC 10.
367         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
368         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
369         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
370         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
371         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
372         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
373         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
374         Assign values compatible with MSVC 10.
375         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
376         New macros.
377         (GNULIB_defined_EWINSOCK): New macro.
378         * lib/strerror-override.c (strerror_override): Update accordingly.
379         * lib/strerror-override.h: Likewise.
380         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
381         longer equal to the corresponding errno value.
382         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
383
384 2011-10-22  Bruno Haible  <bruno@clisp.org>
385
386         perror: Recognize when test program crashes.
387         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
388         strerror, set gl_cv_func_perror_works to no.
389         Reported by Daniel Richard G. <skunk@iskunk.org>.
390
391         perror: Fix indentation.
392         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
393
394 2011-10-22  Bruno Haible  <bruno@clisp.org>
395
396         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
397         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
398         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
399         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
400         functions, not as a macro.
401         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
402         macros.
403         (isfinite, isinf, isnan, signbit): Check overloaded functions and
404         absence of macro.
405         Suggested by Eric Blake.
406         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
407
408 2011-10-21  Bruno Haible  <bruno@clisp.org>
409
410         relocatable-prog-wrapper: Don't leave object files behind.
411         * build-aux/install-reloc: Re-synchronize list of .o files to be
412         removed with list of compilation units.
413
414 2011-10-20  Bruno Haible  <bruno@clisp.org>
415
416         openpty, posix_openpt: Remove code duplication.
417         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
418         * lib/openpty.c: Include <stdlib.h>.
419         (openpty): Use posix_openpt on all platforms except IRIX.
420         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
421
422 2011-10-20  Bruno Haible  <bruno@clisp.org>
423
424         unlockpt: Detect invalid argument.
425         * lib/unlockpt.c: Include <fcntl.h>.
426         (unlockpt): Check whether fd is valid, using fcntl().
427         * modules/unlockpt (Depends-on): Add fcntl-h.
428
429 2011-10-20  Bruno Haible  <bruno@clisp.org>
430
431         openpty: Avoid compilation error on AIX 6.1.
432         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
433
434 2011-10-20  Bruno Haible  <bruno@clisp.org>
435
436         posix_openpt: Support for OpenBSD.
437         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
438         (posix_openpt) [OpenBSD]: New code.
439         * lib/grantpt.c: Include <fcntl.h>.
440         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
441         * modules/grantpt (Depends-on): Add fcntl-h.
442
443 2011-10-20  Bruno Haible  <bruno@clisp.org>
444
445         posix_openpt test: Coding style.
446         * tests/test-posix_openpt.c: Use GNU coding style.
447
448 2011-10-20  Bruno Haible  <bruno@clisp.org>
449
450         grantpt: Support --avoid=pt_chown.
451         * modules/grantpt (Files): Add lib/pty-private.h.
452
453 2011-10-20  Bruno Haible  <bruno@clisp.org>
454
455         posix_openpt: Fix autoconf macro.
456         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
457         unneeded check for _getpty.
458
459 2011-10-20  Bruno Haible  <bruno@clisp.org>
460
461         openpty: Update comments.
462         * lib/openpty.c: Add comments about Minix.
463
464 2011-10-19  Eric Blake  <eblake@redhat.com>
465
466         openpty: relax license
467         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
468
469         pt_chown: use configmake to simplify build
470         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
471
472         ptsname and others: relax license
473         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
474         * modules/unlockpt (License): Likewise.
475         * modules/pt_chown (License): Likewise.
476         * modules/ptsname (License): Likewise.
477         * modules/ttyname_r (License): Likewise.
478
479 2011-10-19  Jim Meyering  <meyering@redhat.com>
480
481         posix_openpt: remove spurious #endif
482         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
483
484 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
485
486         maint.mk: Respect $(build_aux) in web-manual rule.
487         * top/maint.mk (web-manual): Find gen-announce script in user's
488         $(build_aux) directory instead of hard-coding 'build-aux'.
489
490 2011-10-19  Bruno Haible  <bruno@clisp.org>
491
492         posix_openpt: Fix compilation error.
493         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
494         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
495         Mention the openpty module as an alternative.
496
497 2011-10-19  Bruno Haible  <bruno@clisp.org>
498
499         Support for old NeXTstep 3.3 frexp().
500         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
501         execution time of the test to 5 seconds.
502         Reported by Daniel Richard G. <skunk@iskunk.org>.
503
504 2011-10-19  Bruno Haible  <bruno@clisp.org>
505
506         Support for old NeXTstep 3.3 sed.
507         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
508         part, use /.../, not \|...|. Escape periods in the header file name.
509         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
510         Reported by Daniel Richard G. <skunk@iskunk.org>.
511
512 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
513
514         Support for old NeXTstep 3.3 gcc.
515         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
516         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
517         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
518         * lib/spawn.in.h (_Restrict_arr_): Likewise.
519         * lib/regex.h (_Restrict_arr_): Likewise.
520         * lib/regex_internal.h (re_token_t): Likewise.
521         * lib/regexec.c (check_node_accept_bytes): Likewise.
522         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
523
524 2011-10-18  Eric Blake  <eblake@redhat.com>
525
526         posix_openpt: new module
527         * modules/posix_openpt: New module.
528         * m4/posix_openpt.m4: New file.
529         * lib/posix_openpt.c: Likewise.
530         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
531         (gl_STDLIB_H_DEFAULTS): Set defaults.
532         * modules/stdlib (Makefile.am): Substitute macros.
533         * lib/stdlib.in.h (posix_openpt): Declare.
534         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
535         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
536         * modules/posix_openpt-tests: New test module.
537         * tests/test-posix_openpt.c: New test.
538
539 2011-10-15  Bruno Haible  <bruno@clisp.org>
540
541         xstrtoll: Fix compilation failure.
542         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
543         from lib/strtol.c.
544         * doc/posix-headers/limits.texi: Mention missing numerical limits on
545         some platforms.
546         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
547
548 2011-10-15  Bruno Haible  <bruno@clisp.org>
549
550         vasnprintf: Optimize bit search operation.
551         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
552         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
553         gl_DOUBLE_EXPONENT_LOCATION.
554         * modules/vasnprintf (Files): Add m4/exponentd.m4.
555         * modules/unistdio/u8-vasnprintf (Files): Likewise.
556         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
557         * modules/unistdio/u16-vasnprintf (Files): Likewise.
558         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
559         * modules/unistdio/u32-vasnprintf (Files): Likewise.
560         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
561         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
562         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
563
564 2011-10-15  Bruno Haible  <bruno@clisp.org>
565
566         vasnprintf: Fix comments.
567         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
568
569 2011-10-14  Bruno Haible  <bruno@clisp.org>
570
571         Tests for module 'integer_length_ll'.
572         * modules/integer_length_ll-tests: New file.
573         * tests/test-integer_length_ll.c: New file.
574
575         New module 'integer_length_ll'.
576         * lib/integer_length_ll.c: New file.
577         * modules/integer_length_ll: New file.
578
579 2011-10-14  Bruno Haible  <bruno@clisp.org>
580
581         Tests for module 'integer_length_l'.
582         * modules/integer_length_l-tests: New file.
583         * tests/test-integer_length_l.c: New file.
584
585         New module 'integer_length_l'.
586         * lib/integer_length_l.c: New file.
587         * modules/integer_length_l: New file.
588
589 2011-10-14  Bruno Haible  <bruno@clisp.org>
590
591         Tests for module 'integer_length'.
592         * modules/integer_length-tests: New file.
593         * tests/test-integer_length.c: New file.
594
595         New module 'integer_length'.
596         * lib/integer_length.h: New file.
597         * lib/integer_length.c: New file.
598         * modules/integer_length: New file.
599
600 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
601
602         popen: Fix dependency conditions.
603         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
604
605 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
606
607         perror: Fix autoconf test.
608         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
609         <stdlib.h> and <string.h>.
610
611 2011-10-14  Bruno Haible  <bruno@clisp.org>
612
613         ffsl: Optimize on 64-bit platforms.
614         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
615         unrolling.
616
617 2011-10-13  Bruno Haible  <bruno@clisp.org>
618
619         ffsl: Optimize on 32-bit platforms.
620         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
621         use ffs() without a loop.
622
623         ffsl, ffsll: Optimize for GCC.
624         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
625         * lib/ffsl.c (GCC_BUILTIN): New macro.
626         * lib/ffsll.c (GCC_BUILTIN): Likewise.
627
628 2011-10-13  Bruno Haible  <bruno@clisp.org>
629
630         ffs, bcopy, memset: Support symbol renaming via config.h.
631         * lib/ffs.c: Include <config.h>.
632         * lib/bcopy.c: Likewise.
633         * lib/memset.c: Likewise.
634
635 2011-10-10  Bruno Haible  <bruno@clisp.org>
636
637         atanl: Simplify for platforms where 'long double' == 'double'.
638         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
639         alternative implementation.
640         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
641         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
642         * modules/atanl (Depends-on): Add atan. Update conditions.
643
644 2011-10-10  Bruno Haible  <bruno@clisp.org>
645
646         acosl: Simplify for platforms where 'long double' == 'double'.
647         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
648         alternative implementation.
649         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
650         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
651         * modules/acosl (Depends-on): Add acos. Update conditions.
652
653 2011-10-10  Bruno Haible  <bruno@clisp.org>
654
655         asinl: Simplify for platforms where 'long double' == 'double'.
656         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
657         alternative implementation.
658         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
659         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
660         * modules/asinl (Depends-on): Add asin. Update conditions.
661
662 2011-10-10  Bruno Haible  <bruno@clisp.org>
663
664         tanl: Simplify for platforms where 'long double' == 'double'.
665         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
666         implementation.
667         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
668         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
669         * modules/tanl (Depends-on): Add tan. Update conditions.
670         (configure.ac): Don't compile trigl.c if
671         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
672
673 2011-10-10  Bruno Haible  <bruno@clisp.org>
674
675         cosl: Simplify for platforms where 'long double' == 'double'.
676         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
677         implementation.
678         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
679         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
680         * modules/cosl (Depends-on): Add cos. Update conditions.
681         (configure.ac): Don't compile sincosl.c and trigl.c if
682         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
683
684 2011-10-10  Bruno Haible  <bruno@clisp.org>
685
686         sinl: Simplify for platforms where 'long double' == 'double'.
687         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
688         implementation.
689         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
690         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
691         * modules/sinl (Depends-on): Add sin. Update conditions.
692         (configure.ac): Don't compile sincosl.c and trigl.c if
693         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
694
695 2011-10-10  Bruno Haible  <bruno@clisp.org>
696
697         logl: Simplify for platforms where 'long double' == 'double'.
698         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
699         implementation.
700         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
701         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
702         * modules/logl (Depends-on): Add log. Update conditions.
703
704 2011-10-10  Bruno Haible  <bruno@clisp.org>
705
706         expl: Simplify for platforms where 'long double' == 'double'.
707         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
708         implementation.
709         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
710         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
711         * modules/expl (Depends-on): Add exp. Update conditions.
712
713 2011-10-10  Bruno Haible  <bruno@clisp.org>
714
715         sqrtl: Simplify for platforms where 'long double' == 'double'.
716         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
717         alternative implementation.
718         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
719         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
720         * modules/sqrtl (Depends-on): Update conditions.
721
722 2011-10-10  Bruno Haible  <bruno@clisp.org>
723
724         ldexpl: Simplify for platforms where 'long double' == 'double'.
725         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
726         alternative implementation.
727         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
728         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
729         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
730
731 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
732
733         ffsll: set correct witness
734         * modules/ffsll (configure.ac): Fix typo.
735
736 2011-10-10  Bruno Haible  <bruno@clisp.org>
737
738         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
739         * lib/printf-frexpl.c: Include <config.h>.
740         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
741         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
742         second time.
743         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
744         gl_LONG_DOUBLE_VS_DOUBLE.
745         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
746         conditions.
747
748 2011-10-10  Bruno Haible  <bruno@clisp.org>
749
750         frexpl: Simplify for platforms where 'long double' == 'double'.
751         * lib/frexpl.c: Include <config.h>.
752         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
753         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
754         time.
755         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
756         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
757         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
758         * modules/frexpl (Depends-on): Add frexp. Update conditions.
759         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
760         conditions.
761
762 2011-10-10  Jim Meyering  <meyering@redhat.com>
763
764         test-renameat: don't leave behind a temporary file
765         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
766           ERROR: files left in build directory after distclean:
767           ./gltests/test-renameat.too
768           make[1]: *** [distcleancheck] Error 1
769         Reported by Tom G. Christensen.
770
771 2011-10-09  Bruno Haible  <bruno@clisp.org>
772
773         rint: Determine RINT_LIBM correctly on AIX 7.
774         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
775         directly, not only through a function pointer. Also accept an optional
776         4th argument with extra code.
777         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
778         rintf() call by gcc when optimizing.
779
780         mathfunc.m4: Refactor.
781         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
782         m4 variable.
783
784 2011-10-09  Bruno Haible  <bruno@clisp.org>
785
786         rintl: Simplify for platforms where 'long double' == 'double'.
787         * lib/rintl.c: Include <config.h>.
788         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
789         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
790         time.
791         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
792         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
793         * modules/rintl (Depends-on): Add rint. Update conditions.
794
795 2011-10-09  Bruno Haible  <bruno@clisp.org>
796
797         roundl: Simplify for platforms where 'long double' == 'double'.
798         * lib/roundl.c: Include <config.h>.
799         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
800         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
801         time.
802         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
803         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
804         * modules/roundl (Depends-on): Add round. Update conditions.
805
806 2011-10-09  Bruno Haible  <bruno@clisp.org>
807
808         truncl: Simplify for platforms where 'long double' == 'double'.
809         * lib/truncl.c: Include <config.h>.
810         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
811         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
812         time.
813         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
814         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
815         * modules/truncl (Depends-on): Add trunc. Update conditions.
816
817 2011-10-09  Bruno Haible  <bruno@clisp.org>
818
819         ceill: Simplify for platforms where 'long double' == 'double'.
820         * lib/ceill.c: Include <config.h>.
821         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
822         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
823         time.
824         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
825         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
826         * modules/ceill (Depends-on): Add ceil. Update conditions.
827
828 2011-10-09  Bruno Haible  <bruno@clisp.org>
829
830         floorl: Simplify for platforms where 'long double' == 'double'.
831         * lib/floorl.c: Include <config.h>.
832         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
833         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
834         time.
835         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
836         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
837         * modules/floorl (Depends-on): Add floor. Update conditions.
838
839 2011-10-09  Bruno Haible  <bruno@clisp.org>
840
841         rint: Fix ordering constraints.
842         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
843         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
844         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
845
846 2011-10-09  Bruno Haible  <bruno@clisp.org>
847
848         copysignl: Simplify for platforms where 'long double' == 'double'.
849         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
850         alternative.
851         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
852         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
853         * modules/copysignl (Depends-on): Add copysign. Update conditions.
854
855 2011-10-09  Bruno Haible  <bruno@clisp.org>
856
857         Tests for module 'rintl'.
858         * modules/rintl-tests: New file.
859         * tests/test-rintl.c: New file.
860
861         New module 'rintl'.
862         * lib/math.in.h (rintl): New declaration.
863         * lib/rintl.c: New file.
864         * m4/rintl.m4: New file.
865         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
866         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
867         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
868         * modules/rintl: New file.
869         * tests/test-math-c++.cc: Check the declaration of rintl.
870         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
871         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
872         * doc/posix-functions/rintl.texi: Mention the new module.
873
874 2011-10-09  Bruno Haible  <bruno@clisp.org>
875
876         Tests for module 'rintf'.
877         * modules/rintf-tests: New file.
878         * tests/test-rintf.c: New file.
879
880         New module 'rintf'.
881         * lib/math.in.h (rintf): New declaration.
882         * lib/rintf.c: New file.
883         * m4/rintf.m4: New file.
884         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
885         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
886         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
887         * modules/rintf: New file.
888         * tests/test-math-c++.cc: Check the declaration of rintf.
889         * doc/posix-functions/rintf.texi: Mention the new module.
890
891 2011-10-09  Bruno Haible  <bruno@clisp.org>
892
893         rint: Support for MSVC.
894         * lib/math.in.h (rint): New declaration.
895         * lib/rint.c: New file.
896         * m4/rint.m4: New file.
897         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
898         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
899         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
900         * modules/rint (Description): Fix.
901         (Files): Add lib/rint.c, m4/rint.m4.
902         (Depends-on): Add math.
903         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
904         gl_MATH_MODULE_INDICATOR.
905         * tests/test-math-c++.cc: Check the declaration of rint.
906         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
907         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
908         * doc/posix-functions/rint.texi: Mention the replacement provided by
909         the module.
910
911         rint tests: More tests.
912         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
913         minus-zero.h, infinity.h, nan.h.
914         (main): Skip the test if the current rounding mode is not standard. Add
915         tests for negative numbers, minus zero, infinity, NaN.
916         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
917         tests/nan.h.
918         (Depends-on): Add isnand-nolibm.
919
920 2011-10-09  Bruno Haible  <bruno@clisp.org>
921
922         Tests for module 'copysignl'.
923         * modules/copysignl-tests: New file.
924         * tests/test-copysignl.c: New file.
925
926         New module 'copysignl'.
927         * lib/math.in.h (copysignl): New declaration.
928         * lib/copysignl.c: New file.
929         * m4/copysignl.m4: New file.
930         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
931         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
932         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
933         HAVE_COPYSIGNL.
934         * modules/copysignl: New file.
935         * tests/test-math-c++.cc: Check the declaration of copysignl.
936         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
937         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
938         * doc/posix-functions/copysignl.texi: Mention the new module.
939
940 2011-10-09  Bruno Haible  <bruno@clisp.org>
941
942         Tests for module 'copysignf'.
943         * modules/copysignf-tests: New file.
944         * tests/test-copysignf.c: New file.
945
946         New module 'copysignf'.
947         * lib/math.in.h (copysignf): New declaration.
948         * lib/copysignf.c: New file.
949         * m4/copysignf.m4: New file.
950         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
951         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
952         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
953         HAVE_COPYSIGNF.
954         * modules/copysignf: New file.
955         * tests/test-math-c++.cc: Check the declaration of copysignf.
956         * doc/posix-functions/copysignf.texi: Mention the new module.
957
958 2011-10-09  Bruno Haible  <bruno@clisp.org>
959
960         Ensure that HAVE_* variables are set to 1 before they are set to 0.
961         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
962         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
963         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
964         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
965         gl_SIGNAL_H_DEFAULTS.
966
967 2011-10-09  Bruno Haible  <bruno@clisp.org>
968
969         poll: Make macro safer.
970         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
971         ac_cv_header_poll_h is not set.
972
973 2011-10-09  Bruno Haible  <bruno@clisp.org>
974
975         copysign: Provide replacement.
976         * lib/math.in.h (copysign): New declaration.
977         * lib/copysign.c: New file.
978         * m4/copysign.m4: New file.
979         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
980         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
981         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
982         HAVE_COPYSIGN.
983         * modules/copysign (Description): Clarify.
984         (Files): Add lib/copysign.c, m4/copysign.m4.
985         (Depends-on): Add math, signbit.
986         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
987         gl_MATH_MODULE_INDICATOR.
988         * tests/test-math-c++.cc: Check the declaration of copysign.
989         * doc/posix-functions/copysign.texi: Mention the effects of the module
990         on Minix and MSVC.
991
992 2011-10-09  Bruno Haible  <bruno@clisp.org>
993
994         isinf: Ensure macro on AIX 5.1.
995         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
996         macro.
997         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
998
999 2011-10-09  Bruno Haible  <bruno@clisp.org>
1000
1001         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
1002         * modules/snprintf-posix-tests (configure.ac): Require
1003         gl_LONG_DOUBLE_VS_DOUBLE.
1004         * modules/sprintf-posix-tests (configure.ac): Likewise.
1005         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
1006         * modules/vasprintf-posix-tests (configure.ac): Likewise.
1007         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
1008         * modules/vsprintf-posix-tests (configure.ac): Likewise.
1009         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
1010         tests on platforms where 'long double' is the same as 'double'.
1011         * tests/test-sprintf-posix.h (test_function): Likewise.
1012         * tests/test-vasnprintf-posix.c (test_function): Likewise.
1013         * tests/test-vasprintf-posix.c (test_function): Likewise.
1014
1015         *printf: Fix for platforms where 'long double' == 'double'.
1016         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
1017         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
1018         * modules/dprintf-posix (Files): Add m4/math_h.m4.
1019         * modules/fprintf-posix (Files): Likewise.
1020         * modules/obstack-printf-posix (Files): Likewise.
1021         * modules/snprintf-posix (Files): Likewise.
1022         * modules/sprintf-posix (Files): Likewise.
1023         * modules/vasnprintf (Files): Likewise.
1024         * modules/vasnprintf-posix (Files): Likewise.
1025         * modules/vasprintf-posix (Files): Likewise.
1026         * modules/vdprintf-posix (Files): Likewise.
1027         * modules/vfprintf-posix (Files): Likewise.
1028         * modules/vsnprintf-posix (Files): Likewise.
1029         * modules/vsprintf-posix (Files): Likewise.
1030         * modules/unistdio/u8-vasnprintf (Files): Likewise.
1031         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
1032         * modules/unistdio/u16-vasnprintf (Files): Likewise.
1033         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
1034         * modules/unistdio/u32-vasnprintf (Files): Likewise.
1035         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
1036         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
1037
1038         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
1039         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
1040         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1041         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
1042         'long double'.
1043         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
1044
1045         isinf: Fix for platforms where 'long double' == 'double'.
1046         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1047         Don't blindly assume 80-bit 'long double'.
1048
1049         isfinite: Fix for platforms where 'long double' == 'double'.
1050         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1051         Don't blindly assume 80-bit 'long double'.
1052
1053         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
1054         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
1055         * modules/isfinite-tests (configure.ac): Require
1056         gl_LONG_DOUBLE_VS_DOUBLE.
1057         * modules/isinf-tests (configure.ac): Likewise.
1058         * modules/isnan-tests (configure.ac): Likewise.
1059         * modules/isnanl-tests (configure.ac): Likewise.
1060         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
1061         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
1062         tests on platforms where 'long double' is the same as 'double'.
1063         * tests/test-isinf.c (test_isinfl): Likewise.
1064         * tests/test-isnan.c (test_long_double): Likewise.
1065         * tests/test-isnanl.h (main): Likewise.
1066
1067 2011-10-08  Bruno Haible  <bruno@clisp.org>
1068
1069         Tests for module 'tanhf'.
1070         * modules/tanhf-tests: New file.
1071         * tests/test-tanhf.c: New file.
1072
1073         New module 'tanhf'.
1074         * lib/math.in.h (tanhf): New declaration.
1075         * lib/tanhf.c: New file.
1076         * m4/tanhf.m4: New file.
1077         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
1078         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
1079         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
1080         * modules/tanhf: New file.
1081         * tests/test-math-c++.cc: Check the declaration of tanhf.
1082         * doc/posix-functions/tanhf.texi: Mention the new module.
1083
1084         tanh: Use a .m4 file.
1085         * m4/tanh.m4: New file.
1086         * modules/tanh (Files): Add it.
1087         (configure.ac): Just invoke gl_FUNC_TANH.
1088
1089 2011-10-08  Bruno Haible  <bruno@clisp.org>
1090
1091         Tests for module 'coshf'.
1092         * modules/coshf-tests: New file.
1093         * tests/test-coshf.c: New file.
1094
1095         New module 'coshf'.
1096         * lib/math.in.h (coshf): New declaration.
1097         * lib/coshf.c: New file.
1098         * m4/coshf.m4: New file.
1099         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
1100         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
1101         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
1102         * modules/coshf: New file.
1103         * tests/test-math-c++.cc: Check the declaration of coshf.
1104         * doc/posix-functions/coshf.texi: Mention the new module.
1105
1106         cosh: Use a .m4 file.
1107         * m4/cosh.m4: New file.
1108         * modules/cosh (Files): Add it.
1109         (configure.ac): Just invoke gl_FUNC_COSH.
1110
1111 2011-10-08  Bruno Haible  <bruno@clisp.org>
1112
1113         Tests for module 'sinhf'.
1114         * modules/sinhf-tests: New file.
1115         * tests/test-sinhf.c: New file.
1116
1117         New module 'sinhf'.
1118         * lib/math.in.h (sinhf): New declaration.
1119         * lib/sinhf.c: New file.
1120         * m4/sinhf.m4: New file.
1121         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
1122         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
1123         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
1124         * modules/sinhf: New file.
1125         * tests/test-math-c++.cc: Check the declaration of sinhf.
1126         * doc/posix-functions/sinhf.texi: Mention the new module.
1127
1128         sinh: Use a .m4 file.
1129         * m4/sinh.m4: New file.
1130         * modules/sinh (Files): Add it.
1131         (configure.ac): Just invoke gl_FUNC_SINH.
1132
1133 2011-10-08  Bruno Haible  <bruno@clisp.org>
1134
1135         Tests for module 'atan2f'.
1136         * modules/atan2f-tests: New file.
1137         * tests/test-atan2f.c: New file.
1138
1139         New module 'atan2f'.
1140         * lib/math.in.h (atan2f): New declaration.
1141         * lib/atan2f.c: New file.
1142         * m4/atan2f.m4: New file.
1143         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
1144         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
1145         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
1146         * modules/atan2f: New file.
1147         * tests/test-math-c++.cc: Check the declaration of atan2f.
1148         * doc/posix-functions/atan2f.texi: Mention the new module.
1149
1150         atan2: Use a .m4 file.
1151         * m4/atan2.m4: New file.
1152         * modules/atan2 (Files): Add it.
1153         (configure.ac): Just invoke gl_FUNC_ATAN2.
1154
1155 2011-10-08  Bruno Haible  <bruno@clisp.org>
1156
1157         Tests for module 'atanf'.
1158         * modules/atanf-tests: New file.
1159         * tests/test-atanf.c: New file.
1160
1161         New module 'atanf'.
1162         * lib/math.in.h (atanf): New declaration.
1163         * lib/atanf.c: New file.
1164         * m4/atanf.m4: New file.
1165         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
1166         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
1167         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
1168         * modules/atanf: New file.
1169         * tests/test-math-c++.cc: Check the declaration of atanf.
1170         * doc/posix-functions/atanf.texi: Mention the new module.
1171
1172         atan: Use a .m4 file.
1173         * m4/atan.m4: New file.
1174         * modules/atan (Files): Add it.
1175         (configure.ac): Just invoke gl_FUNC_ATAN.
1176
1177 2011-10-08  Bruno Haible  <bruno@clisp.org>
1178
1179         Tests for module 'acosf'.
1180         * modules/acosf-tests: New file.
1181         * tests/test-acosf.c: New file.
1182
1183         New module 'acosf'.
1184         * lib/math.in.h (acosf): New declaration.
1185         * lib/acosf.c: New file.
1186         * m4/acosf.m4: New file.
1187         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
1188         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
1189         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
1190         * modules/acosf: New file.
1191         * tests/test-math-c++.cc: Check the declaration of acosf.
1192         * doc/posix-functions/acosf.texi: Mention the new module.
1193
1194         acos: Use a .m4 file.
1195         * m4/acos.m4: New file.
1196         * modules/acos (Files): Add it.
1197         (configure.ac): Just invoke gl_FUNC_ACOS.
1198
1199 2011-10-08  Bruno Haible  <bruno@clisp.org>
1200
1201         Tests for module 'asinf'.
1202         * modules/asinf-tests: New file.
1203         * tests/test-asinf.c: New file.
1204
1205         New module 'asinf'.
1206         * lib/math.in.h (asinf): New declaration.
1207         * lib/asinf.c: New file.
1208         * m4/asinf.m4: New file.
1209         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
1210         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
1211         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
1212         * modules/asinf: New file.
1213         * tests/test-math-c++.cc: Check the declaration of asinf.
1214         * doc/posix-functions/asinf.texi: Mention the new module.
1215
1216         asin: Use a .m4 file.
1217         * m4/asin.m4: New file.
1218         * modules/asin (Files): Add it.
1219         (configure.ac): Just invoke gl_FUNC_ASIN.
1220
1221 2011-10-08  Bruno Haible  <bruno@clisp.org>
1222
1223         Tests for module 'tanf'.
1224         * modules/tanf-tests: New file.
1225         * tests/test-tanf.c: New file.
1226
1227         New module 'tanf'.
1228         * lib/math.in.h (tanf): New declaration.
1229         * lib/tanf.c: New file.
1230         * m4/tanf.m4: New file.
1231         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
1232         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
1233         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
1234         * modules/tanf: New file.
1235         * tests/test-math-c++.cc: Check the declaration of tanf.
1236         * doc/posix-functions/tanf.texi: Mention the new module.
1237
1238         tan: Use a .m4 file.
1239         * m4/tan.m4: New file.
1240         * modules/tan (Files): Add it.
1241         (configure.ac): Just invoke gl_FUNC_TAN.
1242
1243 2011-10-08  Bruno Haible  <bruno@clisp.org>
1244
1245         Tests for module 'cosf'.
1246         * modules/cosf-tests: New file.
1247         * tests/test-cosf.c: New file.
1248
1249         New module 'cosf'.
1250         * lib/math.in.h (cosf): New declaration.
1251         * lib/cosf.c: New file.
1252         * m4/cosf.m4: New file.
1253         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
1254         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
1255         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
1256         * modules/cosf: New file.
1257         * tests/test-math-c++.cc: Check the declaration of cosf.
1258         * doc/posix-functions/cosf.texi: Mention the new module.
1259
1260         cos: Use a .m4 file.
1261         * m4/cos.m4: New file.
1262         * modules/cos (Files): Add it.
1263         (configure.ac): Just invoke gl_FUNC_COS.
1264
1265 2011-10-08  Bruno Haible  <bruno@clisp.org>
1266
1267         Tests for module 'sinf'.
1268         * modules/sinf-tests: New file.
1269         * tests/test-sinf.c: New file.
1270
1271         New module 'sinf'.
1272         * lib/math.in.h (sinf): New declaration.
1273         * lib/sinf.c: New file.
1274         * m4/sinf.m4: New file.
1275         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
1276         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
1277         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
1278         * modules/sinf: New file.
1279         * tests/test-math-c++.cc: Check the declaration of sinf.
1280         * doc/posix-functions/sinf.texi: Mention the new module.
1281
1282         sin: Use a .m4 file.
1283         * m4/sin.m4: New file.
1284         * modules/sin (Files): Add it.
1285         (configure.ac): Just invoke gl_FUNC_SIN.
1286
1287 2011-10-08  Bruno Haible  <bruno@clisp.org>
1288
1289         Tests for module 'powf'.
1290         * modules/powf-tests: New file.
1291         * tests/test-powf.c: New file.
1292
1293         New module 'powf'.
1294         * lib/math.in.h (powf): New declaration.
1295         * lib/powf.c: New file.
1296         * m4/powf.m4: New file.
1297         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
1298         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
1299         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
1300         * modules/powf: New file.
1301         * tests/test-math-c++.cc: Check the declaration of powf.
1302         * doc/posix-functions/powf.texi: Mention the new module.
1303
1304         pow: Use a .m4 file.
1305         * m4/pow.m4: New file.
1306         * modules/pow (Files): Add it.
1307         (configure.ac): Just invoke gl_FUNC_POW.
1308
1309 2011-10-08  Bruno Haible  <bruno@clisp.org>
1310
1311         Tests for module 'log10f'.
1312         * modules/log10f-tests: New file.
1313         * tests/test-log10f.c: New file.
1314
1315         New module 'log10f'.
1316         * lib/math.in.h (log10f): New declaration.
1317         * lib/log10f.c: New file.
1318         * m4/log10f.m4: New file.
1319         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
1320         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
1321         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
1322         * modules/log10f: New file.
1323         * tests/test-math-c++.cc: Check the declaration of log10f.
1324         * doc/posix-functions/log10f.texi: Mention the new module.
1325
1326         log10: Use a .m4 file.
1327         * m4/log10.m4: New file.
1328         * modules/log10 (Files): Add it.
1329         (configure.ac): Just invoke gl_FUNC_LOG10.
1330
1331 2011-10-08  Bruno Haible  <bruno@clisp.org>
1332
1333         Tests for module 'logf'.
1334         * modules/logf-tests: New file.
1335         * tests/test-logf.c: New file.
1336
1337         New module 'logf'.
1338         * lib/math.in.h (logf): New declaration.
1339         * lib/logf.c: New file.
1340         * m4/logf.m4: New file.
1341         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
1342         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
1343         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
1344         * modules/logf: New file.
1345         * tests/test-math-c++.cc: Check the declaration of logf.
1346         * doc/posix-functions/logf.texi: Mention the new module.
1347
1348         log: Use a .m4 file.
1349         * m4/log.m4: New file.
1350         * modules/log (Files): Add it.
1351         (configure.ac): Just invoke gl_FUNC_LOG.
1352
1353 2011-10-08  Bruno Haible  <bruno@clisp.org>
1354
1355         Tests for module 'expf'.
1356         * modules/expf-tests: New file.
1357         * tests/test-expf.c: New file.
1358
1359         New module 'expf'.
1360         * lib/math.in.h (expf): New declaration.
1361         * lib/expf.c: New file.
1362         * m4/expf.m4: New file.
1363         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
1364         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
1365         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
1366         * modules/expf: New file.
1367         * tests/test-math-c++.cc: Check the declaration of expf.
1368         * doc/posix-functions/expf.texi: Mention the new module.
1369
1370         exp: Use a .m4 file.
1371         * m4/exp.m4: New file.
1372         * modules/exp (Files): Add it.
1373         (configure.ac): Just invoke gl_FUNC_EXP.
1374
1375 2011-10-08  Bruno Haible  <bruno@clisp.org>
1376
1377         Tests for module 'sqrtf'.
1378         * modules/sqrtf-tests: New file.
1379         * tests/test-sqrtf.c: New file.
1380
1381         New module 'sqrtf'.
1382         * lib/math.in.h (sqrtf): New declaration.
1383         * lib/sqrtf.c: New file.
1384         * m4/sqrtf.m4: New file.
1385         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
1386         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
1387         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
1388         * modules/sqrtf: New file.
1389         * tests/test-math-c++.cc: Check the declaration of sqrtf.
1390         * doc/posix-functions/sqrtf.texi: Mention the new module.
1391
1392 2011-10-08  Bruno Haible  <bruno@clisp.org>
1393
1394         Tests: Avoid link failures w.r.t. libintl.
1395         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
1396         $(LIBINTL).
1397         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
1398         $(LIBINTL).
1399         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
1400         against $(LIBINTL).
1401         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
1402         $(LIBINTL).
1403         * modules/openat-tests (Makefile.am): Link test-fchmodat against
1404         $(LIBINTL).
1405         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
1406
1407 2011-10-08  Bruno Haible  <bruno@clisp.org>
1408
1409         pow tests: Defeat compiler optimizations.
1410         * tests/test-pow.c (main): Assign arguments to x and y before use.
1411
1412 2011-10-08  Bruno Haible  <bruno@clisp.org>
1413
1414         gnulib-tool: Improve last commit.
1415         * gnulib-tool (func_modules_transitive_closure): Simplify code.
1416         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
1417         ignore dependencies that are not among the modules list.
1418
1419 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
1420
1421         gnulib-tool: don't follow dependencies to avoided modules
1422         This fixes a bug that is related to the previous one.
1423         * gnulib-tool (func_modules_transitive_closure)
1424         (func_emit_autoconf_snippets):
1425         Check whether a dependency is acceptable before using it.
1426         (--extract-dependencies): Report an error if --avoid is also used,
1427         since this combination of options is not yet supported.
1428
1429         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
1430         Problem reported by Peter Dyballa in
1431         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
1432         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
1433         when echoing "$condition".
1434
1435 2011-10-07  Bruno Haible  <bruno@clisp.org>
1436
1437         Fix documentation about math functions on MacOS X.
1438         * doc/posix-functions/exp2.texi: Don't say the function is missing on
1439         MacOS X 10.5.
1440         * doc/posix-functions/fdim.texi: Likewise.
1441         * doc/posix-functions/feclearexcept.texi: Likewise.
1442         * doc/posix-functions/fegetenv.texi: Likewise.
1443         * doc/posix-functions/fegetround.texi: Likewise.
1444         * doc/posix-functions/feholdexcept.texi: Likewise.
1445         * doc/posix-functions/feraiseexcept.texi: Likewise.
1446         * doc/posix-functions/fesetenv.texi: Likewise.
1447         * doc/posix-functions/fesetround.texi: Likewise.
1448         * doc/posix-functions/fetestexcept.texi: Likewise.
1449         * doc/posix-functions/feupdateenv.texi: Likewise.
1450         * doc/posix-functions/fmax.texi: Likewise.
1451         * doc/posix-functions/fmin.texi: Likewise.
1452         * doc/posix-functions/log2.texi: Likewise.
1453         * doc/posix-functions/modff.texi: Likewise.
1454         * doc/posix-functions/nan.texi: Likewise.
1455         * doc/posix-functions/nanf.texi: Likewise.
1456         * doc/posix-functions/nextafterf.texi: Likewise.
1457         * doc/posix-functions/remquo.texi: Likewise.
1458
1459 2011-10-07  Bruno Haible  <bruno@clisp.org>
1460
1461         modff: Drop assumption about library that defines modff.
1462         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
1463         AC_CHECK_FUNCS.
1464         * modules/modff (Files): Add m4/mathfunc.m4.
1465
1466 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
1467
1468         raise tests: Avoid a GCC warning.
1469         * tests/test-raise.c (handler): Use _Noreturn.
1470
1471 2011-10-07  Bruno Haible  <bruno@clisp.org>
1472
1473         Tests for module 'ldexpf'.
1474         * modules/ldexpf-tests: New file.
1475         * tests/test-ldexpf.c: New file.
1476
1477         New module 'ldexpf'.
1478         * lib/math.in.h (ldexpf): New declaration.
1479         * lib/ldexpf.c: New file.
1480         * m4/ldexpf.m4: New file.
1481         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
1482         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
1483         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
1484         * modules/ldexpf: New file.
1485         * tests/test-math-c++.cc: Check the declaration of ldexpf.
1486         * doc/posix-functions/ldexpf.texi: Mention the new module.
1487
1488 2011-10-06  Bruno Haible  <bruno@clisp.org>
1489
1490         frexpf: Work around problems on IRIX and mingw.
1491         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
1492         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
1493         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
1494         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
1495         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
1496         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
1497         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
1498
1499 2011-10-06  Bruno Haible  <bruno@clisp.org>
1500
1501         fabsf: Drop assumption about library that defines fabsf.
1502         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
1503         AC_CHECK_FUNCS.
1504         * modules/fabsf (Files): Add m4/mathfunc.m4.
1505
1506 2011-10-06  Bruno Haible  <bruno@clisp.org>
1507
1508         frexpf: Drop assumption about library that defines frexpf.
1509         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
1510         'int *', 'float *', 'long double *', 'float', 'long double'.
1511         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
1512         AC_CHECK_FUNCS.
1513         * modules/frexpf (Files): Add m4/mathfunc.m4.
1514
1515         Tests for module 'frexpf'.
1516         * modules/frexpf-tests: New file.
1517         * tests/test-frexpf.c: New file.
1518
1519         New module 'frexpf'.
1520         * lib/math.in.h (frexpf): New declaration.
1521         * lib/frexpf.c: New file.
1522         * m4/frexpf.m4: New file.
1523         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
1524         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
1525         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
1526         * modules/frexpf: New file.
1527         * tests/test-math-c++.cc: Check the declaration of frexpf.
1528         * doc/posix-functions/frexpf.texi: Mention the new module.
1529
1530 2011-10-06  Bruno Haible  <bruno@clisp.org>
1531
1532         math: Sort function declarations of math.in.h.
1533         * lib/math.in.h (frexp, logb): Move declarations.
1534
1535 2011-10-05  Bruno Haible  <bruno@clisp.org>
1536
1537         Tests for module 'modff'.
1538         * modules/modff-tests: New file.
1539         * tests/test-modff.c: New file.
1540
1541         New module 'modff'.
1542         * lib/math.in.h (modff): New declaration.
1543         * lib/modff.c: New file.
1544         * m4/modff.m4: New file.
1545         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
1546         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
1547         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
1548         * modules/modff: New file.
1549         * tests/test-math-c++.cc: Check the declaration of modff.
1550         * doc/posix-functions/modff.texi: Mention the new module.
1551
1552         modf tests: Make test sharper.
1553         * tests/test-modf.c (main): Strengthen upper bound.
1554
1555         modf: Use a .m4 file.
1556         * m4/modf.m4: New file.
1557         * modules/modf (Files): Add it.
1558         (configure.ac): Just invoke gl_FUNC_MODF.
1559
1560 2011-10-05  Bruno Haible  <bruno@clisp.org>
1561
1562         Tests for module 'fmodf'.
1563         * modules/fmodf-tests: New file.
1564         * tests/test-fmodf.c: New file.
1565
1566         New module 'fmodf'.
1567         * lib/math.in.h (fmodf): New declaration.
1568         * lib/fmodf.c: New file.
1569         * m4/fmodf.m4: New file.
1570         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
1571         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
1572         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
1573         * modules/fmodf: New file.
1574         * tests/test-math-c++.cc: Check the declaration of fmodf.
1575         * doc/posix-functions/fmodf.texi: Mention the new module.
1576
1577         fmod: Use a .m4 file.
1578         * m4/fmod.m4: New file.
1579         * modules/fmod (Files): Add it.
1580         (configure.ac): Just invoke gl_FUNC_FMOD.
1581
1582 2011-10-05  Bruno Haible  <bruno@clisp.org>
1583
1584         Tests for module 'fabsf'.
1585         * modules/fabsf-tests: New file.
1586         * tests/test-fabsf.c: New file.
1587
1588         New module 'fabsf'.
1589         * lib/math.in.h (fabsf): New declaration.
1590         * lib/fabsf.c: New file.
1591         * m4/fabsf.m4: New file.
1592         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
1593         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
1594         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
1595         * modules/fabsf: New file.
1596         * tests/test-math-c++.cc: Check the declaration of fabsf.
1597         * doc/posix-functions/fabsf.texi: Mention the new module.
1598
1599         fabs: Use a .m4 file.
1600         * m4/fabs.m4: New file.
1601         * modules/fabs (Files): Add it.
1602         (configure.ac): Just invoke gl_FUNC_FABS.
1603
1604 2011-10-05  Jim Meyering  <meyering@redhat.com>
1605
1606         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
1607         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
1608         ls -lL regression introduced in coreutils-8.12, it does so at the
1609         cost of an additional stat call in the common case.  Besides, now
1610         that the kernel change that prompted commit 95f7c57f has been reverted
1611         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
1612         we have no use for commit 95f7c57f, "file-has-acl: use
1613         acl_extended_file_nofollow if available".
1614
1615 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
1616
1617         file-has-acl: revert unintended change in behavior of ls -L
1618         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
1619         derived from...
1620         (file_has_acl): ...code here.  Call it.
1621         This problem was introduced with 2011-07-22 commit 95f7c57f,
1622         "file-has-acl: use acl_extended_file_nofollow if available".
1623         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
1624
1625 2011-10-03  Bruno Haible  <bruno@clisp.org>
1626
1627         poll: Avoid link errors on MSVC.
1628         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
1629         * modules/poll (Depends-on): Add sockets.
1630         (Link): New section.
1631         * NEWS: Mention the change.
1632         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
1633         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
1634         $(LIB_POLL) instead of $(LIBSOCKET).
1635
1636 2011-10-03  Bruno Haible  <bruno@clisp.org>
1637
1638         sys_select tests: Fix link error on MSVC 9.
1639         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
1640         with $(LIB_SELECT) instead of $(LIBSOCKET).
1641
1642 2011-10-03  Bruno Haible  <bruno@clisp.org>
1643
1644         sys_select: Fix compilation error on mingw.
1645         * lib/sys_select.in.h: On native Windows, include <io.h>.
1646
1647 2011-10-03  Bruno Haible  <bruno@clisp.org>
1648
1649         wmemset: Support for MSVC.
1650         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
1651         whether wmemset() exists.
1652
1653 2011-10-03  Bruno Haible  <bruno@clisp.org>
1654
1655         wmemmove: Support for MSVC.
1656         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
1657         whether wmemmove() exists.
1658
1659 2011-10-03  Bruno Haible  <bruno@clisp.org>
1660
1661         wmemcpy: Support for MSVC.
1662         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
1663         whether wmemcpy() exists.
1664
1665 2011-10-03  Bruno Haible  <bruno@clisp.org>
1666
1667         wmemcmp: Support for MSVC.
1668         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
1669         whether wmemcmp() exists.
1670
1671 2011-10-03  Bruno Haible  <bruno@clisp.org>
1672
1673         wmemchr: Support for MSVC.
1674         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
1675         whether wmemchr() exists.
1676
1677 2011-10-03  Bruno Haible  <bruno@clisp.org>
1678
1679         glthread/*, strsignal: Support for MSVC.
1680         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
1681         including <winsock.h> on MSVC 9.
1682         * lib/glthread/lock.h: Likewise.
1683         * lib/glthread/thread.h: Likewise.
1684         * lib/glthread/tls.h: Likewise.
1685         * lib/glthread/yield.h: Likewise.
1686         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
1687         if HAVE_UNISTD_H is false.
1688         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
1689
1690 2011-10-03  Bruno Haible  <bruno@clisp.org>
1691
1692         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
1693         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
1694         Set to 100000.
1695
1696 2011-10-03  Bruno Haible  <bruno@clisp.org>
1697
1698         acl: Fix specification.
1699         * lib/file-has-acl.c (file_has_acl): Fix specification.
1700
1701 2011-10-03  Bruno Haible  <bruno@clisp.org>
1702
1703         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
1704         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
1705         (compute_curr_prefix, shared_library_fullname,
1706         find_shared_library_fullname, get_shared_library_fullname, relocate):
1707         Use it together with PIC && INSTALLDIR.
1708         Reported by <jojelino@gmail.com>
1709         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
1710
1711 2011-10-01  Jim Meyering  <meyering@redhat.com>
1712
1713         maint.mk: adjust a release-related rule not to require use of gzip
1714         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
1715         Instead, check each file in $(DIST_ARCHIVES).  This is better for
1716         projects that build only .tar.xz files.  Also fix an erroneous test.
1717
1718         test-linkat: don't leave behind a temporary file
1719         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
1720         Otherwise, coreutils' "make distcheck" would fail with this:
1721           Only in /c/cu/tests/torture/coreutils/test/\
1722             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
1723           make[2]: *** [my-distcheck] Error 1
1724
1725         float, math: add omitted file
1726         * lib/itold.c: Add file, required for yesterday's float change.
1727
1728 2011-10-01  Bruno Haible  <bruno@clisp.org>
1729
1730         isinf: Fix for OpenBSD/x86.
1731         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
1732         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
1733         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
1734
1735 2011-10-01  Bruno Haible  <bruno@clisp.org>
1736
1737         isfinite: Fix syntax error in configure test.
1738         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
1739
1740         isfinite: Fix typo.
1741         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
1742         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
1743
1744 2011-10-01  Bruno Haible  <bruno@clisp.org>
1745
1746         nonblocking tests: Fix test failure on Linux/IA-64.
1747         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
1748         Set to 270000.
1749
1750 2011-10-01  Bruno Haible  <bruno@clisp.org>
1751
1752         mkfifoat tests: Fix a test failure on mingw.
1753         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
1754         with error ENOSYS.
1755
1756 2011-09-30  Bruno Haible  <bruno@clisp.org>
1757
1758         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
1759         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
1760         'long double'. Set REPLACE_ITOLD.
1761         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
1762         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
1763         * lib/itold.c: New file.
1764         * modules/float (Files): Add lib/itold.c.
1765         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
1766         (Makefile.am): Substitute REPLACE_ITOLD.
1767         * modules/math (Depends-on): Add float.
1768         (Makefile.am): Substitute REPLACE_ITOLD.
1769         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
1770         * doc/posix-headers/math.texi: Likewise.
1771         * doc/posix-functions/logl.texi: Likewise.
1772
1773 2011-09-30  Bruno Haible  <bruno@clisp.org>
1774
1775         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
1776         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
1777         Set to 140000.
1778
1779 2011-09-30  Bruno Haible  <bruno@clisp.org>
1780
1781         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
1782         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
1783         invocation, say "right after AC_PROG_CC_STDC", not "right after
1784         AC_PROG_CC".
1785         Reported by Gary V. Vaughan <gary@gnu.org>.
1786
1787 2011-09-30  Bruno Haible  <bruno@clisp.org>
1788
1789         Centralize C99 requirement.
1790         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
1791         * modules/stdarg (configure.ac-early): Invoke it instead of
1792         AC_PROG_CC_STDC.
1793         Reported by Gary V. Vaughan and Paul Eggert.
1794
1795 2011-09-29  Bruno Haible  <bruno@clisp.org>
1796
1797         float: Fix LDBL_MAX value on Linux/PowerPC.
1798         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
1799         on Linux/PowerPC.
1800         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
1801         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
1802         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
1803         platform.
1804         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
1805
1806 2011-09-29  Bruno Haible  <bruno@clisp.org>
1807
1808         doc: Improve doc about gl_EARLY.
1809         * doc/gnulib-tool.texi (Initial import): Mention where to place an
1810         AC_PROG_CC_STDC invocation.
1811         Reported by Gary V. Vaughan <gary@gnu.org>.
1812
1813 2011-09-28  Bruno Haible  <bruno@clisp.org>
1814
1815         fgetc, fputc, fread, fwrite tests: Fix link error.
1816         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
1817         on non-MSVC platforms.
1818         * tests/test-fputc.c (main): Likewise.
1819         * tests/test-fread.c (main): Likewise.
1820         * tests/test-fwrite.c (main): Likewise.
1821         Reported by Jim Meyering.
1822
1823 2011-09-27  Bruno Haible  <bruno@clisp.org>
1824
1825         fputc, fwrite tests: Avoid test failure on MSVC.
1826         * tests/test-fgetc.c: Include msvc-inval.h.
1827         (main): Invoke gl_msvc_inval_ensure_handler.
1828         * tests/test-fputc.c: Include msvc-inval.h.
1829         (main): Invoke gl_msvc_inval_ensure_handler.
1830         * tests/test-fread.c: Include msvc-inval.h.
1831         (main): Invoke gl_msvc_inval_ensure_handler.
1832         * tests/test-fwrite.c: Include msvc-inval.h.
1833         (main): Invoke gl_msvc_inval_ensure_handler.
1834         * modules/fgetc-tests (Depends-on): Add msvc-inval.
1835         * modules/fputc-tests (Depends-on): Likewise.
1836         * modules/fread-tests (Depends-on): Likewise.
1837         * modules/fwrite-tests (Depends-on): Likewise.
1838
1839 2011-09-27  Bruno Haible  <bruno@clisp.org>
1840
1841         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
1842         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
1843         (raise): Remove older, duplicated declaration.
1844         (_gl_raise_SIGPIPE): New declaration.
1845         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
1846         (rpl_raise): Remove function.
1847         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
1848         a gnulib-defined SIGPIPE here.
1849         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
1850         'sigprocmask' has detected missing signal-blocking and the module
1851         'sigpipe' is enabled.
1852         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
1853
1854 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
1855
1856         base64-tests: avoid memory leak
1857         * tests/test-base64.c (main): Plug memory leak.
1858
1859         base32: new module
1860         * modules/base32: New module.
1861         * lib/base32.c: New file.
1862         * lib/base32.h: Likewise.
1863         * m4/base32.m4: Likewise.
1864         * modules/base32-tests: New test.
1865         * tests/test-base32.c: Likewise.
1866         * MODULES.html.sh (Misc): Mention it.
1867
1868 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
1869
1870         gnulib: use more-standard license notice wording
1871         * gnulib-tool (func_emit_copyright_notice): When emitting a
1872         license notice into a file, use the standard wording as suggested
1873         by the current information for GNU maintainers, except say "file"
1874         rather than "program".  The new wording gives a license version
1875         number, which addresses an issue raised by Glenn Morris in
1876         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
1877         * m4/onceonly.m4: Use that same wording here, too.
1878
1879         dup2: minor simplification
1880         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
1881         as lib/dup2.c no longer uses 'inline'.
1882
1883 2011-09-25  Bruno Haible  <bruno@clisp.org>
1884
1885         strings: Fix compilation error on MSVC.
1886         * lib/strings.in.h: Include <stddef.h> for size_t.
1887
1888 2011-09-25  Bruno Haible  <bruno@clisp.org>
1889
1890         fflush et al.: Document limitation on MSVC.
1891         * doc/posix-functions/fflush.texi: Document possible crash in handling
1892         mode other than DEFAULT_HANDLING.
1893         * doc/posix-functions/fgetc.texi: Likewise.
1894         * doc/posix-functions/fputc.texi: Likewise.
1895         * doc/posix-functions/fread.texi: Likewise.
1896         * doc/posix-functions/fwrite.texi: Likewise.
1897
1898 2011-09-25  Bruno Haible  <bruno@clisp.org>
1899
1900         msvc-inval: Allow three invalid parameter handling modes.
1901         * lib/msvc-inval.h: Don't include <stdlib.h> here.
1902         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
1903         macros.
1904         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
1905         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
1906         SANE_LIBRARY_HANDLING as a no-op.
1907         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
1908         <stdlib.h>.
1909         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
1910
1911 2011-09-25  Bruno Haible  <bruno@clisp.org>
1912
1913         msvc-inval: Make handler multithread-safe.
1914         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
1915         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
1916         declarations.
1917         (gl_msvc_inval_current): New declaration.
1918         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
1919         Operate on the structure returned by gl_msvc_inval_current().
1920         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
1921         Remove varaiables.
1922         (tls_index, tls_initialized): New variables.
1923         (not_per_thread): New variable.
1924         (gl_msvc_inval_current): New function.
1925         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
1926         returned by gl_msvc_inval_current().
1927
1928 2011-09-25  Bruno Haible  <bruno@clisp.org>
1929
1930         msvc-inval: Install handler globally.
1931         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
1932         !_MSC_VER.
1933         (gl_msvc_invalid_parameter_handler): Remove declaration.
1934         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
1935         declarations.
1936         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
1937         Install the handler globally, don't uninstall it.
1938         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
1939         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
1940         currently valid, call RaiseException instead.
1941         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
1942         for !_MSC_VER.
1943
1944 2011-09-25  Bruno Haible  <bruno@clisp.org>
1945
1946         strerror_r-posix: Fix for MSVC 9.
1947         * lib/strerror_r.c (local_snprintf): New function.
1948         (snprintf): Define to local_snprintf, not to _snprintf.
1949
1950 2011-09-25  Bruno Haible  <bruno@clisp.org>
1951
1952         ftruncate: Support for MSVC 9.
1953         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
1954         (chsize_nothrow): New function.
1955         (chsize): Redefine as a macro.
1956         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
1957         * modules/ftruncate (Depends-on): Add msvc-inval.
1958
1959 2011-09-25  Bruno Haible  <bruno@clisp.org>
1960
1961         New module 'fstat'.
1962         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
1963         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
1964         * lib/fchdir.c (rpl_fstat): Remove function.
1965         * m4/fstat.m4: New file.
1966         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
1967         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
1968         declared.
1969         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
1970         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
1971         * modules/fstat: New file.
1972         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
1973         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
1974         is set.
1975         * doc/posix-functions/fstat.texi: Mention the new module and the
1976         problem on MSVC.
1977         * NEWS: Mention the change.
1978         * modules/acl (Depends-on): Add fstat.
1979         * modules/chdir-safer (Depends-on): Likewise.
1980         * modules/chown (Depends-on): Likewise.
1981         * modules/copy-file (Depends-on): Likewise.
1982         * modules/fchdir (Depends-on): Likewise.
1983         * modules/fdopendir (Depends-on): Likewise.
1984         * modules/fopen (Depends-on): Likewise.
1985         * modules/fts (Depends-on): Likewise.
1986         * modules/getcwd (Depends-on): Likewise.
1987         * modules/isapipe (Depends-on): Likewise.
1988         * modules/linkat (Depends-on): Likewise.
1989         * modules/lseek (Depends-on): Likewise.
1990         * modules/mkdir-p (Depends-on): Likewise.
1991         * modules/open (Depends-on): Likewise.
1992         * modules/openat (Depends-on): Likewise.
1993         * modules/read-file (Depends-on): Likewise.
1994         * modules/renameat (Depends-on): Likewise.
1995         * modules/utimens (Depends-on): Likewise.
1996
1997 2011-09-25  Bruno Haible  <bruno@clisp.org>
1998
1999         linkat: Fix compilation on MSVC 9.
2000         * lib/linkat.c: Don't include <stdint.h>.
2001
2002 2011-09-25  Bruno Haible  <bruno@clisp.org>
2003
2004         fclose: Support for MSVC 9.
2005         * lib/fclose.c: Include msvc-inval.h.
2006         (fclose_nothrow): New function.
2007         (rpl_fclose): Use it.
2008         * modules/fclose (Depends-on): Add msvc-inval.
2009         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
2010
2011 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2012
2013         dup2: minor simplifications
2014         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
2015         that it's a performance win.
2016         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
2017         ! defined __CYGWIN__)" to "ifdef F_GETFL".
2018
2019 2011-09-24  Jim Meyering  <meyering@redhat.com>
2020
2021         test-futimens: avoid a warning from gcc -Wshadow
2022         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
2023         to avoid a shadowing warning.
2024
2025 2011-09-24  Bruno Haible  <bruno@clisp.org>
2026
2027         fdopen: Support for MSVC 9.
2028         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
2029         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
2030         * lib/fdopen.c: Include msvc-inval.h.
2031         (fdopen_nothrow): New function.
2032         (rpl_fdopen): Use it.
2033         * modules/fdopen (Depends-on): Add msvc-inval.
2034         * modules/fclose-tests (Depends-on): Add fdopen.
2035         * modules/fflush-tests (Depends-on): Likewise.
2036         * modules/fgetc-tests (Depends-on): Likewise.
2037         * modules/fputc-tests (Depends-on): Likewise.
2038         * modules/fread-tests (Depends-on): Likewise.
2039         * modules/freopen-tests (Depends-on): Likewise.
2040         * modules/fseeko-tests (Depends-on): Likewise.
2041         * modules/ftello-tests (Depends-on): Likewise.
2042         * modules/fwrite-tests  (Depends-on): Likewise.
2043         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
2044
2045 2011-09-24  Bruno Haible  <bruno@clisp.org>
2046
2047         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
2048         * modules/fgetc-tests (Depends-on): Add unistd.
2049         * modules/fputc-tests (Depends-on): Likewise.
2050         * modules/fread-tests (Depends-on): Likewise.
2051         * modules/fwrite-tests (Depends-on): Likewise.
2052
2053 2011-09-24  Bruno Haible  <bruno@clisp.org>
2054
2055         dup: Simplify autoconf test.
2056         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
2057         on gl_MSVC_INVAL's result.
2058
2059 2011-09-24  Bruno Haible  <bruno@clisp.org>
2060
2061         Tests for function fwrite().
2062         * modules/fwrite-tests: New file.
2063         * tests/test-fwrite.c: New file.
2064         * modules/stdio-tests (Depends-on): Add fwrite-tests.
2065
2066         Tests for function fread().
2067         * modules/fread-tests: New file.
2068         * tests/test-fread.c: New file.
2069         * modules/stdio-tests (Depends-on): Add fread-tests.
2070
2071         Activate fputc tests.
2072         * modules/stdio-tests (Depends-on): Add fputc-tests.
2073
2074         Enhance fgetc, fputc tests.
2075         * tests/test-fgetc.c (main): Also test the stream's error indicator.
2076         * tests/test-fputc.c (main): Likewise.
2077
2078 2011-09-24  Bruno Haible  <bruno@clisp.org>
2079
2080         write: Support for MSVC 9.
2081         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2082         is not 1.
2083         * lib/write.c (write_nothrow): New function.
2084         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
2085         not 1. Use write_nothrow.
2086         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
2087         invalid parameter handler.
2088         (gl_PREREQ_WRITE): New macro.
2089         * modules/write (Depends-on): Add msvc-inval.
2090         (configure.ac): Invoke gl_PREREQ_WRITE.
2091         * doc/posix-functions/write.texi: Mention the problem on MSVC.
2092
2093 2011-09-24  Bruno Haible  <bruno@clisp.org>
2094
2095         read: Fix last commit.
2096         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
2097
2098 2011-09-24  Bruno Haible  <bruno@clisp.org>
2099
2100         dup2: Fix last commit.
2101         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
2102         (rpl_dup2): Disable fcntl workaround on native Windows.
2103
2104         sigprocmask: Make code safer.
2105         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
2106         section that changes macro definitions for this compilation unit.
2107
2108 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
2109
2110         dup2: clarify by coalescing Windows-specific material
2111         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
2112         "msvc-nothrow.h"' to the Windows-specific section, so that the
2113         Emacs source need not contain these include files.
2114         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
2115         Windows-specific fixes into this function rather than just the
2116         nothrow fix, as this shortens and clarifies the code.  Always
2117         define as a function, as that's a bit cleaner than having it be
2118         sometimes a function and sometimes a macro.
2119         (rpl_dup2): Move the Windows-specific stuff out of here and into
2120         ms_windows_dup2.  Don't protect the Haiku-related fix with
2121         "#if !defined __linux__", as the same code also works around
2122         a Linux kernel bug, and it doesn't add any system calls on any
2123         platform.  Add comment about FreeBSD 6.1.
2124
2125         sigprocmask: move #include directive
2126         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
2127         Windows-specific section, so that the Emacs source need not
2128         contain msvc-inval.h.
2129
2130 2011-09-23  Bruno Haible  <bruno@clisp.org>
2131
2132         read: Support for MSVC 9.
2133         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2134         is not 1.
2135         * lib/read.c (read_nothrow): New function.
2136         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
2137         read_nothrow.
2138         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
2139         invalid parameter handler.
2140         (gl_PREREQ_READ): New macro.
2141         * modules/read (Depends-on): Add msvc-inval.
2142         (configure.ac): Invoke gl_PREREQ_READ.
2143         * doc/posix-functions/read.texi: Mention the problem on MSVC.
2144
2145 2011-09-23  Bruno Haible  <bruno@clisp.org>
2146
2147         close: Support for MSVC 9.
2148         * lib/close.c: Include <errno.h>, msvc-inval.h.
2149         (close_nothrow): New function.
2150         (rpl_close): Use it.
2151         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
2152         invalid parameter handler.
2153         * modules/close (Depends-on): Add msvc-inval.
2154         * modules/dup2-tests (Depends-on): Add close.
2155         * modules/dup3-tests (Depends-on): Likewise.
2156         * modules/fcntl-tests (Depends-on): Likewise.
2157         * modules/spawn-pipe-tests (Depends-on): Likewise.
2158         * modules/unistd-safer-tests (Depends-on): Likewise.
2159         * doc/posix-functions/close.texi: Mention the problem on MSVC.
2160
2161 2011-09-23  Bruno Haible  <bruno@clisp.org>
2162
2163         New module 'dup'.
2164         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
2165         Allow replacement.
2166         * lib/dup.c: New file.
2167         * lib/fchdir.c (rpl_dup): Remove function.
2168         * m4/dup.m4: New file.
2169         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
2170         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
2171         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
2172         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
2173         * modules/dup: New file.
2174         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
2175         'dup' module is in use.
2176         * modules/fdopendir (Depends-on): Add dup.
2177         * modules/fdutimensat-tests (Depends-on): Likewise.
2178         * modules/fts (Depends-on): Likewise.
2179         * modules/futimens-tests (Depends-on): Likewise.
2180         * modules/posix_spawnp-tests (Depends-on): Likewise.
2181         * modules/unistd-safer-tests (Depends-on): Likewise.
2182         * modules/utimens-tests (Depends-on): Likewise.
2183         * doc/posix-functions/dup.texi: Mention the new module and the problem
2184         on MSVC.
2185
2186 2011-09-23  Bruno Haible  <bruno@clisp.org>
2187
2188         getdtablesize: Support for MSVC 9.
2189         * lib/getdtablesize.c: Include msvc-inval.h.
2190         (_setmaxstdio_nothrow): New function.
2191         (_setmaxstdio): Redefine it.
2192         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
2193         * modules/getdtablesize (Depends-on): Add msvc-inval.
2194         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
2195
2196 2011-09-23  Bruno Haible  <bruno@clisp.org>
2197
2198         signal-h: Rename from signal.
2199         * modules/signal-h: Renamed from modules/signal.
2200         * modules/pthread_sigmask (Depends-on): Update.
2201         * modules/raise (Depends-on): Likewise.
2202         * modules/sigaction (Depends-on): Likewise.
2203         * modules/sigpipe (Depends-on): Likewise.
2204         * modules/sigprocmask (Depends-on): Likewise.
2205         * modules/sys_select (Depends-on): Likewise.
2206         * modules/signal-h-tests: Renamed from modules/signal-tests.
2207         (Files, Depends-on, Makefile.am): Update.
2208         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
2209         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
2210         (Files, Makefile.am): Update.
2211         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
2212         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
2213         * modules/signal: New placeholder file.
2214         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
2215         * doc/posix-headers/signal.texi: Update.
2216         * NEWS: Mention the change.
2217
2218 2011-09-23  Bruno Haible  <bruno@clisp.org>
2219
2220         sigprocmask: Avoid crashes through signal() on MSVC 9.
2221         * lib/sigprocmask.c: Include msvc-inval.h.
2222         (signal_nothrow): New function.
2223         (signal): Redefine it.
2224         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
2225         * modules/sigprocmask (Depends-on): Add msvc-inval.
2226         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
2227
2228 2011-09-23  Bruno Haible  <bruno@clisp.org>
2229
2230         Tests for module 'raise'.
2231         * modules/raise-tests: New file.
2232         * tests/test-raise.c: New file.
2233
2234         raise: Support for MSVC.
2235         * lib/signal.in.h (raise): New declaration.
2236         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
2237         for native Windows platforms.
2238         * m4/raise.m4: New file.
2239         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
2240         HAVE_RAISE, REPLACE_RAISE.
2241         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
2242         REPLACE_RAISE.
2243         * modules/raise (Status, Notice): Remove fields.
2244         (Files): Add m4/raise.m4.
2245         (Depends-on): Add signal, msvc-inval.
2246         (configure.ac): Use the common idioms.
2247         (Maintainer): Add me.
2248         * tests/test-signal-c++.cc: Check the signature of raise.
2249         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
2250
2251 2011-09-23  Bruno Haible  <bruno@clisp.org>
2252
2253         pipe2: Fix compilation on pre-C99 compilers.
2254         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
2255
2256 2011-09-23  Bruno Haible  <bruno@clisp.org>
2257
2258         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
2259         * lib/msvc-nothrow.h: New file.
2260         * lib/msvc-nothrow.c: New file.
2261         * m4/msvc-nothrow.m4: New file.
2262         * modules/msvc-nothrow: New file.
2263         * lib/dup2.c: Include msvc-nothrow.h.
2264         (rpl_dup2): No need to protect _get_osfhandle call here.
2265         * lib/accept4.c: Include msvc-nothrow.h.
2266         * lib/error.c: Likewise.
2267         * lib/fcntl.c: Likewise.
2268         * lib/lseek.c: Likewise.
2269         * lib/nonblocking.c: Likewise.
2270         * lib/poll.c: Likewise.
2271         * lib/read.c: Likewise.
2272         * lib/select.c: Likewise.
2273         * lib/sockets.h: Likewise.
2274         * lib/sockets.c: Likewise.
2275         * lib/stdio-read.c: Likewise.
2276         * lib/stdio-write.c: Likewise.
2277         * lib/write.c: Likewise.
2278         * lib/w32sock.h: Likewise.
2279         * lib/w32spawn.h: Likewise.
2280         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
2281         * lib/fsync.c: Likewise.
2282         * lib/isapipe.c: Likewise.
2283         * modules/dup2 (Depends-on): Add msvc-nothrow.
2284         * modules/accept4 (Depends-on): Likewise.
2285         * modules/error (Depends-on): Likewise.
2286         * modules/fcntl (Depends-on): Likewise.
2287         * modules/lseek (Depends-on): Likewise.
2288         * modules/nonblocking (Depends-on): Likewise.
2289         * modules/poll (Depends-on): Likewise.
2290         * modules/read (Depends-on): Likewise.
2291         * modules/select (Depends-on): Likewise.
2292         * modules/sockets (Depends-on): Likewise.
2293         * modules/sigpipe (Depends-on): Likewise.
2294         * modules/write (Depends-on): Likewise.
2295         * modules/accept (Depends-on): Likewise.
2296         * modules/bind (Depends-on): Likewise.
2297         * modules/connect (Depends-on): Likewise.
2298         * modules/gethostname (Depends-on): Likewise.
2299         * modules/getpeername (Depends-on): Likewise.
2300         * modules/getsockname (Depends-on): Likewise.
2301         * modules/getsockopt (Depends-on): Likewise.
2302         * modules/ioctl (Depends-on): Likewise.
2303         * modules/listen (Depends-on): Likewise.
2304         * modules/recv (Depends-on): Likewise.
2305         * modules/recvfrom (Depends-on): Likewise.
2306         * modules/send (Depends-on): Likewise.
2307         * modules/sendto (Depends-on): Likewise.
2308         * modules/setsockopt (Depends-on): Likewise.
2309         * modules/shutdown (Depends-on): Likewise.
2310         * modules/socket (Depends-on): Likewise.
2311         * modules/execute (Depends-on): Likewise.
2312         * modules/spawn-pipe (Depends-on): Likewise.
2313         * modules/flock (Depends-on): Likewise.
2314         * modules/fsync (Depends-on): Likewise.
2315         * modules/isapipe (Depends-on): Likewise.
2316         * tests/test-cloexec.c: Include msvc-nothrow.h.
2317         * tests/test-dup-safer.c: Likewise.
2318         * tests/test-dup2.c: Likewise.
2319         * tests/test-dup3.c: Likewise.
2320         * tests/test-fcntl.c: Likewise.
2321         * tests/test-pipe.c: Likewise.
2322         * tests/test-pipe2.c: Likewise.
2323         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
2324         * modules/unistd-safer-tests (Depends-on): Likewise.
2325         * modules/dup2-tests (Depends-on): Likewise.
2326         * modules/dup3-tests (Depends-on): Likewise.
2327         * modules/fcntl-tests (Depends-on): Likewise.
2328         * modules/pipe-posix-tests (Depends-on): Likewise.
2329         * modules/pipe2-tests (Depends-on): Likewise.
2330
2331 2011-09-23  Bruno Haible  <bruno@clisp.org>
2332
2333         dup2: Make code more maintainable.
2334         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
2335         (rpl_dup2): Use it.
2336         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
2337         * modules/dup2 (configure.ac): Invoke it.
2338         Reported by Paul Eggert.
2339
2340 2011-09-23  Bruno Haible  <bruno@clisp.org>
2341
2342         msvc-inval: Fix compilation error.
2343         * lib/msvc-inval.h: Include <excpt.h>.
2344
2345 2011-09-23  Bruno Haible  <bruno@clisp.org>
2346
2347         mkdir: Tweak for MSVC 9.
2348         * lib/sys_stat.in.h: Update comments.
2349         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
2350
2351         Tests for module 'chdir'.
2352         * modules/chdir-tests: New file.
2353         * tests/test-chdir.c: New file.
2354
2355         New module 'chdir'.
2356         * modules/chdir: New file.
2357         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
2358         (chdir): New declaration.
2359         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
2360         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
2361         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
2362         * tests/test-unistd-c++.cc: Check signature of chdir.
2363         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
2364         * modules/chdir-long (Depends-on): Add chdir.
2365         * modules/fchdir (Depends-on): Likewise.
2366         * modules/rename (Depends-on): Likewise.
2367         * modules/savewd (Depends-on): Likewise.
2368
2369         rmdir: Support for mingw, MSVC 9.
2370         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
2371         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
2372
2373         getcwd: Tweak for MSVC 9.
2374         * lib/unistd.in.h: Update comments.
2375         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
2376
2377 2011-09-22  Bruno Haible  <bruno@clisp.org>
2378
2379         strerror_r-posix: Avoid a link error on MSVC.
2380         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
2381         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
2382
2383 2011-09-22  Bruno Haible  <bruno@clisp.org>
2384
2385         select: Avoid link errors on MSVC.
2386         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
2387         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
2388         * modules/pselect (Link): Likewise.
2389         * NEWS: Mention the change.
2390         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
2391         test-select-stdin against $(LIB_SELECT).
2392         * modules/pselect-tests (Makefile.am): Link test-pselect against
2393         $(LIB_SELECT).
2394
2395 2011-09-22  Bruno Haible  <bruno@clisp.org>
2396
2397         select: Avoid compilation error on MSVC.
2398         * lib/select.c: Don't include <stdbool.h>.
2399
2400 2011-09-21  Bruno Haible  <bruno@clisp.org>
2401
2402         Consolidate all uses of PATH_MAX in *.m4 files.
2403         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
2404         macros.
2405         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
2406         and gl_PATHMAX_SNIPPET.
2407         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
2408         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
2409         * modules/chdir-long (Files): Add m4/pathmax.m4.
2410         * modules/getcwd (Files): Likewise.
2411
2412 2011-09-21  Bruno Haible  <bruno@clisp.org>
2413
2414         ftruncate: Un-deprecate, concentrate on Win32 support.
2415         * modules/ftruncate (Status, Notice): Remove sections.
2416         (Depends-on): Add largefile.
2417         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
2418         non-mingw platforms.
2419         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
2420         include <io.h>.
2421         * modules/perror-tests (Depends-on): Add ftruncate.
2422         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
2423         'ftruncate' module.
2424
2425 2011-09-21  Bruno Haible  <bruno@clisp.org>
2426
2427         Add dependencies to new dirent related modules.
2428         * modules/opendir (Depends-on): Add closedir.
2429         * modules/getcwd (Depends-on): Add opendir, closedir.
2430         * modules/dirent-safer-tests (Depends-on): Likewise.
2431         * modules/fdopendir-tests (Depends-on): Likewise.
2432         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
2433         * modules/renameat-tests (Depends-on): Likewise.
2434
2435 2011-09-21  Bruno Haible  <bruno@clisp.org>
2436
2437         opendir: Avoid compilation error on mingw.
2438         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
2439         * modules/opendir (Depends-on): Add unistd.
2440
2441 2011-09-21  Bruno Haible  <bruno@clisp.org>
2442
2443         ftruncate tests: Avoid a test failure on mingw.
2444         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
2445
2446 2011-09-21  Bruno Haible  <bruno@clisp.org>
2447
2448         select tests: Avoid test failures on OSF/1 5.1 and mingw.
2449         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
2450         native Windows.
2451
2452 2011-09-21  Bruno Haible  <bruno@clisp.org>
2453
2454         New module 'fdopen'.
2455         * lib/stdio.in.h (fdopen): New declaration.
2456         * lib/fdopen.c: New file.
2457         * m4/fdopen.m4: New file.
2458         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
2459         REPLACE_FDOPEN.
2460         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
2461         REPLACE_FDOPEN.
2462         * modules/fdopen: New file.
2463         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
2464         * tests/test-stdio-c++.cc: Check signature of fdopen.
2465         * doc/posix-functions/fdopen.texi: Mention the new module.
2466
2467 2011-09-21  Bruno Haible  <bruno@clisp.org>
2468
2469         unlockpt tests: Avoid test failure on NetBSD 5.1.
2470         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
2471         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
2472
2473 2011-09-21  Bruno Haible  <bruno@clisp.org>
2474
2475         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
2476         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
2477         * tests/test-getlogin_r.c (main): Likewise.
2478
2479 2011-09-20  Bruno Haible  <bruno@clisp.org>
2480
2481         time tests: Don't require pid_t.
2482         * doc/posix-headers/time.texi: Revert last change.
2483         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
2484         * tests/test-time.c: Comment out the check for pid_t.
2485
2486 2011-09-20  Bruno Haible  <bruno@clisp.org>
2487
2488         fsync tests: Avoid a test failure on mingw.
2489         * tests/test-fsync.c (main): Allow a failure with EIO.
2490
2491 2011-09-20  Bruno Haible  <bruno@clisp.org>
2492
2493         euidaccess: Update comments.
2494         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
2495
2496 2011-09-20  Bruno Haible  <bruno@clisp.org>
2497
2498         Ensure EBADF returns for socket functions on mingw.
2499         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
2500         descriptor is invalid.
2501         * lib/bind.c (rpl_bind): Likewise.
2502         * lib/connect.c (rpl_connect): Likewise.
2503         * lib/getpeername.c (rpl_getpeername): Likewise.
2504         * lib/getsockname.c (rpl_getsockname): Likewise.
2505         * lib/getsockopt.c (rpl_getsockopt): Likewise.
2506         * lib/listen.c (rpl_listen): Likewise.
2507         * lib/recv.c (rpl_recv): Likewise.
2508         * lib/recvfrom.c (rpl_recvfrom): Likewise.
2509         * lib/send.c (rpl_send): Likewise.
2510         * lib/sendto.c (rpl_sendto): Likewise.
2511         * lib/setsockopt.c (rpl_setsockopt): Likewise.
2512         * lib/shutdown.c (rpl_shutdown): Likewise.
2513
2514 2011-09-20  Bruno Haible  <bruno@clisp.org>
2515
2516         select tests: EBADF tests.
2517         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
2518         test_bad_fd): New functions.
2519         (test_function): Invoke also test_bad_fd.
2520
2521 2011-09-20  Bruno Haible  <bruno@clisp.org>
2522
2523         Tests for module 'posix_spawn_file_actions_addopen.
2524         * modules/posix_spawn_file_actions_addopen-tests: New file.
2525         * tests/test-posix_spawn_file_actions_addopen.c: New file.
2526
2527         Tests for module 'posix_spawn_file_actions_adddup2'.
2528         * modules/posix_spawn_file_actions_adddup2-tests: New file.
2529         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
2530
2531         Tests for module 'posix_spawn_file_actions_addclose'.
2532         * modules/posix_spawn_file_actions_addclose-tests: New file.
2533         * tests/test-posix_spawn_file_actions_addclose.c: New file.
2534
2535 2011-09-20  Bruno Haible  <bruno@clisp.org>
2536
2537         Tests for module 'unlockpt'.
2538         * modules/unlockpt-tests: New file.
2539         * tests/test-unlockpt.c: New file.
2540         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
2541
2542         Tests for module 'grantpt'.
2543         * modules/grantpt-tests: New file.
2544         * tests/test-grantpt.c: New file.
2545         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
2546
2547 2011-09-20  Bruno Haible  <bruno@clisp.org>
2548
2549         freopen tests: EBADF tests.
2550         * tests/test-freopen.c: Include errno.h, unistd.h.
2551         (main): Add tests for EBADF, commented out for the moment.
2552
2553         fclose tests: EBADF tests.
2554         * tests/test-fclose.c (main): Add tests for EBADF.
2555
2556         fflush tests: EBADF tests.
2557         * tests/test-fflush.c: Include errno.h, macros.h.
2558         (main): Add tests for EBADF.
2559
2560         ftello tests: EBADF tests.
2561         * tests/test-ftello4.sh: New file.
2562         * tests/test-ftello4.c: New file.
2563         * modules/ftello-tests (Files): Add them.
2564         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
2565
2566         fseeko tests: EBADF tests.
2567         * tests/test-fseeko4.sh: New file.
2568         * tests/test-fseeko4.c: New file.
2569         * modules/fseeko-tests (Files): Add them.
2570         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
2571
2572         Tests for function fputc().
2573         * modules/fputc-tests: New file.
2574         * tests/test-fputc.c: New file.
2575         * modules/stdio-tests (Depends-on): Add fputc-tests.
2576
2577         Tests for function fgetc().
2578         * modules/fgetc-tests: New file.
2579         * tests/test-fgetc.c: New file.
2580         * modules/stdio-tests (Depends-on): Add fgetc-tests.
2581
2582         Tests for function fdopen().
2583         * modules/fdopen-tests: New file.
2584         * tests/test-fdopen.c: New file.
2585         * modules/stdio-tests (Depends-on): Add fdopen-tests.
2586
2587         Tests for module 'vdprintf'.
2588         * modules/vdprintf-tests: New file.
2589         * tests/test-vdprintf.c: New file.
2590
2591         Tests for module 'dprintf'.
2592         * modules/dprintf-tests: New file.
2593         * tests/test-dprintf.c: New file.
2594
2595 2011-09-20  Bruno Haible  <bruno@clisp.org>
2596
2597         Tests for module 'ioctl'.
2598         * modules/ioctl-tests: New file.
2599         * tests/test-ioctl.c: New file.
2600
2601 2011-09-20  Bruno Haible  <bruno@clisp.org>
2602
2603         fcntl tests: EBADF tests.
2604         * tests/test-fcntl.c (main): Add more tests for EBADF.
2605
2606 2011-09-20  Bruno Haible  <bruno@clisp.org>
2607
2608         utimensat tests: EBADF tests.
2609         * tests/test-utimensat.c (main): Add tests for EBADF.
2610
2611         renameat tests: EBADF tests.
2612         * tests/test-renameat.c (main): Add tests for EBADF.
2613
2614         mkfifoat tests: EBADF tests.
2615         * tests/test-mkfifoat.c (main): Add tests for EBADF.
2616
2617         readlinkat tests: EBADF tests.
2618         * tests/test-readlinkat.c (main): Add tests for EBADF.
2619
2620         symlinkat tests: EBADF tests.
2621         * tests/test-symlinkat.c (main): Add tests for EBADF.
2622
2623         linkat tests: EBADF tests.
2624         * tests/test-linkat.c (main): Add tests for EBADF.
2625
2626         Tests for module 'faccessat'.
2627         * modules/faccessat-tests: New file.
2628         * tests/test-faccessat.c: New file.
2629
2630         fdopendir tests: EBADF tests.
2631         * tests/test-fdopendir.c (main): Add more tests for EBADF.
2632
2633         openat tests: EBADF tests.
2634         * tests/test-fchownat.c (main): Add tests for EBADF.
2635         * tests/test-fstatat.c (main): Likewise.
2636         * tests/test-mkdirat.c (main): Likewise.
2637         * tests/test-openat.c (main): Likewise.
2638         * tests/test-unlinkat.c (main): Likewise.
2639         * tests/test-fchmodat.c: New file.
2640         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
2641         (Makefile.am): Also run 'test-fchmodat'.
2642
2643 2011-09-20  Bruno Haible  <bruno@clisp.org>
2644
2645         utimens, futimens, fdutimensat tests: EBADF tests.
2646         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
2647
2648         Tests for function fstat().
2649         * modules/fstat-tests: New file.
2650         * tests/test-fstat.c: New file.
2651         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
2652
2653 2011-09-20  Bruno Haible  <bruno@clisp.org>
2654
2655         test-ttyname_r tests: EBADF tests.
2656         * tests/test-ttyname_r.c (main): Add tests for EBADF.
2657
2658         Tests for module 'isatty'.
2659         * modules/isatty-tests: New file.
2660         * tests/test-isatty.c: New file.
2661
2662         Tests for module 'write'.
2663         * modules/write-tests: New file.
2664         * tests/test-write.c: New file.
2665
2666         Tests for module 'read'.
2667         * modules/read-tests: New file.
2668         * tests/test-read.c: New file.
2669
2670         pwrite tests: EBADF tests.
2671         * tests/test-pwrite.c (main): Add tests for EBADF.
2672
2673         pread tests: EBADF tests.
2674         * tests/test-pread.c (main): Add tests for EBADF.
2675
2676         lseek tests: EBADF tests.
2677         * tests/test-lseek.c (main): Add more tests for EBADF.
2678
2679         Tests for module 'ftruncate'.
2680         * modules/ftruncate-tests: New file.
2681         * tests/test-ftruncate.sh: New file.
2682         * tests/test-ftruncate.c: New file.
2683
2684         fsync tests: EBADF tests.
2685         * tests/test-fsync.c (main): Add more tests for EBADF.
2686
2687         fdatasync tests: EBADF tests.
2688         * tests/test-fdatasync.c (main): Add more tests for EBADF.
2689
2690         Tests for module 'fchown'.
2691         * modules/fchown-tests: New file.
2692         * tests/test-fchown.c: New file.
2693
2694         Tests for module 'fchmod'.
2695         * modules/fchmod-tests: New file.
2696         * tests/test-fchmod.c: New file.
2697
2698         fchdir tests: EBADF tests.
2699         * tests/test-fchdir.c (main): Add more tests for EBADF.
2700
2701         dup2 tests: EBADF tests.
2702         * tests/test-dup2.c (main): Add more tests for EBADF.
2703
2704         Tests for module 'dup'.
2705         * modules/dup-tests: New file.
2706         * tests/test-dup.c: New file.
2707
2708         Tests for module 'close'.
2709         * modules/close-tests: New file.
2710         * tests/test-close.c: New file.
2711
2712 2011-09-20  Bruno Haible  <bruno@clisp.org>
2713
2714         Tests for module 'shutdown'.
2715         * modules/shutdown-tests: New file.
2716         * tests/test-shutdown.c: New file.
2717
2718         Tests for module 'setsockopt'.
2719         * modules/setsockopt-tests: New file.
2720         * tests/test-setsockopt.c: New file.
2721
2722         Tests for module 'sendto'.
2723         * modules/sendto-tests: New file.
2724         * tests/test-sendto.c: New file.
2725
2726         Tests for module 'send'.
2727         * modules/send-tests: New file.
2728         * tests/test-send.c: New file.
2729
2730         Tests for module 'recvfrom'.
2731         * modules/recvfrom-tests: New file.
2732         * tests/test-recvfrom.c: New file.
2733
2734         Tests for module 'recv'.
2735         * modules/recv-tests: New file.
2736         * tests/test-recv.c: New file.
2737
2738         Tests for module 'listen'.
2739         * modules/listen-tests: New file.
2740         * tests/test-listen.c: New file.
2741
2742         Tests for module 'getsockopt'.
2743         * modules/getsockopt-tests: New file.
2744         * tests/test-getsockopt.c: New file.
2745
2746         Tests for module 'getsockname'.
2747         * modules/getsockname-tests: New file.
2748         * tests/test-getsockname.c: New file.
2749
2750         Tests for module 'getpeername'.
2751         * modules/getpeername-tests: New file.
2752         * tests/test-getpeername.c: New file.
2753
2754         Tests for module 'connect'.
2755         * modules/connect-tests: New file.
2756         * tests/test-connect.c: New file.
2757
2758         Tests for module 'bind'.
2759         * modules/bind-tests: New file.
2760         * tests/test-bind.c: New file.
2761
2762         accept4 tests: Fix for native Windows.
2763         * tests/test-accept4.c: Include sockets.h.
2764         (main): Invoke gl_sockets_startup.
2765         * modules/accept4-tests (Depends-on): Add sockets.
2766
2767         accept tests: Fix for native Windows.
2768         * tests/test-accept.c: Include sockets.h.
2769         (main): Invoke gl_sockets_startup.
2770         * modules/accept-tests (Depends-on): Add sockets.
2771
2772 2011-09-19  Bruno Haible  <bruno@clisp.org>
2773
2774         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
2775         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
2776         do...while(0).
2777         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
2778         Suggested by Paul Eggert.
2779
2780 2011-09-19  Bruno Haible  <bruno@clisp.org>
2781
2782         sched: Ensure pid_t is defined.
2783         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
2784         not define pid_t.
2785         * lib/sched.in.h: Include <sys/types.h>.
2786         * doc/posix-headers/sched.texi: Mention the pid_t problem.
2787         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2788
2789 2011-09-19  Bruno Haible  <bruno@clisp.org>
2790
2791         msvc-inval: Ensure the entire expansion is a single statement.
2792         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
2793         of braces.
2794
2795 2011-09-19  Jim Meyering  <meyering@redhat.com>
2796
2797         tests: use printf, not echo in init.sh's warn_ function
2798         * tests/init.sh (warn_): Use printf, not echo.  The latter would
2799         misbehave when given strings containing a backslash or starting
2800         with e.g., -n.  James Youngman suggested setting IFS.
2801
2802 2011-09-19  Eric Blake  <eblake@redhat.com>
2803
2804         futimens: enhance test
2805         * tests/test-futimens.h (test_futimens): Also check for EBADF on
2806         closed non-negative fd.
2807
2808         date: accept 'hence' as opposite of 'ago'
2809         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
2810         * tests/test-parse-datetime.c (main): Enhance test.
2811         Suggested by Jesse Wilson.
2812
2813 2011-09-19  Jim Meyering  <meyering@redhat.com>
2814
2815         getcwd: don't fail in a deep directory on a system without openat
2816         Before this change, getcwd would fail when called from a directory
2817         of depth PATH_MAX / 3 or greater.  That was due to the fact that
2818         the non-openat implementation used "..", "../..", "../../..", etc.
2819         to access ancestor directories.  With too many, that string would
2820         be longer than PATH_MAX.
2821         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
2822         using gnulib's openat replacement.
2823         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
2824         we're using the replacement function.
2825
2826 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
2827
2828         maint.mk: avoid warnings from perl about missing files
2829         * top/maint.mk (def_sym_regex): Ignore files listed in
2830         $(gl_other_headers_) that do not exist, say because a project
2831         does not use a corresponding module.
2832
2833 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2834
2835         stat: use pathmax.h only if needed
2836         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
2837         This is better for Emacs, which does not have a mingw port and
2838         therefore can avoid the pathmax module.
2839
2840         utimens: remove dependency on dup2
2841         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
2842         to work around the Linux kernel bug.
2843         * modules/utimens (Depends-on): Remove dup2.
2844
2845 2011-09-18  Bruno Haible  <bruno@clisp.org>
2846
2847         inet_ntop, inet_pton: Look for it also in libresolv.
2848         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
2849         libnsl, search for it in libresolv.
2850         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
2851         Needed on Solaris 7.
2852
2853 2011-09-18  Bruno Haible  <bruno@clisp.org>
2854
2855         accept, accept4 tests: Avoid link error on Solaris.
2856         * modules/accept-tests (Makefile.am): Link test-accept against
2857         $(LIBSOCKET).
2858         * modules/accept4-tests (Makefile.am): Link test-accept4 against
2859         $(LIBSOCKET).
2860
2861         accept4: Avoid link error on Solaris.
2862         * modules/accept4 (Link): New section.
2863
2864         socket functions: Avoid link errors on Solaris.
2865         * modules/accept (Depends-on): Add socketlib.
2866         (Link): New section.
2867         * modules/bind (Depends-on): Add socketlib.
2868         (Link): New section.
2869         * modules/connect (Depends-on): Add socketlib.
2870         (Link): New section.
2871         * modules/getpeername (Depends-on): Add socketlib.
2872         (Link): New section.
2873         * modules/getsockname (Depends-on): Add socketlib.
2874         (Link): New section.
2875         * modules/getsockopt (Depends-on): Add socketlib.
2876         (Link): New section.
2877         * modules/listen (Depends-on): Add socketlib.
2878         (Link): New section.
2879         * modules/recv (Depends-on): Add socketlib.
2880         (Link): New section.
2881         * modules/recvfrom (Depends-on): Add socketlib.
2882         (Link): New section.
2883         * modules/send (Depends-on): Add socketlib.
2884         (Link): New section.
2885         * modules/sendto (Depends-on): Add socketlib.
2886         (Link): New section.
2887         * modules/setsockopt (Depends-on): Add socketlib.
2888         (Link): New section.
2889         * modules/shutdown (Depends-on): Add socketlib.
2890         (Link): New section.
2891         * modules/socket (Depends-on): Add socketlib.
2892         (Link): New section.
2893
2894 2011-09-18  Bruno Haible  <bruno@clisp.org>
2895
2896         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
2897         * tests/test-ptsname.c (main): Terminate the test if it takes longer
2898         than 5 seconds.
2899         * modules/ptsname-tests (configure.ac): Test for alarm.
2900
2901 2011-09-18  Bruno Haible  <bruno@clisp.org>
2902
2903         posix_spawn_file_actions_add*: Fix module dependencies.
2904         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
2905         posix_spawn_file_actions_init.
2906         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
2907         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
2908
2909 2011-09-18  Bruno Haible  <bruno@clisp.org>
2910
2911         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
2912         * tests/test-rename.h (test_rename): Allow error code EEXIST.
2913         * tests/test-renameat.c (main): Likewise.
2914
2915 2011-09-18  Bruno Haible  <bruno@clisp.org>
2916
2917         Tests for module 'accept4'.
2918         * modules/accept4-tests: New file.
2919         * tests/test-accept4.c: New file.
2920
2921 2011-09-18  Bruno Haible  <bruno@clisp.org>
2922
2923         Tests for module 'accept'.
2924         * modules/accept-tests: New file.
2925         * tests/test-accept.c: New file.
2926
2927 2011-09-18  Bruno Haible  <bruno@clisp.org>
2928
2929         dup2: Support for MSVC.
2930         * lib/dup2.c: Include msvc-inval.h.
2931         (rpl_dup2): Handle invalid parameter notifications during dup2 and
2932         _get_osfhandle calls.
2933         * modules/dup2 (Depends-on): Add msvc-inval.
2934         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
2935
2936         New module 'msvc-inval'.
2937         * lib/msvc-inval.h: New file.
2938         * lib/msvc-inval.c: New file.
2939         * m4/msvc-inval.m4: New file.
2940         * modules/msvc-inval: New file.
2941
2942 2011-09-17  Bruno Haible  <bruno@clisp.org>
2943
2944         Tests for module 'pclose'.
2945         * modules/pclose-tests: New file.
2946
2947         New module 'pclose'.
2948         * lib/stdio.in.h (pclose): New declaration.
2949         * lib/pclose.c: New file.
2950         * m4/pclose.m4: New file.
2951         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
2952         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
2953         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
2954         * modules/pclose: New file.
2955         * modules/popen-tests (Depends-on): Add pclose.
2956         * modules/popen-safer-tests (Depends-on): Likewise.
2957         * doc/posix-functions/pclose.texi: Mention the new module.
2958
2959 2011-09-17  Bruno Haible  <bruno@clisp.org>
2960
2961         popen: Support for MSVC.
2962         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
2963         * lib/popen.c (popen): Provide alternate definition for native Windows.
2964         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
2965         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
2966         * modules/popen (Depends-on, configure.ac): Update condition.
2967         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
2968         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
2969         fixed.
2970
2971 2011-09-17  Bruno Haible  <bruno@clisp.org>
2972
2973         isnanl, isnand, isnanf: Work around MSVC bug.
2974         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
2975
2976 2011-09-17  Bruno Haible  <bruno@clisp.org>
2977
2978         sys_socket tests: Fix recent mistake.
2979         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
2980
2981 2011-09-17  Bruno Haible  <bruno@clisp.org>
2982
2983         putenv: Support for MSVC.
2984         * modules/putenv (Depends-on): Add environ.
2985         * lib/putenv.c (environ): Disable declaration.
2986         * lib/unistd.in.h: Update comment.
2987
2988 2011-09-17  Bruno Haible  <bruno@clisp.org>
2989
2990         math: Avoid macro redefinition warnings on MSVC.
2991         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
2992         Undefine before redefining.
2993
2994 2011-09-17  Bruno Haible  <bruno@clisp.org>
2995
2996         doc: Mention functions which are declared as macros.
2997         * doc/posix-functions/*[fl].texi: Mention that some functions are
2998         defined as macros with arguments only.
2999
3000 2011-09-17  Bruno Haible  <bruno@clisp.org>
3001
3002         Add dependencies to new dirent related modules.
3003         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
3004         * modules/fts (Depends-on): Likewise.
3005         * modules/glob (Depends-on): Likewise.
3006         * modules/savedir (Depends-on): Likewise.
3007         * modules/scandir (Depends-on): Likewise.
3008         * modules/dirent-safer (Depends-on): Add opendir, closedir.
3009         * modules/fdopendir (Depends-on): Add opendir.
3010
3011 2011-09-17  Bruno Haible  <bruno@clisp.org>
3012
3013         inet_pton: Support for MSVC on Windows Vista or newer.
3014         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
3015         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
3016         HAVE_DECL_INET_PTON is defined.
3017         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3018         On platforms with <winsock2.h>, test whether inet_pton is declared in
3019         <ws2tcpip.h>. If so, arrange to replace it.
3020         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3021         REPLACE_INET_PTON.
3022         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
3023         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
3024         (Depends-on, configure.ac): Update condition.
3025         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
3026
3027 2011-09-17  Bruno Haible  <bruno@clisp.org>
3028
3029         inet_ntop: Support for MSVC on Windows Vista or newer.
3030         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
3031         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
3032         HAVE_DECL_INET_NTOP is defined.
3033         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3034         On platforms with <winsock2.h>, test whether inet_ntop is declared in
3035         <ws2tcpip.h>. If so, arrange to replace it.
3036         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3037         REPLACE_INET_NTOP.
3038         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
3039         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
3040         (Depends-on, configure.ac): Update condition.
3041         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
3042
3043 2011-09-16  Eric Blake  <eblake@redhat.com>
3044
3045         test-fsync: yet another enhancement
3046         * tests/test-fsync.c (main): Also test behavior on read-only text
3047         file.
3048
3049 2011-09-16  Bruno Haible  <bruno@clisp.org>
3050
3051         Enhance fsync, fdatasync tests.
3052         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
3053         * tests/test-fdatasync.c (main): Likewise.
3054
3055 2011-09-16  Bruno Haible  <bruno@clisp.org>
3056
3057         Support for MSVC compiler: Ensure mode_t gets defined.
3058         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
3059         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3060         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
3061         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
3062         * tests/test-fcntl-h.c: Check that mode_t is defined.
3063         * tests/test-sys_stat.c: Likewise.
3064         * tests/test-sys_types.c: Likewise.
3065         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
3066         * doc/posix-headers/sys_stat.texi: Likewise.
3067         * doc/posix-headers/sys_types.texi: Likewise.
3068
3069 2011-09-16  Bruno Haible  <bruno@clisp.org>
3070
3071         sys_stat: Support for MSVC.
3072         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
3073         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
3074         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
3075         MSVC.
3076
3077 2011-09-16  Bruno Haible  <bruno@clisp.org>
3078
3079         Support for MSVC compiler: Ensure off_t gets defined.
3080         * lib/unistd.in.h: Include <sys/types.h>.
3081         * tests/test-fcntl-h.c: Check that off_t is defined.
3082         * tests/test-sys_stat.c: Likewise.
3083         * tests/test-sys_types.c: Likewise.
3084
3085 2011-09-16  Eric Blake  <eblake@redhat.com>
3086
3087         fdatasync: port to Solaris
3088         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
3089         * modules/fdatasync (Link): Document it.
3090         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
3091
3092         fdatasync: port to MacOS X 10.7
3093         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
3094         declared.
3095         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
3096         * modules/unistd (Makefile.am): Substitute it.
3097         * lib/unistd.in.h (fdatasync): Declare on MacOS.
3098         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
3099
3100         fdatasync: minor improvements
3101         * modules/fdatasync (Depends-on): Add condition for fsync.
3102         * lib/fdatasync.c (fdatasync): Add comment.
3103         * tests/test-unistd-c++.cc: Test fdatasync.
3104
3105         unistd: update refs to newer POSIX
3106         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
3107         Suggested by Bruno Haible.
3108
3109         fdatasync: new module
3110         * modules/fsync (Description): Document difference to fdatasync.
3111         * modules/fdatasync: New module.
3112         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
3113         * lib/fdatasync.c (fdatasync): Likewise.
3114         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
3115         defaults.
3116         * modules/unistd (Makefile.am): Set witnesses.
3117         * lib/unistd.in.h (fdatasync): Declare.
3118         * MODULES.html.sh: Document it.
3119         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
3120         * modules/fdatasync-tests: New test.
3121         * tests/test-fdatasync.c: Likewise.
3122
3123 2011-09-16  Eric Blake  <eblake@redhat.com>
3124
3125         test-fsync: enhance tests
3126         * modules/fsync-tests (Depends-on): Add errno, for mingw.
3127         * tests/test-fsync.c (main): Enhance test.
3128
3129 2011-09-15  Bruno Haible  <bruno@clisp.org>
3130
3131         Support for MSVC compiler: Ensure ssize_t gets defined.
3132         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
3133         * doc/posix-headers/stdio.texi: Likewise.
3134         * modules/stdio (Depends-on): Add ssize_t.
3135         * modules/sys_socket (Depends-on): Likewise.
3136         * modules/sys_types (Depends-on): Likewise.
3137         * modules/sys_uio (Depends-on): Likewise.
3138         * modules/unistd (Depends-on): Likewise.
3139         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
3140         * tests/test-sys_types.c: Check that ssize_t is defined.
3141
3142 2011-09-14  Bruno Haible  <bruno@clisp.org>
3143
3144         Avoid using #, the m4 comment starter character, near brackets.
3145         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
3146         delimiter character in sed expressions.
3147         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3148         Suggested by Eric Blake.
3149
3150         Properly quote AC_CHECK_DECLS' 4th argument.
3151         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
3152         argument.
3153         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
3154         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
3155         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
3156         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
3157         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
3158         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
3159         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
3160         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
3161         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
3162         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
3163         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
3164         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3165         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
3166         * m4/isinf.m4 (gl_ISINF): Likewise.
3167         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3168         * m4/readutmp.m4 (gl_READUTMP): Likewise.
3169         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3170         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3171         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3172         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
3173         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
3174         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
3175         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
3176         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
3177         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
3178         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3179         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
3180         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
3181         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3182         Reported by Eric Blake.
3183
3184         Properly quote AC_CHECK_DECL's 4th argument.
3185         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
3186         argument.
3187         * m4/argp.m4 (gl_ARGP): Likewise.
3188         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
3189         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3190         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
3191         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
3192         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
3193         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
3194         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3195         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
3196         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
3197         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
3198         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
3199         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
3200         Reported by Eric Blake.
3201
3202 2011-09-14  Eric Blake  <eblake@redhat.com>
3203
3204         opendir: avoid compile warning
3205         * lib/opendir.c (includes): Always include errno.h.
3206         Reported by Tatsuro MATSUOKA.
3207
3208 2011-09-14  Jim Meyering  <meyering@redhat.com>
3209
3210         maint.mk: sc_tight_scope: propagate failure from sub-make
3211         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
3212         Reported by Martin von Gagern.
3213
3214 2011-09-13  Bruno Haible  <bruno@clisp.org>
3215
3216         tempname: Support for MSVC.
3217         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
3218         MSVC.
3219         * modules/tempname (Depends-on): Add fcntl-h.
3220
3221 2011-09-13  Bruno Haible  <bruno@clisp.org>
3222
3223         sys_time: Support for MSVC.
3224         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
3225         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
3226         include <winsock2.h>.
3227         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
3228         function declarations that collide with POSIX.
3229         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
3230         (Makefile.am): Substitute HAVE_WINSOCK2_H.
3231
3232 2011-09-13  Bruno Haible  <bruno@clisp.org>
3233
3234         stat: Support for MSVC.
3235         * lib/stat.c: Include pathmax.h.
3236         * modules/stat (Depends-on): Add pathmax.
3237
3238         pathmax: Support for native Windows.
3239         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
3240
3241 2011-09-12  Bruno Haible  <bruno@clisp.org>
3242
3243         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
3244         * lib/dirent.in.h (struct dirent): New type.
3245         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
3246         DT_WHT): New macros.
3247         (DIR): New type.
3248         (opendir, closedir): Declare only if the module 'opendir' is enabled.
3249         (readdir, rewinddir): New declarations.
3250         * lib/dirent-private.h: New file.
3251         * lib/opendir.c: New file.
3252         * lib/readdir.c: New file.
3253         * lib/rewinddir.c: New file.
3254         * lib/closedir.c: New file.
3255         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
3256         * m4/opendir.m4: New file.
3257         * m4/readdir.m4: New file.
3258         * m4/rewinddir.m4: New file.
3259         * m4/closedir.m4: New file.
3260         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
3261         REPLACE_CLOSEDIR here.
3262         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
3263         readdir, rewinddir are declared.
3264         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
3265         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
3266         HAVE_REWINDDIR, HAVE_CLOSEDIR.
3267         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
3268         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
3269         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
3270         * modules/opendir: New file.
3271         * modules/readdir: New file.
3272         * modules/rewinddir: New file.
3273         * modules/closedir: New file.
3274         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
3275         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
3276         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
3277         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
3278         * NEWS: Mention the 'fchdir' change.
3279
3280 2011-09-11  Bruno Haible  <bruno@clisp.org>
3281
3282         asm-underscore.m4: Support for MSVC.
3283         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
3284         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
3285
3286 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
3287
3288         Doc about crypt functions.
3289         * doc/posix-functions/crypt.texi: Expand range of glibc versions
3290         needing for _GNU_SOURCE to get crypt.
3291         * doc/posix-functions/encrypt.texi: Likewise.
3292         * doc/posix-functions/setkey.texi: Likewise.
3293
3294 2011-09-11  Bruno Haible  <bruno@clisp.org>
3295
3296         doc: Update regarding MSVC 9.
3297         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
3298         tested".
3299         * doc/posix-functions/*.texi: Update with info about MSVC 9.
3300         * doc/posix-headers/*.texi: Likewise.
3301         * doc/pastposix-functions/*.texi: Likewise.
3302         * doc/glibc-functions/*.texi: Likewise.
3303         * doc/glibc-headers/*.texi: Likewise.
3304
3305 2011-09-11  Bruno Haible  <bruno@clisp.org>
3306
3307         unistd et al.: Don't assume <unistd.h> exists.
3308         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
3309         does not exist.
3310         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
3311         exist. But include <stdlib.h>.
3312         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
3313         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
3314         symlink() does not exist.
3315         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
3316         include <io.h> instead.
3317         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
3318         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
3319         include <direct.h> instead.
3320         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
3321         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3322         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
3323         <io.h> instead.
3324         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
3325         correctly if the system does not have hard links.
3326         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
3327         <direct.h> instead.
3328         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
3329         it when looking for function declarations.
3330         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
3331         <direct.h> and <io.h> instead.
3332         * doc/posix-headers/unistd.texi: More details about MSVC problem.
3333
3334 2011-09-11  Bruno Haible  <bruno@clisp.org>
3335
3336         strcase: Support for MSVC.
3337         * modules/strcase (Status, Notice): Remove obsoletion mark.
3338         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
3339         * doc/posix-functions/strncasecmp.texi: Likewise.
3340
3341         strings: Don't assume <strings.h> exists.
3342         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
3343         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
3344         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
3345         * doc/posix-headers/strings.texi: Mention the MSVC problem.
3346
3347 2011-09-11  Bruno Haible  <bruno@clisp.org>
3348
3349         dirent: Don't assume <dirent.h> exists.
3350         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
3351         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
3352         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
3353         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
3354
3355 2011-09-11  Bruno Haible  <bruno@clisp.org>
3356
3357         Fix wint_t on MSVC.
3358         * lib/wchar.in.h (wint_t): On MSVC, override it.
3359         * lib/wctype.in.h (wint_t): Likewise.
3360         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
3361         MSVC.
3362         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
3363         * doc/posix-headers/wctype.texi: Likewise.
3364
3365 2011-09-11  Bruno Haible  <bruno@clisp.org>
3366
3367         sys_types: Fix typo.
3368         * lib/sys_types.in.h: Fix typo in comment.
3369         Reported by Paul Eggert.
3370
3371         Support for MSVC compiler: Ensure size_t gets defined.
3372         * modules/strings (Depends-on): Add 'sys_types'.
3373         * modules/sys_uio (Depends-on): Likewise.
3374         * lib/sys_uio.in.h: Update comment.
3375
3376         C++ tests for module 'sys_types'.
3377         * modules/sys_types-c++-tests: New file.
3378         * tests/test-sys_types-c++.cc: New file.
3379
3380         Tests for module 'sys_types'.
3381         * modules/sys_types-tests: New file.
3382         * tests/test-sys_types.c: New file.
3383
3384         New module 'sys_types'.
3385         * lib/sys_types.in.h: New file.
3386         * m4/sys_types_h.m4: New file.
3387         * modules/sys_types: New file.
3388         * doc/posix-headers/sys_types.texi: Mention the new module and the
3389         size_t problem on MSVC 9.
3390
3391 2011-09-11  Bruno Haible  <bruno@clisp.org>
3392
3393         Support for MSVC compiler: Avoid division by a literal 0.
3394         * lib/math.in.h (NAN): Define through a function call also on MSVC.
3395         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
3396         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
3397         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
3398         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
3399         * tests/infinity.h: New file.
3400         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
3401         on MSVC.
3402         * tests/test-ceilf1.c: Include infinity.h.
3403         (main): Use Infinityf.
3404         * tests/test-ceil1.c: Include infinity.h.
3405         (main): Use Infinityd.
3406         * tests/test-ceill.c: Include infinity.h.
3407         (main): Use Infinityl.
3408         * tests/test-dprintf-posix.c: Include infinity.h.
3409         (test_function): Use Infinityd.
3410         * tests/test-floorf1.c: Include infinity.h.
3411         (main): Use Infinityf.
3412         * tests/test-floor1.c: Include infinity.h.
3413         (main): Use Infinityd.
3414         * tests/test-floorl.c: Include infinity.h.
3415         (main): Use Infinityl.
3416         * tests/test-fprintf-posix.c: Include infinity.h.
3417         (test_function): Use Infinityd.
3418         * tests/test-frexp.c: Include infinity.h.
3419         (main): Use Infinityd.
3420         * tests/test-frexpl.c: Include infinity.h.
3421         (main): Use Infinityl.
3422         * tests/test-isfinite.c: Include infinity.h.
3423         (test_isfinitef): Use Infinityf.
3424         (test_isfinited): Use Infinityd.
3425         (test_isfinitel): Use Infinityl.
3426         * tests/test-isinf.c: Include infinity.h.
3427         (test_isinff): Use Infinityf.
3428         (test_isinfd): Use Infinityd.
3429         (test_isinfl): Use Infinityl.
3430         * tests/test-isnan.c: Include infinity.h.
3431         (test_float): Use Infinityf.
3432         (test_double): Use Infinityd.
3433         (test_long_double): Use Infinityl.
3434         * tests/test-isnanf.h: Include infinity.h.
3435         (main): Use Infinityf.
3436         * tests/test-isnand.h: Include infinity.h.
3437         (main): Use Infinityd.
3438         * tests/test-isnanl.h: Include infinity.h.
3439         (main): Use Infinityl.
3440         * tests/test-ldexpl.c: Include infinity.h.
3441         (main): Use Infinityl.
3442         * tests/test-printf-posix.h: Include infinity.h.
3443         (test_function): Use Infinityd.
3444         * tests/test-roundf1.c: Include infinity.h.
3445         (main): Use Infinityf.
3446         * tests/test-round1.c: Include infinity.h.
3447         (main): Use Infinityd.
3448         * tests/test-roundl.c: Include infinity.h.
3449         (main): Use Infinityl.
3450         * tests/test-signbit.c: Include infinity.h.
3451         (test_signbitf): Use Infinityf.
3452         (test_signbitd): Use Infinityd.
3453         (test_signbitl): Use Infinityl.
3454         * tests/test-snprintf-posix.h: Include infinity.h.
3455         (test_function): Use Infinityd, Infinityl.
3456         * tests/test-sprintf-posix.h: Include infinity.h.
3457         (test_function): Use Infinityd, Infinityl.
3458         * tests/test-truncf1.c: Include infinity.h.
3459         (main): Use Infinityf.
3460         * tests/test-trunc1.c: Include infinity.h.
3461         (main): Use Infinityd.
3462         * tests/test-truncl.c: Include infinity.h.
3463         (main): Use Infinityl.
3464         * tests/test-vasnprintf-posix.c: Include infinity.h.
3465         (test_function): Use Infinityd, Infinityl.
3466         * tests/test-vasprintf-posix.c: Include infinity.h.
3467         (test_function): Use Infinityd, Infinityl.
3468         * modules/ceilf-tests (Files): Add tests/infinity.h.
3469         * modules/ceil-tests (Files): Likewise.
3470         * modules/ceill-tests (Files): Likewise.
3471         * modules/dprintf-posix-tests (Files): Likewise.
3472         * modules/floorf-tests (Files): Likewise.
3473         * modules/floor-tests (Files): Likewise.
3474         * modules/floorl-tests (Files): Likewise.
3475         * modules/fprintf-posix-tests (Files): Likewise.
3476         * modules/frexp-tests (Files): Likewise.
3477         * modules/frexp-nolibm-tests (Files): Likewise.
3478         * modules/frexpl-tests (Files): Likewise.
3479         * modules/frexpl-nolibm-tests (Files): Likewise.
3480         * modules/isfinite-tests (Files): Likewise.
3481         * modules/isinf-tests (Files): Likewise.
3482         * modules/isnan-tests (Files): Likewise.
3483         * modules/isnanf-tests (Files): Likewise.
3484         * modules/isnanf-nolibm-tests (Files): Likewise.
3485         * modules/isnand-tests (Files): Likewise.
3486         * modules/isnand-nolibm-tests (Files): Likewise.
3487         * modules/isnanl-tests (Files): Likewise.
3488         * modules/isnanl-nolibm-tests (Files): Likewise.
3489         * modules/ldexpl-tests (Files): Likewise.
3490         * modules/printf-posix-tests (Files): Likewise.
3491         * modules/roundf-tests (Files): Likewise.
3492         * modules/round-tests (Files): Likewise.
3493         * modules/roundl-tests (Files): Likewise.
3494         * modules/signbit-tests (Files): Likewise.
3495         * modules/snprintf-posix-tests (Files): Likewise.
3496         * modules/sprintf-posix-tests (Files): Likewise.
3497         * modules/truncf-tests (Files): Likewise.
3498         * modules/trunc-tests (Files): Likewise.
3499         * modules/truncl-tests (Files): Likewise.
3500         * modules/vasnprintf-posix-tests (Files): Likewise.
3501         * modules/vasprintf-posix-tests (Files): Likewise.
3502         * modules/vdprintf-posix-tests (Files): Likewise.
3503         * modules/vfprintf-posix-tests (Files): Likewise.
3504         * modules/vprintf-posix-tests (Files): Likewise.
3505         * modules/vsnprintf-posix-tests (Files): Likewise.
3506         * modules/vsprintf-posix-tests (Files): Likewise.
3507         * modules/xprintf-posix-tests (Files): Likewise.
3508
3509 2011-09-11  Bruno Haible  <bruno@clisp.org>
3510
3511         Ensure pid_t gets defined.
3512         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
3513         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3514         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
3515         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3516         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
3517         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3518         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
3519         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3520         * tests/test-fcntl-h.c: Check that pid_t is defined.
3521         * tests/test-sched.c: Likewise.
3522         * tests/test-termios.c: Likewise.
3523         * tests/test-time.c: Likewise.
3524         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
3525         * doc/posix-headers/signal.texi: Likewise.
3526         * doc/posix-headers/sys_types.texi: Likewise.
3527         * doc/posix-headers/time.texi: Likewise.
3528
3529 2011-09-11  Bruno Haible  <bruno@clisp.org>
3530
3531         acl: Fix compilation on Solaris 10 (older version).
3532         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
3533         of ACE_EVERYONE.
3534         * lib/set-mode-acl.c (qset_acl): Likewise.
3535         Reported by Christian Jullien <eligis@orange.fr>.
3536
3537 2011-09-10  Bruno Haible  <bruno@clisp.org>
3538
3539         iconv, unsetenv: Add support for MSVC compiler.
3540         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
3541         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
3542
3543 2011-09-10  Bruno Haible  <bruno@clisp.org>
3544
3545         *printf: Add support for MSVC compiler.
3546         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
3547         handles the exception caused by the %n directive. When cross-compiling,
3548         guess no on native Windows.
3549         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
3550         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
3551         emulate it through vsnprintf.
3552         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
3553         * doc/posix-functions/dprintf.texi: Update documentation regarding
3554         MSVC 9.
3555         * doc/posix-functions/fprintf.texi: Likewise.
3556         * doc/posix-functions/printf.texi: Likewise.
3557         * doc/posix-functions/snprintf.texi: Likewise.
3558         * doc/posix-functions/sprintf.texi: Likewise.
3559         * doc/posix-functions/swprintf.texi: Likewise.
3560         * doc/posix-functions/vdprintf.texi: Likewise.
3561         * doc/posix-functions/vfprintf.texi: Likewise.
3562         * doc/posix-functions/vprintf.texi: Likewise.
3563         * doc/posix-functions/vsnprintf.texi: Likewise.
3564         * doc/posix-functions/vsprintf.texi: Likewise.
3565         * doc/glibc-functions/asprintf.texi: Likewise.
3566         * doc/glibc-functions/obstack_printf.texi: Likewise.
3567         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
3568         * doc/glibc-functions/vasprintf.texi: Likewise.
3569
3570 2011-09-10  Bruno Haible  <bruno@clisp.org>
3571
3572         nocrash: Add support for native Windows.
3573         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
3574
3575 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
3576             Bruno Haible  <bruno@clisp.org>
3577
3578         absolute-header, include-next: Add support for MSVC compiler.
3579         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
3580         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
3581         directory separator in #line directives.
3582         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
3583         recognize also backslash as directory separator in #line directives.
3584
3585 2011-09-08  Jim Meyering  <meyering@redhat.com>
3586
3587         maint.mk: mark the post-release commit log with "maint: " prefix
3588         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
3589         one-line commit-log summary.
3590
3591 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
3592             Bruno Haible  <bruno@clisp.org>
3593
3594         Doc about crypt functions.
3595         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
3596         systems.
3597         * doc/posix-functions/encrypt.texi: Likewise.
3598         * doc/posix-functions/setkey.texi: Likewise.
3599
3600 2011-09-08  Simon Josefsson  <simon@josefsson.org>
3601
3602         * lib/gc.h: Fix copyright header.
3603
3604 2011-09-07  Bruno Haible  <bruno@clisp.org>
3605
3606         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
3607         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
3608         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
3609
3610 2011-09-07  Bruno Haible  <bruno@clisp.org>
3611
3612         openat: Work around compilation error with OSF/1 5.1 DTK cc.
3613         * lib/fopen.c: Use different syntax for include of <stdio.h>.
3614         * lib/freopen.c: Likewise.
3615         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
3616         * lib/lstat.c: Likewise.
3617         * lib/stat.c: Likewise.
3618         * lib/open.c: Use different syntax for include of <fcntl.h>.
3619         * lib/openat.c: Include fcntl.h again, explicitly.
3620
3621 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
3622
3623         parse-datetime: document the newly accepted format
3624         * doc/parse-datetime.texi (Combined date and time of day items):
3625         New section.
3626
3627 2011-09-06  Bruno Haible  <bruno@clisp.org>
3628
3629         acl: Fix a test failure on newer Solaris 10 with ZFS.
3630         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
3631         ENOSYS as no ACL.
3632         Reported by Jim Meyering.
3633
3634 2011-09-06  Bruno Haible  <bruno@clisp.org>
3635
3636         acl: Update for AIX >= 5.3 with NFS.
3637         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
3638         ENOSYS as no ACL.
3639
3640         acl: Fix a test failure on AIX >= 5.3 with NFS.
3641         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
3642         as no ACL.
3643
3644 2011-09-06  Bruno Haible  <bruno@clisp.org>
3645
3646         acl: Fix a test failure on IRIX 6.5 with NFS.
3647         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
3648         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
3649         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
3650         * lib/copy-acl.c (qcopy_acl): Likewise.
3651
3652 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3653
3654         openat: port to AIX 7.1 with large files
3655         AIX 7.1 does a "#define openat open64at" if large files are in use,
3656         so we can't simply #undef openat.  Use the orig_openat trick (similar
3657         to orig_open in lib/open.c) to work around the problem.  Problem
3658         reported by Kevin Brott for GNU tar, in the thread containing
3659         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
3660         * lib/openat.c (__need_system_fcntl_h): Define first.
3661         Include <fcntl.h> and <sys/types.h> before undefining.
3662         (orig_openat) [HAVE_OPENAT]: New inline function.
3663         (openat) [HAVE_OPENAT]: Do not undef.
3664         (rpl_openat): Use orig_openat, not openat.
3665
3666 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
3667             Bruno Haible  <bruno@clisp.org>
3668
3669         acl: Avoid errors on NonStop Kernel.
3670         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
3671         ENOTSUP errors.
3672
3673 2011-09-05  Bruno Haible  <bruno@clisp.org>
3674
3675         acl: Clean up Solaris code.
3676         * lib/acl-internal.h: Remove no-op #if.
3677         * lib/file-has-acl.c: Likewise.
3678         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
3679         * lib/copy-acl.c (qcopy_acl): Likewise.
3680
3681 2011-09-05  Bruno Haible  <bruno@clisp.org>
3682
3683         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
3684         binaries built on the original Solaris 10.
3685         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
3686         trivial.
3687
3688 2011-09-05  Bruno Haible  <bruno@clisp.org>
3689
3690         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
3691         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
3692         10.
3693         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
3694         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
3695         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
3696         instead of acl_get, facl_get, acl_set, facl_set.
3697
3698 2011-09-05  Bruno Haible  <bruno@clisp.org>
3699
3700         copy-file: Try unit tests on more file systems.
3701         * tests/test-copy-file-1.sh: New file.
3702         * tests/test-copy-file-2.sh: New file.
3703         * modules/copy-file-tests (Files): Add them.
3704         (Makefile.am): Add them to TESTS.
3705
3706         acl: Try unit tests on more file systems.
3707         * tests/test-file-has-acl-1.sh: New file.
3708         * tests/test-file-has-acl-2.sh: New file.
3709         * tests/test-set-mode-acl-1.sh: New file.
3710         * tests/test-set-mode-acl-2.sh: New file.
3711         * tests/test-copy-acl-1.sh: New file.
3712         * tests/test-copy-acl-2.sh: New file.
3713         * modules/acl-tests (Files): Add them.
3714         (Makefile.am): Add them to TESTS.
3715
3716 2011-09-04  Bruno Haible  <bruno@clisp.org>
3717
3718         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
3719         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
3720         10.
3721         (OLD_ALLOW, OLD_DENY): New macros.
3722         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
3723         ACE_ACCESS_ALLOWED_ACE_TYPE.
3724         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
3725         ACE_ACCESS_DENIED_ACE_TYPE.
3726         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
3727         (NEW_ACE_EXECUTE): Fix value.
3728         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
3729         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
3730         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
3731         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
3732         NEW_ACE_SYNCHRONIZE): New macros.
3733         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
3734         instead of acl_fromtext, acl_set, facl_set.
3735         Fixes a coreutils/tests/cp/perm failure.
3736
3737 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
3738
3739         openat: test for fstatat (..., 0) bug
3740         Further testing with tar suggests that fstatat (..., 0)
3741         does not work in general, on AIX 7.1; see
3742         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
3743         So, give up entirely on AIX 7.1's fstatat, and fall back on our
3744         replacement fstatat (which is what older AIX releases were using
3745         anyway).
3746         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
3747         use is now changed to orig_fstatat.  This was probably the right
3748         thing to do anyway.
3749         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
3750         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
3751         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
3752         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
3753         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
3754         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
3755         if the bug is found.
3756
3757         openat: test for fstatat (AT_FDCWD, ..., 0) bug
3758         This tests for another fstatat bug on AIX 7.1:
3759         fstatat (AT_FDCWD, ..., 0) does not work.  See
3760         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
3761         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
3762         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
3763         (rpl_fstatat): Adjust so that it works around either (or both)
3764         bugs if present.
3765         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
3766
3767 2011-09-03  Karl Berry  <karl@gnu.org>
3768
3769         * doc/regex.texi (Character Class Operators): Avoid literal ":"
3770         in index entries.
3771
3772 2011-09-02  Bruno Haible  <bruno@clisp.org>
3773
3774         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
3775         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
3776         values of AR, ARFLAGS, RANLIB.
3777         Reported by John W. Eaton <jwe@gnu.org> for Octave.
3778
3779 2011-09-02  Bruno Haible  <bruno@clisp.org>
3780
3781         Find 'ar' program that fits with --host argument.
3782         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
3783
3784 2011-09-02  Bruno Haible  <bruno@clisp.org>
3785
3786         tests: init.sh: Support any non-GNU diff.
3787         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
3788         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
3789         Solaris 8.
3790
3791 2011-09-02  Bruno Haible  <bruno@clisp.org>
3792
3793         tests: init.sh: work also with any non-GNU diff that supports -u
3794         * tests/init.sh: Relax check for diff -u support.
3795         Rather than checking for GNU diff via --version, simply check
3796         for support for -u itself.  Useful at least on OpenBSD 4.9,
3797         AIX 7.1, IRIX 6.5, and Solaris 10.
3798
3799 2011-09-01  Bruno Haible  <bruno@clisp.org>
3800
3801         strtoimax, strtoumax: Document problem on HP-UX 11.
3802         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
3803         * doc/posix-functions/strtoumax.texi: Likewise.
3804
3805 2011-09-01  Bruno Haible  <bruno@clisp.org>
3806
3807         strtoumax: Avoid link error on OSF/1 with DTK cc.
3808         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
3809         defined as a function.
3810         * modules/strtoumax (Depends-on, configure.ac): Test only whether
3811         strtoumax is defined, not whether it is declared.
3812
3813 2011-09-01  Bruno Haible  <bruno@clisp.org>
3814
3815         strtoimax: Avoid link error on OSF/1 with DTK cc.
3816         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
3817         defined as a function.
3818         * modules/strtoimax (Depends-on, configure.ac): Test only whether
3819         strtoimax is defined, not whether it is declared.
3820
3821 2011-09-01  Bruno Haible  <bruno@clisp.org>
3822
3823         imaxdiv: Avoid link error on OSF/1 with DTK cc.
3824         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
3825         as a function.
3826         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
3827         whether it is declared.
3828
3829 2011-09-01  Bruno Haible  <bruno@clisp.org>
3830
3831         imaxabs: Avoid link error on OSF/1 with DTK cc.
3832         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
3833         as a function.
3834         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
3835         whether it is declared.
3836
3837 2011-09-01  Bruno Haible  <bruno@clisp.org>
3838
3839         Tests for module 'strtoumax'.
3840         * modules/strtoumax-tests: New file.
3841         * tests/test-strtoumax.c: New file.
3842
3843         Tests for module 'strtoimax'.
3844         * modules/strtoimax-tests: New file.
3845         * tests/test-strtoimax.c: New file.
3846
3847         Tests for module 'imaxdiv'.
3848         * modules/imaxdiv-tests: New file.
3849         * tests/test-imaxdiv.c: New file.
3850
3851         Tests for module 'imaxabs'.
3852         * modules/imaxabs-tests: New file.
3853         * tests/test-imaxabs.c: New file.
3854
3855 2011-09-01  Bruno Haible  <bruno@clisp.org>
3856
3857         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
3858         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
3859         pthread_create.
3860
3861 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3862
3863         openat: work around AIX 7.1 fstatat issue
3864         This should fix the problem that was not properly fixed
3865         in the previous change, dated 2011-08-30.
3866         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
3867         __need_system_stat_h defined.
3868         (orig_fstatat) [HAVE_FSTATAT]: New function.
3869         (rpl_fstatat): Go back to the old way of doing things,
3870         except call orig_fstatat instead of fstatat.
3871         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
3872         Remove unnecessary check whether fstatat fills in st_size etc.
3873
3874 2011-09-01  Bruno Haible  <bruno@clisp.org>
3875
3876         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
3877         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
3878         just include the system's header.
3879
3880 2011-08-31  Jim Meyering  <meyering@redhat.com>
3881
3882         tests: avoid spurious assertion failure in test-float.c on ppc64
3883         * tests/test-float.c (test_long_double): Comment out an assertion,
3884         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
3885         with gcc-4.4.4.
3886
3887         maint: indent with spaces, not TABs
3888         I need to get in the habit of running gnulib's "make check".
3889         Both of these would have been caught.
3890         * m4/largefile.m4: Indent with spaces, not TABs.
3891         * lib/parse-datetime.y (iso_8601_time): Likewise.
3892         Spotted by Pádraig Brady.
3893
3894         test-parse-datetime.c: accommodate a relatively strict gcc warning
3895         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
3896         to avoid a warning from gcc's -Werror=missing-declarations.
3897         Insert a few spaces-before-funcall-parenthesis.
3898
3899 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
3900
3901         parse-datetime: accept ISO 8601 date and time rep with "T" separator
3902         The parser now accepts ISO 8601 date-time strings with "T" as the
3903         separator.  It has long parsed dates like "2004-02-29 16:21:42"
3904         with a space between the date and time strings.  Now it also parses
3905         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
3906         variants like "2004-02-29T16:21:42.333-07:00"
3907         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
3908         of day representation using the 'T' separator character.
3909         * doc/parse-datetime.texi (General date syntax): replace use of
3910         deprecated --iso-8601 option with --rfc-3339 in example of date
3911         command output formats that can be parsed.
3912         * tests/test-parse-datetime.c (tm_diff): New function, taken from
3913         lib/parse-datetime.y.
3914         (gmt_offset): New function.
3915         (main): Add additional test cases to validate ISO8601 extended
3916         date and time of day parsing.
3917
3918 2011-08-31  Bruno Haible  <bruno@clisp.org>
3919
3920         freopen: Documentation.
3921         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
3922         name.
3923         Reported by Claudio Bley <claudio.bley@gmail.com>.
3924
3925 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
3926
3927         freopen: Don't crash if the filename argument is NULL.
3928         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
3929         NULL.
3930
3931 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
3932
3933         openat: work around AIX 7.1 fstatat bug
3934         Problem reported by Kevin Brott for GNU tar, in the thread containing
3935         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
3936         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
3937         FSTATAT_ST_SIZE_ETC_BROKEN.
3938         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
3939         rpl_fstatat.
3940         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
3941         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
3942         AC_CHECK_FUNCS_ONCE for fstatat.
3943         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
3944         fchmodat, mkdirat, openat and unlinkat.
3945
3946 2011-08-30  Bruno Haible  <bruno@clisp.org>
3947
3948         Avoid endless recursions if config.h includes some header files.
3949         * lib/fopen.c (__need_FILE): Define already before including config.h.
3950         * lib/freopen.c (__need_FILE): Likewise.
3951         * lib/open.c (__need_system_fcntl_h): Likewise.
3952         * lib/stat.c (__need_system_sys_stat_h): Likewise.
3953         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
3954         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3955
3956 2011-08-25  Karl Berry  <karl@gnu.org>
3957
3958         * config/srclist.txt (ylwrap): new try.
3959         * build-aux/ylwrap: new file.
3960
3961 2011-08-23  Bruno Haible  <bruno@clisp.org>
3962
3963         tmpdir: Use a good default directory on native Windows.
3964         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
3965         (P_tmpdir): Default to _P_tmpdir on native Windows.
3966         (path_search): On native Windows, try the value returned by GetTempPath
3967         before trying P_tmpdir.
3968         * modules/tmpdir (Depends-on): Add pathmax.
3969         Suggested by John Darrington <john@darrington.wattle.id.au>.
3970
3971 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
3972
3973         doc: fix typo in README-release
3974         * top/README-release: Capitalize first word of a sentence.
3975
3976 2011-08-19  Jim Meyering  <meyering@redhat.com>
3977
3978         fts: do not exhaust memory when processing million-entry directories
3979         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
3980         directory would require about 256*N bytes of memory.  Thus, it was
3981         easy to construct a directory too large to be processed by any of
3982         those tools.  With this change, fts' maximum memory utilization is
3983         now limited to around 30MB.
3984         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
3985         (fts_read): When we've processed the final entry (i.e., when
3986         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
3987         using the parent entry to read any remaining entries.  Dispatch
3988         depending on what fts_build returns:
3989         - NULL+stop, aka failure: stop
3990         - NULL otherwise: move up in the dir hierarchy
3991         - non-NULL: handle this new entry
3992         (fts_build): Declare and use new local, continue_readdir.
3993         Prepare to be called from fts_read, when the entries
3994         from a partially-read directory have just been exhausted.
3995         In that case, we'll skip the opendir and instead use the parent's
3996         fts_dirp and derive dir_fd from that.
3997         Finally, in the readdir loop, if we read max_entries entries,
3998         exit the loop ensuring *not* to call closedir.  This is required
3999         so that fts_dirp can be reused on a subsequent call.
4000         Prompted by Ben England's report of memory exhaustion in find
4001         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
4002
4003         maint: fts: move decl of `dp' down into while loop; split a long line
4004         * lib/fts.c (fts_build): No semantic change.
4005
4006         fts: add/use new struct member, fts_dirp
4007         We are about to use this to manage any directory with
4008         too many entries to read all of them into memory at once.
4009         To do that, we'll need to save the DIR* pointer in each
4010         affected FTSENT struct.
4011         * lib/fts_.h: Include <dirent.h>.
4012         (struct FTSENT) [fts_dirp]: New member.
4013         * lib/fts.c (closedir_and_clear): Define.
4014         Use it in place of closedir so that we are sure to
4015         clear the new fts_dirp member when done with it.
4016         (fts_alloc): Initialize the new member.
4017         (fts_lfree): Free, if needed.
4018
4019         maint: fts: give __opendir2 a new parameter and rename
4020         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
4021         than surreptitiously using sole caller's "dir_fd".
4022         (fts_opendir): Rename from __opendir2.
4023
4024         maint: fts.c: remove __opendir2's now-unused parameter, oflag
4025         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
4026
4027         maint: fts.c: correct off-by-one indentation
4028         * lib/fts.c (fts_build): Correct indentation, change style
4029         of a couple of block comments, and bracing style.
4030
4031         maint: fts.c: move __opendir2 #define "up" out of function body
4032         * lib/fts.c (__opendir2): Move "up".  No semantic change.
4033
4034         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
4035         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
4036         out for a long time and besides was useful only on BSD systems.
4037
4038 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
4039
4040         regex: port to Stratus OpenVOS
4041         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
4042         define to empty, rather than attempting nonportable optimizations.
4043         Problem reported by Paul Green in:
4044         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
4045         and fix suggested by Eric Blake in:
4046         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
4047
4048 2011-08-17  Eric Blake  <eblake@redhat.com>
4049
4050         getcwd: fix test failures on mingw
4051         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
4052         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
4053         test if long directory cannot be created, and allow mingw errno.
4054
4055         getcwd-lgpl: fix m4 to match relaxed test for BSD
4056         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
4057         (gl_FUNC_GETCWD_SIGNATURE): New macro.
4058         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
4059         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
4060         signature problem.
4061
4062         getcwd: fix compilation on mingw64
4063         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
4064         getcwd.
4065         Reported by Marc-André Lureau.
4066
4067         pipe2: silence compiler warning
4068         * lib/pipe2.c (pipe2): Hide label if it is not used.
4069
4070 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
4071
4072         relocatable-prog: fix link error
4073         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
4074         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
4075         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
4076         into modules/relocatable-lib without noticing that
4077         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
4078         also needs to build relocatable.c.
4079
4080 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4081
4082         getaddrinfo: fix sh typo in gai_strerrorA decl checking
4083         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
4084         shell code: it contained a 'break' that was not in a loop.
4085         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
4086         via a shell-language loop; this may have been true in old Autoconf
4087         versions, but it's not true in Autoconf 2.68.  I found this bug
4088         when testing coreutils git on Solaris 8, whose shell complains
4089         about the syntax error.
4090
4091 2011-08-12  Simon Josefsson  <simon@josefsson.org>
4092
4093         * lib/base64.c: Fix comment to reference RFC 4648.
4094         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
4095         <gvtulder@gmail.com>.
4096
4097 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
4098
4099         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
4100
4101         po/Makefile.in.in: fix make -q problem
4102         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
4103         rule, since there's no file named 'check-macro-version' and its
4104         use as a file breaks make -q.
4105         (all): Don't depend on check-macro-version.
4106         (CHECK_MACRO_VERSION): New macro.
4107         (stamp-po): Use it.
4108
4109         configmake: fix make -q problem
4110         * modules/configmake (configmake.h): Update configmake.h's time stamp
4111         even if the file does not change.  Otherwise, 'make -q' fails.
4112         Problem reported by Simon Josefsson in
4113         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
4114
4115 2011-08-11  Jim Meyering  <meyering@redhat.com>
4116
4117         git-version-gen: correct the advice in a comment
4118         * build-aux/git-version-gen: Correct comment.
4119         Don't recommend to list .tarball-version in .gitignore.
4120
4121 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4122
4123         base64: fix off-by-one buffer size bug
4124         Problem and (trivial) fix reported by Gijs van Tulder in
4125         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
4126         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
4127         * tests/test-base64.c (main): Catch the bug.
4128
4129 2011-08-10  Eric Blake  <eblake@redhat.com>
4130
4131         closein: correct comments
4132         * lib/closein.c (close_stdin): Improve comments.
4133
4134 2011-08-09  Bruno Haible  <bruno@clisp.org>
4135
4136         More tests for 'fseeko'.
4137         * tests/test-fseeko3.c: New file, from Eric Blake.
4138         * tests/test-fseeko3.sh: New file.
4139         * modules/fseeko-tests (Files): Add them.
4140         (TESTS): Add test-fseeko3.sh.
4141         (check_PROGRAMS): Add test-fseeko3.
4142
4143 2011-08-09  Eric Blake  <eblake@redhat.com>
4144
4145         fseeko: remove unneeded hack
4146         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
4147
4148         fseeko: fix bug on glibc
4149         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
4150         Reported by John W. Eaton.
4151
4152 2011-08-08  Bruno Haible  <bruno@clisp.org>
4153
4154         unictype/base: Fix interoperability with preinstalled libunistring.
4155         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
4156         Reported by Simon Josefsson.
4157
4158 2011-08-08  Bruno Haible  <bruno@clisp.org>
4159
4160         iswblank: Detect declaration correctly.
4161         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
4162         AC_CHECK_DECLS invocation.
4163
4164 2011-08-08  Bruno Haible  <bruno@clisp.org>
4165
4166         tcgetsid: Detect declaration correctly.
4167         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
4168         AC_CHECK_DECLS invocation.
4169         Reported by Simon Josefsson.
4170
4171 2011-08-08  Eric Blake  <eblake@redhat.com>
4172
4173         largefile: fix typo that regressed large file support
4174         * modules/largefile (configure.ac-early): Fix section name.
4175
4176 2011-08-06  Karl Berry  <karl@gnu.org>
4177
4178         * MODULES.html.sh (func_all_files): _Noreturn is no longer
4179         a separate module.
4180
4181 2011-08-05  Simon Josefsson  <simon@josefsson.org>
4182
4183         openat: Fix warnings and commens when building unlinkat.c on Hurd.
4184         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
4185         get prototype for free.
4186
4187 2011-08-04  Bruno Haible  <bruno@clisp.org>
4188
4189         Tests for module 'pathmax'.
4190         * modules/pathmax-tests: New file.
4191         * tests/test-pathmax.c: New file.
4192
4193         canonicalize-lgpl: Support larger filenames on the Hurd.
4194         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
4195         Reported by Paul Eggert.
4196
4197         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
4198         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
4199         * lib/chdir-long.h: Include pathmax.h.
4200         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
4201         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
4202         (PATH_MAX): Remove code that is done by pathmax.h.
4203         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
4204         * lib/tmpfile.c: Add a comment.
4205         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
4206         * modules/chdir-long (Depends-on): Add pathmax.
4207         * modules/getcwd (Depends-on): Add pathmax.
4208         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
4209         is not defined.
4210         * doc/posix-headers/limits.texi: Mention the pathmax module.
4211         * NEWS: Mention the change.
4212
4213 2011-08-02  Bruno Haible  <bruno@clisp.org>
4214
4215         pthread_sigmask: Actually use results of gl_THREADLIB.
4216         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
4217         gl_THREADLIB, not gl_[]THREADLIB.
4218         Reported by Eric Blake.
4219
4220 2011-08-02  Jim Meyering  <meyering@redhat.com>
4221
4222         maint.mk: relax the default _gl_TS_function_match regexp
4223         * top/maint.mk (_gl_TS_function_match): Don't require at least one
4224         space between function name and "(" in an "extern" declaration.
4225         That would fail to match a decl with no space there: extern void foo();
4226
4227 2011-07-31  Iain Nicol  <iain@thenicols.net>
4228
4229         git-version-gen: document that EXTRA_DIST must include .version
4230         * build-aux/git-version-gen: In the how-to-use comment, document
4231         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
4232         will fail when run from an unpacked distribution tarball.
4233
4234 2011-08-01  Bruno Haible  <bruno@clisp.org>
4235
4236         wctype-h: Fix last change.
4237         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
4238         REPLACE_TOWLOWER to 0.
4239         Reported by Sam Steingold <sds@gnu.org>.
4240
4241 2011-07-31  Bruno Haible  <bruno@clisp.org>
4242
4243         frexpl: Update autoconf test.
4244         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
4245         according to changes of 2011-06-20.
4246
4247 2011-07-31  Bruno Haible  <bruno@clisp.org>
4248
4249         sys_utsname: Add support for Minix.
4250         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
4251         <sys/utsname.h>.
4252         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4253         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
4254
4255 2011-07-31  Bruno Haible  <bruno@clisp.org>
4256
4257         strings: Add support for Minix.
4258         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
4259         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
4260         * doc/posix-headers/strings.texi: Document the Minix problem.
4261
4262 2011-07-31  Bruno Haible  <bruno@clisp.org>
4263
4264         wctype-h: Add support for Minix.
4265         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
4266         REPLACE_TOWLOWER.
4267         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
4268         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
4269         REPLACE_ISWCNTRL.
4270
4271 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
4272
4273         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
4274         This is a performance improvement for 64-bit hosts: it causes the
4275         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
4276
4277 2011-07-31  Bruno Haible  <bruno@clisp.org>
4278
4279         stdioext: Add support for Minix.
4280         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
4281         * lib/fpurge.c (fpurge): Likewise.
4282         * lib/freadahead.c (freadahead): Likewise.
4283         * lib/freadable.c (freadable): Likewise.
4284         * lib/freading.c (freading): Likewise.
4285         * lib/freadptr.c (freadptr): Likewise.
4286         * lib/freadseek.c (freadptrinc): Likewise.
4287         * lib/fseeko.c (rpl_fseeko): Likewise.
4288         * lib/fseterr.c (fseterr): Likewise.
4289         * lib/fwritable.c (fwritable): Likewise.
4290         * lib/fwriting.c (fwriting): Likewise.
4291         * lib/fflush.c (clear_ungetc_buffer): Update comment.
4292         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
4293
4294 2011-07-31  Bruno Haible  <bruno@clisp.org>
4295
4296         errno: Port to Minix.
4297         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
4298         ECONNABORTED are defined.
4299         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
4300         GNULIB_defined_ECONNABORTED): New macros.
4301         * lib/strerror-override.h (strerror_override): Test also
4302         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
4303         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
4304         ECONNABORTED.
4305         * doc/posix-headers/errno.texi: Mention the Minix problem.
4306
4307 2011-07-31  Bruno Haible  <bruno@clisp.org>
4308
4309         Work around declaration collisions on Minix.
4310         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
4311         defined, set REPLACE_MBSINIT.
4312         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
4313         defined, set REPLACE_MBRTOWC.
4314         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
4315         set REPLACE_MBRLEN.
4316         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
4317         defined, set REPLACE_MBSRTOWCS.
4318         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
4319         defined, set REPLACE_WCRTOMB.
4320         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
4321         defined, set REPLACE_WCSRTOMBS.
4322
4323 2011-07-31  Bruno Haible  <bruno@clisp.org>
4324
4325         Add support for Minix with ACK compiler.
4326         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
4327         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
4328         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
4329
4330 2011-07-31  Bruno Haible  <bruno@clisp.org>
4331
4332         Documentation about Minix.
4333         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
4334         * doc/glibc-headers/*.texi: Likewise.
4335         * doc/posix-functions/*.texi: Likewise.
4336         * doc/glibc-functions/*.texi: Likewise.
4337
4338 2011-07-31  Bruno Haible  <bruno@clisp.org>
4339
4340         snippet/warn-on-use: Fix indentation.
4341         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
4342
4343 2011-07-25  Jim Meyering  <meyering@redhat.com>
4344
4345         tests: test-update-copyright.sh: remove unnecessary "rm" commands
4346         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
4347         commands.
4348
4349 2011-07-27  Jim Meyering  <meyering@redhat.com>
4350
4351         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
4352         * top/maint.mk (gl_extract_significant_defines_): Now that
4353         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
4354         gnulib/lib/signal.in.h, and now that we recommend to
4355         define-if-undefined those two symbols in application code,
4356         we must filter them out of the "significant" list.
4357         This avoids a "make syntax-check" failure in coreutils.
4358
4359 2011-07-26  Eric Blake  <eblake@redhat.com>
4360
4361         warnings: add comments about previous patch
4362         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
4363         * m4/include_next.m4: Likewise.
4364         * m4/warn-on-use.m4: Likewise.
4365         * m4/warnings.m4: Likewise, and simplify use.
4366         Suggested by Stefano Lattarini.
4367
4368         include-next, warnings: support older autoconf
4369         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
4370         AS_VAR_PUSHDEF in a way that works with older autoconf.
4371         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
4372         Reported by Daniel P. Berrange.
4373
4374 2011-07-25  Bruno Haible  <bruno@clisp.org>
4375
4376         fseek, ftell: Fix doc.
4377         * doc/posix-functions/fseek.texi: Reword statement about
4378         AC_SYS_LARGEFILE.
4379         * doc/posix-functions/ftell.texi: Likewise.
4380
4381 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4382             Bruno Haible  <bruno@clisp.org>
4383
4384         Add dependencies to the 'largefile' module.
4385         * modules/fopen (Depends-on): Add 'largefile'.
4386         * modules/freopen (Depends-on): Likewise.
4387         * modules/fseeko (Depends-on): Likewise.
4388         * modules/ftello (Depends-on): Likewise.
4389         * modules/glob (Depends-on): Likewise.
4390         * modules/lseek (Depends-on): Likewise.
4391         * modules/lstat (Depends-on): Likewise.
4392         * modules/mkostemp (Depends-on): Likewise.
4393         * modules/mkostemps (Depends-on): Likewise.
4394         * modules/mkstemp (Depends-on): Likewise.
4395         * modules/mkstemps (Depends-on): Likewise.
4396         * modules/open (Depends-on): Likewise.
4397         * modules/openat (Depends-on): Likewise.
4398         * modules/pread (Depends-on): Likewise.
4399         * modules/pwrite (Depends-on): Likewise.
4400         * modules/scandir (Depends-on): Likewise.
4401         * modules/stat (Depends-on): Likewise.
4402         * modules/tmpfile (Depends-on): Likewise.
4403         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
4404         since the containing module now depends on the largefile module.
4405         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
4406         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
4407         off_t is fixed by gnulib.
4408         * doc/posix-functions/freopen.texi: Likewise.
4409         * doc/posix-functions/fseeko.texi: Likewise.
4410         * doc/posix-functions/fstatat.texi: Likewise.
4411         * doc/posix-functions/ftello.texi: Likewise.
4412         * doc/posix-functions/glob.texi: Likewise.
4413         * doc/posix-functions/lseek.texi: Likewise.
4414         * doc/posix-functions/lstat.texi: Likewise.
4415         * doc/posix-functions/mkstemp.texi: Likewise.
4416         * doc/posix-functions/open.texi: Likewise.
4417         * doc/posix-functions/openat.texi: Likewise.
4418         * doc/posix-functions/pread.texi: Likewise.
4419         * doc/posix-functions/pwrite.texi: Likewise.
4420         * doc/posix-functions/scandir.texi: Likewise.
4421         * doc/posix-functions/stat.texi: Likewise.
4422         * doc/posix-functions/tmpfile.texi: Likewise.
4423         * doc/glibc-functions/mkostemp.texi: Likewise.
4424         * doc/glibc-functions/mkostemps.texi: Likewise.
4425         * doc/glibc-functions/mkstemps.texi: Likewise.
4426
4427 2011-07-25  Bruno Haible  <bruno@clisp.org>
4428
4429         fcntl: Move AC_LIBOBJ invocation to module description.
4430         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
4431         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
4432
4433         fcntl: Remove call-in from fchdir.m4.
4434         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
4435         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
4436
4437         dup3: Remove potential call-in from fchdir.m4.
4438         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
4439         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
4440
4441         dup2: Move AC_LIBOBJ invocation to module description.
4442         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
4443         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
4444         Don't invoke AC_LIBOBJ.
4445         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
4446
4447         dup2: Remove call-in from fchdir.m4.
4448         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
4449         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
4450
4451         fclose: Move AC_LIBOBJ invocation to module description.
4452         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
4453         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
4454         to 1.
4455         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
4456
4457         fclose: Remove call-in from close.m4.
4458         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
4459         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
4460
4461         close: Move AC_LIBOBJ invocation to module description.
4462         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
4463         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
4464         1.
4465         * modules/close (configure.ac): Invoke AC_LIBOBJ.
4466
4467         close: Remove call-in from fchdir.m4.
4468         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
4469         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
4470
4471         open: Move AC_LIBOBJ invocation to module description.
4472         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
4473         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
4474         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
4475
4476         open: Remove call-in from fchdir.m4.
4477         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
4478         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
4479
4480         fchdir: Start to remove gl_REPLACE_* idiom.
4481         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
4482         (gl_FUNC_FCHDIR): Invoke it.
4483
4484 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4485
4486         * lib/ftell.c (ftell): Comment out cast.
4487
4488         close: use gl_REPLACE_FCLOSE only if defined
4489         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
4490         is defined.  The close module doesn't depend on the fclose module
4491         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
4492         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
4493         I reproduced the problem with "./gnulib-tool --test close sys_socket".
4494
4495 2011-07-24  Jim Meyering  <meyering@redhat.com>
4496
4497         test-select.h: avoid warning when using gcc's -Wmissing-declarations
4498         * tests/test-select.h (test_function): Declare as "static".
4499
4500 2011-07-24  Bruno Haible  <bruno@clisp.org>
4501
4502         doc: Mention the effects of AC_SYS_LARGEFILE.
4503         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
4504         on this function.
4505         * doc/posix-functions/aio_error.texi: Likewise.
4506         * doc/posix-functions/aio_fsync.texi: Likewise.
4507         * doc/posix-functions/aio_read.texi: Likewise.
4508         * doc/posix-functions/aio_return.texi: Likewise.
4509         * doc/posix-functions/aio_suspend.texi: Likewise.
4510         * doc/posix-functions/aio_write.texi: Likewise.
4511         * doc/posix-functions/fgetpos.texi: Likewise.
4512         * doc/posix-functions/fopen.texi: Likewise.
4513         * doc/posix-functions/freopen.texi: Likewise.
4514         * doc/posix-functions/fsetpos.texi: Likewise.
4515         * doc/posix-functions/fstatvfs.texi: Likewise.
4516         * doc/posix-functions/ftruncate.texi: Likewise.
4517         * doc/posix-functions/ftw.texi: Likewise.
4518         * doc/posix-functions/getrlimit.texi: Likewise.
4519         * doc/posix-functions/glob.texi: Likewise.
4520         * doc/posix-functions/lio_listio.texi: Likewise.
4521         * doc/posix-functions/lockf.texi: Likewise.
4522         * doc/posix-functions/mkstemp.texi: Likewise.
4523         * doc/posix-functions/mmap.texi: Likewise.
4524         * doc/posix-functions/nftw.texi: Likewise.
4525         * doc/posix-functions/openat.texi: Likewise.
4526         * doc/posix-functions/opendir.texi: Likewise.
4527         * doc/posix-functions/posix_fadvise.texi: Likewise.
4528         * doc/posix-functions/posix_fallocate.texi: Likewise.
4529         * doc/posix-functions/pread.texi: Likewise.
4530         * doc/posix-functions/pwrite.texi: Likewise.
4531         * doc/posix-functions/readdir.texi: Likewise.
4532         * doc/posix-functions/readdir_r.texi: Likewise.
4533         * doc/posix-functions/rewinddir.texi: Likewise.
4534         * doc/posix-functions/scandir.texi: Likewise.
4535         * doc/posix-functions/seekdir.texi: Likewise.
4536         * doc/posix-functions/setrlimit.texi: Likewise.
4537         * doc/posix-functions/statvfs.texi: Likewise.
4538         * doc/posix-functions/telldir.texi: Likewise.
4539         * doc/posix-functions/tmpfile.texi: Likewise.
4540         * doc/posix-functions/truncate.texi: Likewise.
4541         * doc/glibc-functions/fallocate.texi: Likewise.
4542         * doc/glibc-functions/fstatfs.texi: Likewise.
4543         * doc/glibc-functions/fts_children.texi: Likewise.
4544         * doc/glibc-functions/fts_read.texi: Likewise.
4545         * doc/glibc-functions/getdirentries.texi: Likewise.
4546         * doc/glibc-functions/mkostemp.texi: Likewise.
4547         * doc/glibc-functions/mkostemps.texi: Likewise.
4548         * doc/glibc-functions/mkstemps.texi: Likewise.
4549         * doc/glibc-functions/preadv.texi: Likewise.
4550         * doc/glibc-functions/pwritev.texi: Likewise.
4551         * doc/glibc-functions/sendfile.texi: Likewise.
4552         * doc/glibc-functions/statfs.texi: Likewise.
4553
4554 2011-07-24  Bruno Haible  <bruno@clisp.org>
4555
4556         doc: Fix typo.
4557         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
4558
4559 2011-07-24  Bruno Haible  <bruno@clisp.org>
4560
4561         doc: Mention fsusage.
4562         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
4563
4564 2011-07-24  Bruno Haible  <bruno@clisp.org>
4565
4566         doc: Mention new glibc headers and functions.
4567         * doc/glibc-headers/gshadow.texi: New file.
4568         * doc/glibc-functions/endsgent.texi: New file.
4569         * doc/glibc-functions/fgetsgent.texi: New file.
4570         * doc/glibc-functions/fgetsgent_r.texi: New file.
4571         * doc/glibc-functions/getsgent.texi: New file.
4572         * doc/glibc-functions/getsgent_r.texi: New file.
4573         * doc/glibc-functions/getsgnam.texi: New file.
4574         * doc/glibc-functions/getsgnam_r.texi: New file.
4575         * doc/glibc-functions/putsgent.texi: New file.
4576         * doc/glibc-functions/setsgent.texi: New file.
4577         * doc/glibc-functions/sgetsgent.texi: New file.
4578         * doc/glibc-functions/sgetsgent_r.texi: New file.
4579         * doc/glibc-functions/malloc_info.texi: New file.
4580         * doc/glibc-functions/preadv.texi: New file.
4581         * doc/glibc-functions/pwritev.texi: New file.
4582         * doc/glibc-functions/register_printf_modifier.texi: New file.
4583         * doc/glibc-functions/register_printf_specifier.texi: New file.
4584         * doc/glibc-functions/register_printf_type.texi: New file.
4585         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
4586         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
4587         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
4588         * doc/glibc-functions/pthread_getname_np.texi: New file.
4589         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
4590         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
4591         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
4592         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
4593         * doc/glibc-functions/pthread_setname_np.texi: New file.
4594         * doc/glibc-functions/pthread_sigqueue.texi: New file.
4595         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
4596         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
4597         * doc/glibc-functions/qsort_r.texi: New file.
4598         * doc/glibc-functions/quick_exit.texi: New file.
4599         * doc/glibc-functions/syncfs.texi: New file.
4600         * doc/gnulib.texi: Include them.
4601         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
4602         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
4603         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
4604         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
4605         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
4606         * doc/glibc-functions/execvpe.texi: Likewise.
4607
4608 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4609
4610         ftell: don't include <unistd.h>
4611         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
4612         guaranteed to define off_t, and the ftell module depends on the
4613         stdio module.
4614
4615         ftell: do not assume wraparound signed arithmetic
4616         * lib/ftell.c: Include <limits.h>.
4617         (ftell): Don't assume wraparound signed arithmetic.
4618
4619 2011-07-24  Bruno Haible  <bruno@clisp.org>
4620
4621         close: No longer depend on module 'fclose'.
4622         * modules/close (Depends-on): Remove fclose.
4623         * NEWS: Mention the change.
4624         Suggested by Sam Steingold <sds@gnu.org>.
4625
4626 2011-07-24  Bruno Haible  <bruno@clisp.org>
4627
4628         fsusage: Enable large volume support on AIX >= 5.2.
4629         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
4630         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
4631         instead of STAT_STATVFS.
4632         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
4633
4634         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
4635         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
4636         f_blocks field only on MacOS X.
4637
4638         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
4639         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
4640         * modules/fsusage (Depends-on): Add largefile.
4641
4642 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4643
4644         * README: Modernize discussion of signed integers.
4645         Assuming overflow wraparound is no longer safe.
4646         Mention ones' complement and signed magnitude.
4647
4648 2011-07-22  Bruno Haible  <bruno@clisp.org>
4649
4650         select tests, pselect tests: Refactor.
4651         * tests/test-select.h: New file, extracted from tests/test-select.c.
4652         (select_fn): New type.
4653         (test, do_select, do_select_nowait, do_select_wait, test_tty,
4654         test_connect_first, test_accept_first, test_pair, test_socket_pair,
4655         test_pipe): Add my_select argument.
4656         (test_function): Renamed from main. Add my_select argument.
4657         * tests/test-select.c: Move most code to tests/test-select.h. Include
4658         test-select.h.
4659         * modules/select-tests (Files): Add tests/test-select.h.
4660         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
4661         (my_select, main): New functions.
4662         * modules/pselect-tests (Files): Add tests/test-select.h,
4663         tests/macros.h, tests/signature.h.
4664         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
4665         (configure.ac): Check for <sys/wait.h>.
4666
4667 2011-07-22  Bruno Haible  <bruno@clisp.org>
4668
4669         sys_select tests: Check the signature of FD_*.
4670         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
4671         signature tests from here...
4672         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
4673         here.
4674         * modules/sys_select-tests (Files): Add tests/signature.h.
4675
4676 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4677
4678         largefile: new module, replacing large-inode
4679         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
4680         * MODULES.html.sh: Add largefile, remove large-inode.
4681         * modules/largefile, m4/largefile.m4: New files.
4682         * modules/large-inode, m4/large-inode.m4: Remove.
4683
4684         fsusage: port to MacOS X 10.7 with 4 TiB file systems
4685         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
4686         implementations that use only 32 bits to count blocks.
4687         On typical hosts with 1024-byte blocks, this fails with file
4688         systems as small as 4 TiB.  Problem reported by Herb Wartens
4689         <http://debbugs.gnu.org/9140> and this should also fix a similar
4690         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
4691
4692         large-inode: New module
4693         * MODULES.html.sh: Add it.
4694         * modules/large-inode, m4/large-inode.m4: New files.
4695
4696         extensions: Enable extensions on MacOS X 10.5 and later.
4697         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
4698
4699 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
4700
4701         file-has-acl: use acl_extended_file_nofollow if available
4702         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
4703         (acl_extended_file): New macro.
4704         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
4705         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
4706
4707 2011-07-21  Bruno Haible  <bruno@clisp.org>
4708
4709         Declare system functions in a way that works with C++.
4710         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
4711         declare fdopendir as extern "C".
4712         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
4713         declare frexpl as extern "C".
4714         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
4715         declare gai_strerror as extern "C".
4716         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
4717         programs, declare gai_strerror as extern "C".
4718         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
4719         declare getlogin_r as extern "C".
4720         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
4721         as extern "C".
4722         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
4723         declare ldexpl as extern "C".
4724         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
4725         as extern "C".
4726         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
4727         program, declare getmntinfo as extern "C".
4728         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
4729         stpncpy as extern "C".
4730         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
4731         program, declare __xpg_strerror_r as extern "C".
4732         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
4733         strndup as extern "C".
4734         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
4735         declare memset and bzero as extern "C".
4736         Reported by Sam Steingold <sds@gnu.org>.
4737
4738 2011-07-12  Jim Meyering  <meyering@redhat.com>
4739
4740         maint.mk: prohibit inclusion of "verify.h" without use
4741         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
4742
4743 2011-07-19  Pádraig Brady  <P@draigBrady.com>
4744
4745         timer-time: A new module to check for timer_settime()
4746         * m4/timer_time.m4: Check for the posix function.
4747         * modules/timer-time: Add the new module.
4748         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
4749         Mention it.
4750
4751 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
4752             Bruno Haible  <bruno@clisp.org>
4753
4754         pthread_sigmask: assume POSIX threads if --avoid=threadlib
4755         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
4756         not defined, assume POSIX threads and look for pthread_sigmask in
4757         $LIBS, without changing $CPPFLAGS.
4758
4759 2011-07-19  Bruno Haible  <bruno@clisp.org>
4760
4761         strstr: Update cross-compilation guess.
4762         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
4763         CPUs, guess no, in view of glibc
4764         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
4765         Suggested by Eric Blake. Reported by Reuben Thomas.
4766
4767 2011-07-19  Pádraig Brady  <P@draigBrady.com>
4768
4769         getopt-gnu: suppress core dumps from detection code
4770         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
4771         to suppress core dumps that may well occur on glibc systems.
4772         * modules/getopt-gnu: Depend on nocrash.
4773
4774 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4775
4776         pthread_sigmask: ensure usleep is declared
4777         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
4778         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
4779
4780 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
4781
4782         doc: Document NonStop portability issues.
4783         * doc/posix-functions/sigaction.texi (sigaction):
4784         * doc/posix-headers/signal.texi (signal.h):
4785         Document NonStop.  See Joachim Schmitz in
4786         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
4787
4788 2011-07-15  Bruno Haible  <bruno@clisp.org>
4789
4790         ffsl, ffsll: Avoid unportable behaviour.
4791         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
4792
4793 2011-07-15  Bruno Haible  <bruno@clisp.org>
4794
4795         ffs: More tests.
4796         * tests/test-ffs.c (NBITS): New macro.
4797         (main): Add more tests.
4798         * tests/test-ffsl.c (NBITS): New macro.
4799         (main): Add more tests.
4800         * tests/test-ffsll.c (NBITS): New macro.
4801         (main): Add more tests.
4802
4803 2011-07-15  Eric Blake  <eblake@redhat.com>
4804
4805         ffsl, ffsll: new modules
4806         * modules/ffsl: New file.
4807         * modules/ffsll: Likewise.
4808         * m4/ffsl.m4: Likewise.
4809         * m4/ffsll.m4: Likewise.
4810         * lib/ffsl.c: Likewise.
4811         * lib/ffsl.h: Likewise.
4812         * lib/ffsll.c: Likewise.
4813         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
4814         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
4815         * modules/string (Makefile.am): Substitute witnesses.
4816         * lib/strings.in.h (ffsl, ffsll): Declare.
4817         * modules/ffsl-tests: New test file.
4818         * modules/ffsll-tests: Likewise.
4819         * tests/test-ffsl.c: Likewise.
4820         * tests/test-ffsll.c: Likewise.
4821         * MODULES.html.sh (Integer arithmetic functions): Mention it.
4822         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
4823         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
4824
4825         ffs: fix m4 prerequisite
4826         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
4827
4828         ffs: avoid undefined behavior
4829         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
4830         * tests/test-ffs.c (naive, main): Avoid signed shifts.
4831         Reported by Bruno Haible.
4832
4833 2011-07-12  Bruno Haible  <bruno@clisp.org>
4834
4835         pthread_sigmask: Rely on module 'threadlib'.
4836         * modules/pthread_sigmask (Depends-on): Add threadlib.
4837         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
4838         is defined.
4839
4840 2011-07-12  Bruno Haible  <bruno@clisp.org>
4841
4842         regex: Depend on module 'strcase'.
4843         * modules/regex (Depends-on): Add strcase, for strcasecmp().
4844
4845 2011-07-12  Jim Meyering  <meyering@redhat.com>
4846
4847         warn-on-use: fix typo in file name
4848         * modules/snippet/warn-on-use (Files): Correct file name:
4849         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
4850
4851 2011-07-12  Bruno Haible  <bruno@clisp.org>
4852
4853         strings: Document module.
4854         * doc/posix-headers/strings.texi: Mention module 'strings'.
4855
4856 2011-07-12  Bruno Haible  <bruno@clisp.org>
4857
4858         Rename module '_Noreturn' to 'snippet/_Noreturn'.
4859         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
4860         (Files, Makefile.am): Update.
4861         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
4862         * modules/stdlib (Depends-on): Update.
4863
4864 2011-07-12  Bruno Haible  <bruno@clisp.org>
4865
4866         * NEWS: Mention the changes.
4867
4868         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
4869         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
4870         (Files, Makefile.am): Update.
4871         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
4872         * modules/arpa_inet (Depends-on): Update.
4873         * modules/ctype (Depends-on): Update.
4874         * modules/dirent (Depends-on): Update.
4875         * modules/fcntl-h (Depends-on): Update.
4876         * modules/glob (Depends-on): Update.
4877         * modules/iconv-h (Depends-on): Update.
4878         * modules/inttypes-incomplete (Depends-on): Update.
4879         * modules/langinfo (Depends-on): Update.
4880         * modules/locale (Depends-on): Update.
4881         * modules/math (Depends-on): Update.
4882         * modules/netdb (Depends-on): Update.
4883         * modules/poll-h (Depends-on): Update.
4884         * modules/pty (Depends-on): Update.
4885         * modules/search (Depends-on): Update.
4886         * modules/signal (Depends-on): Update.
4887         * modules/spawn (Depends-on): Update.
4888         * modules/stdio (Depends-on): Update.
4889         * modules/stdlib (Depends-on): Update.
4890         * modules/string (Depends-on): Update.
4891         * modules/strings (Depends-on): Update.
4892         * modules/sys_file (Depends-on): Update.
4893         * modules/sys_ioctl (Depends-on): Update.
4894         * modules/sys_select (Depends-on): Update.
4895         * modules/sys_socket (Depends-on): Update.
4896         * modules/sys_stat (Depends-on): Update.
4897         * modules/sys_time (Depends-on): Update.
4898         * modules/sys_times (Depends-on): Update.
4899         * modules/sys_utsname (Depends-on): Update.
4900         * modules/sys_wait (Depends-on): Update.
4901         * modules/termios (Depends-on): Update.
4902         * modules/time (Depends-on): Update.
4903         * modules/unistd (Depends-on): Update.
4904         * modules/wchar (Depends-on): Update.
4905         * modules/wctype-h (Depends-on): Update.
4906         * MODULES.html.sh (Support for building libraries and executables):
4907         Update.
4908
4909         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
4910         * modules/snippet/unused-parameter: Renamed from
4911         modules/unused-parameter.
4912         (Files, Makefile.am): Update.
4913         * build-aux/snippet/unused-parameter.h: Renamed from
4914         build-aux/unused-parameter.h.
4915         * modules/selinux-h (Depends-on): Update.
4916         * modules/unistr/base (Depends-on): Update.
4917         * MODULES.html.sh (Core language properties): Update.
4918
4919         Rename module 'link-warning' to 'snippet/link-warning'.
4920         * modules/snippet/link-warning: Renamed from modules/link-warning.
4921         (Files, Makefile.am): Update.
4922         * build-aux/snippet/link-warning.h: Renamed from
4923         build-aux/link-warning.h.
4924         * MODULES.html.sh (Support for building libraries and executables):
4925         Update.
4926
4927         Rename module 'c++defs' to 'snippet/c++defs'.
4928         * modules/snippet/c++defs: Renamed from modules/c++defs.
4929         (Files, Makefile.am): Update.
4930         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
4931         * modules/arpa_inet (Depends-on): Update.
4932         * modules/ctype (Depends-on): Update.
4933         * modules/dirent (Depends-on): Update.
4934         * modules/fcntl-h (Depends-on): Update.
4935         * modules/glob (Depends-on): Update.
4936         * modules/iconv-h (Depends-on): Update.
4937         * modules/langinfo (Depends-on): Update.
4938         * modules/locale (Depends-on): Update.
4939         * modules/math (Depends-on): Update.
4940         * modules/netdb (Depends-on): Update.
4941         * modules/poll-h (Depends-on): Update.
4942         * modules/pty (Depends-on): Update.
4943         * modules/search (Depends-on): Update.
4944         * modules/signal (Depends-on): Update.
4945         * modules/spawn (Depends-on): Update.
4946         * modules/stdio (Depends-on): Update.
4947         * modules/stdlib (Depends-on): Update.
4948         * modules/string (Depends-on): Update.
4949         * modules/strings (Depends-on): Update.
4950         * modules/sys_ioctl (Depends-on): Update.
4951         * modules/sys_select (Depends-on): Update.
4952         * modules/sys_socket (Depends-on): Update.
4953         * modules/sys_stat (Depends-on): Update.
4954         * modules/sys_time (Depends-on): Update.
4955         * modules/sys_wait (Depends-on): Update.
4956         * modules/termios (Depends-on): Update.
4957         * modules/time (Depends-on): Update.
4958         * modules/unistd (Depends-on): Update.
4959         * modules/wchar (Depends-on): Update.
4960         * modules/wctype-h (Depends-on): Update.
4961
4962         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
4963         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
4964         (Files, Makefile.am): Update.
4965         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
4966         * modules/argv-iter (Depends-on): Update.
4967         * modules/arpa_inet (Depends-on): Update.
4968         * modules/dirent (Depends-on): Update.
4969         * modules/fcntl-h (Depends-on): Update.
4970         * modules/fnmatch (Depends-on): Update.
4971         * modules/getopt-posix (Depends-on): Update.
4972         * modules/glob (Depends-on): Update.
4973         * modules/iconv-h (Depends-on): Update.
4974         * modules/inttypes-incomplete (Depends-on): Update.
4975         * modules/locale (Depends-on): Update.
4976         * modules/math (Depends-on): Update.
4977         * modules/netdb (Depends-on): Update.
4978         * modules/search (Depends-on): Update.
4979         * modules/signal (Depends-on): Update.
4980         * modules/spawn (Depends-on): Update.
4981         * modules/stdio (Depends-on): Update.
4982         * modules/stdlib (Depends-on): Update.
4983         * modules/string (Depends-on): Update.
4984         * modules/strings (Depends-on): Update.
4985         * modules/sys_socket (Depends-on): Update.
4986         * modules/sys_stat (Depends-on): Update.
4987         * modules/sys_time (Depends-on): Update.
4988         * modules/sys_times (Depends-on): Update.
4989         * modules/sys_utsname (Depends-on): Update.
4990         * modules/time (Depends-on): Update.
4991         * modules/unistd (Depends-on): Update.
4992         * modules/wchar (Depends-on): Update.
4993         * MODULES.html.sh (Support for building libraries and executables):
4994         Update.
4995
4996 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
4997
4998         Improvements on _Noreturn and related modules.
4999
5000         modules/_Exit-tests: test _Noreturn too
5001         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
5002         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
5003         (main): Use them.
5004
5005         stdnoreturn, stdnoreturn-tests: remove modules
5006         They're not needed here and a bit premature for use elsewhere.  See
5007         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
5008         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
5009         * tests/test-stdnoreturn.c: Remove files.
5010         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
5011         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
5012         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
5013         and using noreturn.
5014         * modules/openat, modules/sigpipe-die, modules/xalloc:
5015         * modules/xmemdup0, modules/xstrtol:
5016         Remove dependency on stdnoreturn.
5017
5018         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
5019         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
5020         Reparenthesize to avoid GCC warning.
5021         Support Microsoft's syntax.
5022         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
5023
5024         _Noreturn-tests: remove module
5025         * modules/_Noreturn-tests: Remove.
5026         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
5027         * tests/test-_Noreturn.c: Remove.
5028         * tests/test-stdnoreturn.c: Merge from the old
5029         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
5030
5031 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5032
5033         _Noreturn, stdnoreturn, and related modules.
5034
5035         * top/maint.mk: Adjust to new noreturn support.
5036         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
5037         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
5038
5039         xalloc: use stdnoreturn.h
5040         * lib/xalloc.h: Include <stdnoreturn.h>.
5041         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5042         * modules/xalloc (Depends-on): Add stdnoreturn.
5043
5044         xstrtol: use stdnoreturn.h
5045         * lib/xstrtol.h: Include <stdnoreturn.h>.
5046         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5047         * modules/xstrtol (Depends-on): Add stdnoreturn.
5048
5049         xmemdup0: use stdnoreturn.h
5050         * lib/xmemdup0.h: Include <stdnoreturn.h>.
5051         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5052         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
5053
5054         sigpipe-die: use stdnoreturn.h
5055         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
5056         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5057         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
5058
5059         openat: use stdnoreturn.h
5060         * lib/openat.h: Include <stdnoreturn.h>.
5061         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5062         * modules/openat (Depends-on): Add stdnoreturn.
5063
5064         * lib/openat-die.c (openat_save_fail): Modernize comment.
5065
5066         * lib/xalloc-die.c (xalloc_die): Modernize comment.
5067
5068         * lib/glthread/thread.h: Modernize comment.
5069
5070         obstack: use _Noreturn
5071         * lib/obstack.c (__attribute__): Remove macro.
5072         (print_and_abort): Use _Noreturn.
5073
5074         c-stack: use _Noreturn
5075         * lib/c-stack.c (die, overflow_handler, segv_handler):
5076         Use _Noreturn rather than __attribute__((noreturn)).
5077
5078         argmatch-tests, exclude_tests: use _Noreturn
5079         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
5080         Remove.
5081         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
5082
5083         stdlib: use _Noreturn
5084         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
5085         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
5086         * modules/stdlib (Depends-on): Add _Noreturn.
5087         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
5088
5089         stdnoreturn-tests: new module
5090         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
5091
5092         stdnoreturn: new module
5093         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
5094         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
5095
5096         _Noreturn-tests: new module
5097         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
5098
5099         _Noreturn: new module
5100         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
5101         New section, mentioning it.
5102         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
5103
5104         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
5105
5106 2011-07-11  Eric Blake  <eblake@redhat.com>
5107
5108         ffs: new module
5109         * modules/ffs: New file.
5110         * m4/ffs.m4: Likewise.
5111         * lib/ffs.c: Likewise.
5112         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
5113         * modules/strings (Makefile.am): Substitute witness.
5114         (Depends-on): Add c++defs.
5115         * lib/strings.in.h (ffs): Declare.
5116         * modules/ffs-tests: New test file.
5117         * tests/test-ffs.c: Test new module.
5118         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5119         * doc/posix-functions/ffs.texi (ffs): Likewise.
5120
5121         regex: avoid compiler warning
5122         * lib/regex.c (includes): Include <strings.h>, for use of
5123         strcasecmp in regcomp.c.
5124         Reported by Joachim Schmitz.
5125
5126 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
5127
5128         stdint: respect system's intmax_t if INTMAX_MAX
5129         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
5130         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
5131         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
5132         long but int64_t is long long, and where we will clash with the
5133         system intmax_t if we override it.  See
5134         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
5135         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
5136         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
5137         similarly for UINTMAX_C.
5138
5139 2011-07-08  Bruno Haible  <bruno@clisp.org>
5140
5141         pthread_sigmask tests: Avoid a compiler warning.
5142         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
5143         non-zero.
5144
5145         sigprocmask tests: A better way to avoid a compiler warning.
5146         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
5147         (main): Complain if system() returns non-zero.
5148         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
5149
5150 2011-07-08  Bruno Haible  <bruno@clisp.org>
5151
5152         pthread_sigmask: Work around IRIX bug.
5153         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
5154         bug.
5155         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
5156         there may be unblocked pending signals.
5157         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
5158
5159 2011-07-08  Bruno Haible  <bruno@clisp.org>
5160
5161         pthread_sigmask: Work around Cygwin bug.
5162         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
5163         bug.
5164         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
5165         the system's pthread_sigmask function.
5166         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
5167
5168 2011-07-08  Bruno Haible  <bruno@clisp.org>
5169
5170         pthread_sigmask: Work around bug in single-threaded implementation.
5171         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
5172         FreeBSD, HP-UX, Solaris bug.
5173         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
5174         * lib/pthread_sigmask.c: Include <stddef.h>.
5175         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
5176         the system's pthread_sigmask function.
5177         * modules/pthread_sigmask (configure.ac): Invoke
5178         gl_PREREQ_PTHREAD_SIGMASK.
5179         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
5180         HP-UX, Solaris.
5181
5182 2011-07-08  Eric Blake  <eblake@redhat.com>
5183
5184         test-sigprocmask: avoid compiler warning
5185         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
5186         * tests/test-sigprocmask.c (main): Use it to silence warning.
5187         Reported by Jim Meyering.
5188
5189         test-snprintf: avoid compiler warning
5190         * tests/test-snprintf.c (main): Avoid shadowed declaration.
5191         * tests/test-vsnprintf.c (main): Likewise.
5192         Reported by Jim Meyering.
5193
5194 2011-07-08  Bruno Haible  <bruno@clisp.org>
5195
5196         Tests for module 'pthread_sigmask'.
5197         * modules/pthread_sigmask-tests: New file.
5198         * tests/test-pthread_sigmask1.c: New file, based on
5199         tests/test-sigprocmask.c.
5200         * tests/test-pthread_sigmask2.c: New file.
5201
5202 2011-07-08  Jim Meyering  <meyering@redhat.com>
5203
5204         test-getopt.h: avoid warning about an unused variable
5205         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
5206
5207 2011-07-07  Jim Meyering  <meyering@redhat.com>
5208
5209         maint: reduce list of files exempt from sc_prohibit_leading_TABs
5210         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
5211         now that it no longer contains leading TABs.
5212         Remove unused "url=FIXME" statement.
5213
5214 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
5215
5216         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
5217         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5218         When gl_THREADLIB is not in use, assume that the POSIX sematics
5219         are desired.  This is better for Emacs, which uses POSIX semantics
5220         on GNUish and/or POSIXish platforms, and does not use threads at
5221         all otherwise.
5222
5223         pthread_sigmask: fix typo when testing for libraries
5224         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5225         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
5226
5227 2011-07-08  Eric Blake  <eblake@redhat.com>
5228
5229         fts: introduce FTS_NOATIME
5230         * lib/fts_.h (FTS_NOATIME): New bit flag.
5231         (FTS_OPTIONMASK): Adjust.
5232         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
5233         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
5234
5235 2011-07-08  Bruno Haible  <bruno@clisp.org>
5236
5237         Tests for module 'thread'.
5238         * modules/thread-tests: New file.
5239         * tests/test-thread_self.c: New file.
5240         * tests/test-thread_create.cc: New file.
5241
5242 2011-07-08  Bruno Haible  <bruno@clisp.org>
5243
5244         thread: Avoid gcc warnings when using gl_thread_self().
5245         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
5246         'void *'.
5247         (gl_thread_self_pointer): Update.
5248
5249 2011-07-07  Bruno Haible  <bruno@clisp.org>
5250
5251         signal-c++-tests: Check declaration of pthread_sigmask.
5252         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
5253         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
5254         $(LIB_PTHREAD_SIGMASK).
5255
5256 2011-07-07  Bruno Haible  <bruno@clisp.org>
5257
5258         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
5259         * lib/signal.in.h (pthread_sigmask): Override if
5260         REPLACE_PTHREAD_SIGMASK is 1.
5261         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5262         REPLACE_PTHREAD_SIGMASK.
5263         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
5264         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
5265         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
5266         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5267         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
5268
5269 2011-07-07  Bruno Haible  <bruno@clisp.org>
5270
5271         pthread_sigmask: Ensure declaration in <signal.h>.
5272         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
5273         include <pthread.h>.
5274         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
5275         problem.
5276
5277 2011-07-07  Bruno Haible  <bruno@clisp.org>
5278
5279         pthread_sigmask: Document the module.
5280         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
5281
5282 2011-07-07  Bruno Haible  <bruno@clisp.org>
5283
5284         pthread_sigmask: Follow gnulib conventions.
5285         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
5286         gl_PTHREAD_SIGMASK.
5287         * modules/pthread_sigmask (configure.ac): Update.
5288
5289 2011-07-07  Bruno Haible  <bruno@clisp.org>
5290
5291         pthread_sigmask: Make declaration C++ safe.
5292         * lib/signal.in.h: In two special conditions, just do an #include_next.
5293         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5294         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
5295         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5296         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5297         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
5298         not REPLACE_PTHREAD_MASK.
5299         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
5300         not REPLACE_PTHREAD_MASK.
5301         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5302
5303 2011-07-07  Bruno Haible  <bruno@clisp.org>
5304
5305         pthread_sigmask: Fix return value.
5306         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
5307         * lib/pthread_sigmask.c: New file.
5308         * modules/pthread_sigmask (Files): Add it.
5309         (configure.ac): Invoke AC_LIBOBJ.
5310
5311 2011-07-07  Eric Blake  <eblake@redhat.com>
5312
5313         getopt: more portable argv creation
5314         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
5315         const, use char arrays rather than strings.
5316         Suggested by Paul Eggert.
5317
5318 2011-07-07  Bruno Haible  <bruno@clisp.org>
5319
5320         Tests for module 'sigprocmask'.
5321         * modules/sigprocmask-tests: New file.
5322         * tests/test-sigprocmask.c: New file.
5323
5324 2011-07-07  Bruno Haible  <bruno@clisp.org>
5325
5326         float tests: Tweak.
5327         * tests/test-float.c (main): Tweak skip message.
5328
5329 2011-07-07  Eric Blake  <eblake@redhat.com>
5330
5331         getopt: avoid compiler warning during configure
5332         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
5333         assigning string literals to non-const pointer.
5334
5335         getopt-gnu: avoid crash in glibc getopt
5336         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
5337         * tests/test-getopt.h (test_getopt): Enhance test.
5338         * tests/test-getopt_long.h (test_getopt_long): Likewise.
5339         * doc/posix-functions/getopt.texi (getopt): Document it.
5340         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5341         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5342         Likewise.
5343
5344 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
5345
5346         getopt: handle W; without long options in getopt [BZ #12922]
5347         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
5348         but no long options are defined, just return 'W'.
5349
5350 2011-07-07  Bruno Haible  <bruno@clisp.org>
5351
5352         Avoid literal tabs.
5353         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
5354         variable containing a tab instead of a literal tab.
5355         Reported by Jim Meyering.
5356
5357 2011-07-07  Bruno Haible  <bruno@clisp.org>
5358
5359         Comments.
5360         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
5361
5362 2011-07-06  Bruno Haible  <bruno@clisp.org>
5363
5364         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
5365         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
5366         <winsock2.h>.
5367         (rpl_fd_isset, FD_ISSET): New definitions, copied from
5368         lib/sys_socket.in.h.
5369         (close, gethostname): Hide declarations from <winsock2.h>.
5370         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
5371         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
5372         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
5373         (select): Don't override if gnulib's <sys/select.h> was already
5374         included.
5375         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
5376         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
5377         setsockopt, shutdown, select): Tweak indentation.
5378
5379 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5380
5381         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
5382         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
5383         in an application that does not use the sys_select module.
5384
5385 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
5386
5387         poll: do not return 0 on timeout=-1
5388         * lib/poll.c: Loop with yield if no events occured
5389
5390 2011-07-06  Eric Blake  <eblake@redhat.com>
5391
5392         pthread_sigmask: always replace when not using pthread
5393         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
5394         replacement when using some threading other than pthread.  Fix
5395         logic bug.
5396
5397 2011-07-06  Bruno Haible  <bruno@clisp.org>
5398
5399         Comments.
5400         * m4/printf.m4: Update comments about mingw.
5401
5402 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5403
5404         sys_select: define sigset_t more portably
5405         * lib/sys_select.in.h: Always include <sys/types.h>, since
5406         we now need sigset_t and mingw defines it there.
5407         Include <signal.h> before split inclusion guard, to avoid
5408         mishaps on Solaris, whose <signal.h> eventually includes us.
5409         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
5410         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
5411         which come from ...
5412         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
5413         gl_CHECK_TYPE_SIGSET_T.
5414         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
5415         does the real work.
5416         * modules/sys_select (Depends-on): Add 'signal'.
5417
5418         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
5419         Suggested by Bruno Haible.
5420
5421         pselect: Use pthread_sigmask, not sigprocmask.
5422         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
5423         multithreaded apps better than sigprocmask does.
5424         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
5425         sigprocmask directly.
5426
5427 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5428
5429         * lib/pselect.c (pselect): Use plain name, without "rpl_".
5430         Don't #undef,  since we don't need any underlying pselect.
5431         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
5432         (Depends-on): Add select.
5433         (Link): Add $(LIBSOCKET).
5434         These changes suggested by Bruno Haible.
5435
5436         pselect: document better
5437         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5438         * doc/posix-functions/pselect.texi (pselect): Document new module.
5439
5440         pthread_sigmask: new module
5441         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5442         * doc/posix-functions/pthread_sigmask.texi: Document new module.
5443         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
5444         This is done only as a macro; I don't know how well that'll
5445         work for C++.  Move <sys/types.h> include before the include_next,
5446         to avoid mishap on Solaris.
5447         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
5448         * modules/signal (Makefile.am): Substitute the check's results.
5449         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
5450
5451         test-pselect: new module
5452         * modules/pselect-tests, tests/test-pselect.c: New files.
5453         * tests/test-select.c, tests/test-sys_select-c++.cc:
5454         If TEST_PSELECT is defined, test pselect instead of testing select.
5455
5456         * tests/test-sys_select.c (sigset_t): Test for it, too.
5457         Suggested by Bruno Haible.
5458
5459 2011-07-05  Eric Blake  <eblake@redhat.com>
5460
5461         snprintf: guarantee %1$d, for libintl
5462         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
5463         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
5464         * doc/posix-functions/snprintf.texi (snprintf): Update.
5465         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5466         * tests/test-snprintf.c (main): Enhance test.
5467         * tests/test-vsnprintf.c (main): Likewise.
5468
5469 2011-07-05  Jim Meyering  <meyering@redhat.com>
5470
5471         maint: exempt stdio-read.c and stdio-write.c from the cppi check
5472         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
5473         per Bruno's request, to accommodate this idiom (no space after "#")
5474         even when the function is inside an #if block:
5475         char *
5476         gets (char *s)
5477         #undef gets
5478         {
5479           ...
5480         }
5481
5482 2011-07-04  Jim Meyering  <meyering@redhat.com>
5483
5484         maint: indent with spaces, not TABs, and add a rule to check this
5485         * tests/test-userspec.c: Indent with spaces, not TABs.
5486         * tests/test-argp.c: Likewise.
5487         * tests/test-c-stack2.sh: Likewise.
5488         * tests/test-parse-duration.sh: Likewise
5489         * m4/strtod.m4: Likewise.
5490         * m4/alloca.m4: Likewise.
5491         * m4/pselect.m4: Likewise.
5492         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
5493
5494 2011-07-03  Jim Meyering  <meyering@redhat.com>
5495
5496         maint.mk: correct omissions in prohibit_argmatch_without_use check
5497         This rule would mistakenly report that argmatch.h is included without
5498         use even when both the argmatch and invalid_arg macro were used.
5499         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
5500         of argmatch and invalid_arg.
5501
5502 2011-07-03  Bruno Haible  <bruno@clisp.org>
5503
5504         Comments about EINTR.
5505         * lib/safe-read.h: Explain the purpose of this module.
5506         * lib/safe-write.h: Likewise.
5507         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
5508         module.
5509         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
5510         module.
5511         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5512
5513 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5514
5515         xnanosleep: Rewrite to use new dtotimespec module.
5516         It has the conversion code that used to be in xnanosleep.
5517         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
5518         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
5519         (TIME_T_MAX): Remove.
5520         (xnanosleep): Rewrite in terms of dtotimespec.
5521         * modules/xnanosleep (Depends-on): Add dtotimespec.
5522         Remove intprops, stdbool.
5523
5524         timespec-add, timespec-sub: new modules
5525         * lib/timespec.h (timespec_add, timespec_sub): New decls.
5526         * lib/timespec-add.c, lib/timespec-sub.c:
5527         * modules/timespec-add, modules/timespec-sub: New files.
5528
5529         dtotimespec: new module
5530         * lib/timespec.h (dtotimespec): New decl.
5531         * lib/dtotimespec.c, modules/dtotimespec: New files.
5532
5533         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
5534
5535         pselect: new module
5536         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
5537         (pselect): New decls.
5538         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
5539         since the standard pselect decl uses 'restrict'.
5540         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
5541         HAVE_PSELECT, REPLACE_PSELECT.
5542         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
5543         HAVE_PSELECT, REPLACE_PSELECT.
5544         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
5545
5546         sys_select: don't depend on sys_socket
5547         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
5548         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
5549         This fix works on GNU and GNU-like platforms, but has not been tested
5550         on native Windows.
5551         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
5552         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
5553         gl_HEADER_SYS_SOCKET.
5554         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
5555         gl_PREREQ_SYS_H_WINSOCK2.
5556
5557 2011-06-29  Eric Blake  <eblake@redhat.com>
5558
5559         pipe2: fix C89 compile problem
5560         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
5561         Reported by Bruno Haible.
5562
5563         pipe, pipe2: don't corrupt fd on error
5564         * lib/pipe.c (pipe): Leave fd unchanged on error.
5565         * lib/pipe2.c (pipe2): Likewise.
5566         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
5567         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
5568
5569 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
5570
5571         mmap-anon: do not use regular expressions inadvertently
5572         * m4/mmap-anon.m4: Remove trailing period from strings sought
5573         in the output.
5574
5575 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5576
5577         nanosleep: fix integer overflow problem
5578         * lib/nanosleep.c (my_usleep): Don't assume signed integer
5579         arithmetic wraps around on overflow.
5580
5581         nanosleep: simplify carrying
5582         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
5583         first call to the underyling nanosleep, not for the last one.
5584         This doesn't fix any bugs, but it simplifies the computation of
5585         the remaining delay.  Found while auditing integer overflow issues.
5586
5587         dup2: remove test for existence of fcntl
5588         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
5589         "#if HAVE_FCNTL", in the configure-time test program.
5590         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
5591         and therefore speeds up "configure" a bit.  Found while
5592         adding the dup2 module to Emacs.
5593
5594 2011-06-24  Eric Blake  <eblake@redhat.com>
5595
5596         maint.mk: enhance useless header checks
5597         * top/maint.mk (_sc_header_without_use): Check both include
5598         styles.
5599         (sc_prohibit_assert_without_use)
5600         (sc_prohibit_close_stream_without_use)
5601         (sc_prohibit_getopt_without_use)
5602         (sc_prohibit_quotearg_without_use)
5603         (sc_prohibit_quote_without_use)
5604         (sc_prohibit_long_options_without_use)
5605         (sc_prohibit_inttostr_without_use)
5606         (sc_prohibit_ignore_value_without_use)
5607         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
5608         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
5609         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
5610         (sc_prohibit_hash_pjw_without_use)
5611         (sc_prohibit_safe_read_without_use)
5612         (sc_prohibit_argmatch_without_use)
5613         (sc_prohibit_canonicalize_without_use)
5614         (sc_prohibit_root_dev_ino_without_use)
5615         (sc_prohibit_openat_without_use)
5616         (sc_prohibit_c_ctype_without_use)
5617         (sc_prohibit_signal_without_use)
5618         (sc_prohibit_stdio--_without_use)
5619         (sc_prohibit_stdio-safer_without_use)
5620         (sc_prohibit_strings_without_use)
5621         (sc_prohibit_intprops_without_use)
5622         (sc_prohibit_stddef_without_use)
5623         (sc_prohibit_xfreopen_without_use): Update clients.
5624
5625 2011-06-24  Jim Meyering  <meyering@redhat.com>
5626
5627         syntax-check: keep one maint.mk rule in sync with its header
5628         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
5629         of the bug Eric has just fixed, with today's commit 25e4c2ec.
5630         I prefer to avoid temporary files here, so use <(...), but that
5631         is not supported by /bin/sh, so...
5632         (SHELL): Define to /bin/bash.
5633
5634 2011-06-24  Eric Blake  <eblake@redhat.com>
5635
5636         maint.mk: update sc_prohibit_intprops_without_use
5637         * top/maint.mk (_intprops_names): Match recent changes.
5638
5639 2011-06-24  Bruno Haible  <bruno@clisp.org>
5640
5641         strerror-override: No-op tweak.
5642         * lib/strerror-override.h (strerror_override): Reorder conditions,
5643         for consistency with lib/strerror-override.c.
5644
5645 2011-06-23  Eric Blake  <eblake@redhat.com>
5646
5647         maint.mk: test further PATH_MAX issues
5648         * top/maint.mk (sc_prohibit_path_max_array): Rename...
5649         (sc_prohibit_path_max_allocation): ...and also test alloca.
5650         Suggested by Jim Meyering.
5651
5652 2011-06-22  Eric Blake  <eblake@redhat.com>
5653
5654         maint.mk: add syntax-check to avoid char[PATH_MAX]
5655         * top/maint.mk (sc_prohibit_path_max_array): New rule.
5656
5657         stat: be robust to PATH_MAX definition
5658         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
5659         * modules/stat (Depends-on): Add verify.
5660
5661         link: work around IRIX bug
5662         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
5663         * lib/link.c (rpl_link): Work around it.
5664         * tests/test-link.h (test_link): Enhance test.
5665         * doc/posix-functions/link.texi (link): Document the bug.
5666
5667         getopt: silence clang warning
5668         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
5669         dereference.
5670         Reported by Gustavo Martin Domato.
5671
5672 2011-06-22  Jim Meyering  <meyering@redhat.com>
5673
5674         bootstrap: do not insert a blank line into each .gitignore file
5675         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
5676
5677 2011-06-21  Eric Blake  <eblake@redhat.com>
5678
5679         perror: test for output mismatch
5680         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
5681         perror on IRIX.
5682
5683         strerror_r: fix OpenBSD behavior on out-of-range
5684         * lib/strerror_r.c (strerror_r): Always use maximal string.
5685         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
5686
5687         strerror_r: fix OpenBSD behavior on 0
5688         * lib/strerror-override.c (strerror_override): Also override 0
5689         when needed.
5690         * lib/strerror-override.h (strerror_override): Likewise.
5691         * lib/strerror.c (strerror): Simplify, now that 0 override is done
5692         earlier.
5693         * lib/strerror_r.c (strerror_r): Likewise.
5694         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
5695         behavior...
5696         (gl_FUNC_STRERROR_0): ...into new macro.
5697         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
5698         is overridden.
5699         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
5700         * modules/strerror-override (Files): Add strerror.m4.
5701         (configure.ac): Also provide override for 0 when needed.
5702         * doc/posix-functions/strerror.texi (strerror): Document this.
5703         * doc/posix-functions/perror.texi (perror): Likewise.
5704
5705         perror: adjust array size
5706         * modules/perror (Depends-on): Add strerror-override.
5707         * lib/perror.c (perror): Use it to avoid magic number.
5708
5709         strerror-override: reduce size
5710         * lib/strerror-override.c (strerror_override): Use fewer lines.
5711
5712 2011-06-20  Bruno Haible  <bruno@clisp.org>
5713
5714         pathmax: Ensure correct value for PATH_MAX on HP-UX.
5715         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
5716
5717 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
5718
5719         alloca: port to compilers that can optimize like GCC 4.6.0
5720         * lib/alloca.c (find_stack_direction): New signature, taken from
5721         Autoconf git.  This works with GCC 4.6.0.  This code should never
5722         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
5723         be used with other compilers that optimize as well as GCC 4.6.0 does.
5724         (alloca): Adjust to new signature.
5725         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
5726         New macro, which patches Autoconf in a similar way.
5727
5728         c-stack: stop worrying about stack direction
5729         * lib/c-stack.c (find_stack_direction): Remove.
5730         (segv_handler): Don't worry about stack direction growth, as it's
5731         too much of a pain to configure this correctly, given how compilers
5732         are optimizing-away our stack-growth detection code.  Instead, assume
5733         that any access to just before or just after the stack is OK.
5734         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
5735         Don't require AC_FUNC_ALLOCA; no longer needed.
5736
5737 2011-06-20  Eric Blake  <eblake@redhat.com>
5738
5739         test-stat: don't allocate PATH_MAX bytes
5740         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
5741         PATH_MAX-sized buffer.
5742         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
5743         * modules/stat-tests (Depends-on): Likewise.
5744         * tests/test-fstatat.c (includes): Drop pathmax.h.
5745         * tests/test-stat.c (includes): Likewise.
5746         Reported by Bruno Haible.
5747
5748 2011-06-20  Bruno Haible  <bruno@clisp.org>
5749
5750         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
5751         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
5752         * lib/float.c: New file.
5753         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
5754         REPLACE_FLOAT_LDBL.
5755         * modules/float (Files): Add lib/float.c.
5756         (configure.ac): Invoke AC_LIBOBJ.
5757         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
5758
5759 2011-06-20  Bruno Haible  <bruno@clisp.org>
5760
5761         Tests for module 'float'.
5762         * modules/float-tests: New file.
5763         * tests/test-float.c: New file.
5764
5765 2011-06-19  Bruno Haible  <bruno@clisp.org>
5766
5767         isinf: Coding style.
5768         * lib/isinf.c: Use GNU coding style.
5769
5770 2011-06-19  Bruno Haible  <bruno@clisp.org>
5771
5772         linkat test: Avoid test failure on AIX 7.1.
5773         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
5774         * tests/test-link.h (test_link): Likewise.
5775
5776 2011-06-19  Bruno Haible  <bruno@clisp.org>
5777
5778         pread test: Avoid test failure on OpenBSD 4.9.
5779         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
5780
5781 2011-06-19  Bruno Haible  <bruno@clisp.org>
5782
5783         sprintf-posix: Fix test failure on AIX 7.1.
5784         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
5785         * doc/posix-functions/dprintf.texi: Mention limited precision problem
5786         on AIX.
5787         * doc/posix-functions/fprintf.texi: Likewise.
5788         * doc/posix-functions/printf.texi: Likewise.
5789         * doc/posix-functions/snprintf.texi: Likewise.
5790         * doc/posix-functions/sprintf.texi: Likewise.
5791         * doc/posix-functions/vdprintf.texi: Likewise.
5792         * doc/posix-functions/vfprintf.texi: Likewise.
5793         * doc/posix-functions/vprintf.texi: Likewise.
5794         * doc/posix-functions/vsnprintf.texi: Likewise.
5795         * doc/posix-functions/vsprintf.texi: Likewise.
5796
5797 2011-06-19  Bruno Haible  <bruno@clisp.org>
5798
5799         roundl-ieee: Fix test failure on AIX 7.1.
5800         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
5801         * doc/posix-functions/roundl.texi: Mention problem with negative
5802         arguments.
5803
5804 2011-06-19  Bruno Haible  <bruno@clisp.org>
5805
5806         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
5807         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
5808         * doc/posix-functions/round.texi: Mention problem with negative
5809         arguments.
5810         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
5811
5812 2011-06-19  Bruno Haible  <bruno@clisp.org>
5813
5814         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
5815         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
5816         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
5817         * doc/posix-functions/roundf.texi: Mention problem with negative
5818         arguments.
5819         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
5820
5821 2011-06-19  Bruno Haible  <bruno@clisp.org>
5822
5823         ceilf-ieee: Work around bug on MacOS X 10.5.
5824         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
5825
5826         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
5827         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
5828         IEEE compliant, avoid compiler optimizations.
5829         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
5830         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
5831         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
5832         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
5833         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5834         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
5835         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5836         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5837         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5838         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
5839
5840 2011-06-19  Bruno Haible  <bruno@clisp.org>
5841
5842         ceilf-ieee: Work around bug on AIX 7.1.
5843         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
5844         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
5845
5846 2011-06-19  Bruno Haible  <bruno@clisp.org>
5847
5848         ceil-ieee: Work around bug on AIX 7.1.
5849         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
5850         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
5851
5852 2011-06-18  Bruno Haible  <bruno@clisp.org>
5853
5854         fsync test: Avoid test failure on MacOS X and AIX.
5855         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
5856         EINVAL.
5857
5858 2011-06-18  Bruno Haible  <bruno@clisp.org>
5859
5860         openat, fdopendir tests: Fix link errors.
5861         * modules/openat-tests (Depends-on): Add progname.
5862         * modules/fdopendir-tests (Depends-on): Likewise.
5863         * tests/test-fchownat.c: Include progname.h.
5864         (main): Call set_program_name.
5865         * tests/test-fstatat.c: Include progname.h.
5866         (main): Call set_program_name.
5867         * tests/test-mkdirat.c: Include progname.h.
5868         (main): Call set_program_name.
5869         * tests/test-openat.c: Include progname.h.
5870         (main): Call set_program_name.
5871         * tests/test-unlinkat.c: Include progname.h.
5872         (main): Call set_program_name.
5873         * tests/test-fdopendir.c: Include progname.h.
5874         (main): Call set_program_name.
5875
5876 2011-06-18  Bruno Haible  <bruno@clisp.org>
5877
5878         Doc update.
5879         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
5880         HP-UX.
5881         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
5882
5883 2011-06-18  Bruno Haible  <bruno@clisp.org>
5884
5885         getcwd tests: Avoid compilation error on HP-UX 11.31.
5886         * modules/getcwd-tests (Depends-on): Add pathmax.
5887         * tests/test-getcwd.c: Include pathmax.h.
5888
5889 2011-06-18  Bruno Haible  <bruno@clisp.org>
5890
5891         isfinite, isinf: Fix link error on AIX 6 and 7.
5892         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
5893         needed, also test the macro with a 'float' argument.
5894         * m4/isinf.m4 (gl_ISINF): Likewise.
5895
5896 2011-06-18  Bruno Haible  <bruno@clisp.org>
5897
5898         getloadavg: Don't clobber LIBS. Regression from previous commit.
5899         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
5900         AC_CHECK_LIB from here...
5901         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
5902         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
5903         gl_func_getloadavg_done.
5904         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5905
5906 2011-06-18  Bruno Haible  <bruno@clisp.org>
5907
5908         clean-temp: Improve documentation.
5909         * lib/clean-temp.h: Explain better how to use this module.
5910         Reported by John Darrington <john@darrington.wattle.id.au>.
5911
5912 2011-06-17  Bruno Haible  <bruno@clisp.org>
5913
5914         pread, pwrite: Avoid cc warning on AIX.
5915         * lib/unistd.in.h (pread): Undefine before defining as a macro.
5916         (pwrite): Likewise.
5917
5918 2011-06-17  Bruno Haible  <bruno@clisp.org>
5919
5920         spawn-pipe tests: Fix link error.
5921         * tests/test-spawn-pipe-child.c: Undefine fprintf.
5922         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5923
5924 2011-06-17  Bruno Haible  <bruno@clisp.org>
5925
5926         Tests: Remove unnecessary dependency.
5927         * modules/canonicalize-tests (Depends-on): Remove progname.
5928         * modules/chown-tests (Depends-on): Likewise.
5929         * modules/dirname-tests (Depends-on): Likewise.
5930         * modules/fdopendir-tests (Depends-on): Likewise.
5931         * modules/fdutimensat-tests (Depends-on): Likewise.
5932         * modules/hash-tests (Depends-on): Likewise.
5933         * modules/lchown-tests (Depends-on): Likewise.
5934         * modules/linkat-tests (Depends-on): Likewise.
5935         * modules/renameat-tests (Depends-on): Likewise.
5936         * modules/spawn-pipe-tests (Depends-on): Likewise.
5937         * modules/utimensat-tests (Depends-on): Likewise.
5938
5939 2011-06-17  Bruno Haible  <bruno@clisp.org>
5940
5941         spawn-pipe tests: Fix link error.
5942         * tests/test-spawn-pipe-child.c: Undefine fflush.
5943
5944 2011-06-17  Bruno Haible  <bruno@clisp.org>
5945
5946         Fix tests link errors.
5947         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
5948         * modules/chown-tests (Makefile.am): Don't link test-chown with
5949         LIBINTL.
5950         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
5951         LIBINTL.
5952         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
5953         LIBINTL.
5954         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
5955         LIBINTL.
5956
5957 2011-06-16  Bruno Haible  <bruno@clisp.org>
5958
5959         crypto/gc-sha1: Fix recent regression.
5960         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
5961         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
5962
5963         crypto/gc-md5: Fix recent regression.
5964         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
5965
5966         crypto/gc-md4: Fix recent regression.
5967         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
5968         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
5969
5970         crypto/gc-arctwo: Fix recent regression.
5971         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
5972         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
5973
5974         crypto/gc-rijndael: Fix recent regression.
5975         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
5976         (configure.ac): Invoke AC_LIBOBJ here.
5977         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
5978         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5979
5980         crypto/gc-hmac-sha1: Fix recent regression.
5981         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
5982         (configure.ac): Invoke AC_LIBOBJ here.
5983         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
5984         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5985
5986         crypto/gc-hmac-md5: Fix recent regression.
5987         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
5988         (configure.ac): Invoke AC_LIBOBJ here.
5989         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
5990         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5991
5992         crypto/gc-des: Fix recent regression.
5993         * modules/crypto/gc-des (Files): Remove m4/des.m4.
5994         (configure.ac): Invoke AC_LIBOBJ here.
5995         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
5996         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5997
5998         crypto/gc-arcfour: Fix recent regression.
5999         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
6000         (configure.ac): Invoke AC_LIBOBJ here.
6001         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
6002         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6003
6004 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
6005
6006         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
6007         After the 2011-05-21 change, this macro requires
6008         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
6009         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
6010
6011 2011-06-16  Bruno Haible  <bruno@clisp.org>
6012
6013         fprintftime: Move AC_LIBOBJ invocations to module description.
6014         * m4/fprintftime.m4: Remove file.
6015         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
6016         (configure.ac): Remove gl_FPRINTFTIME call.
6017         (Makefile.am): Augment lib_SOURCES.
6018         Reported by Jim Meyering.
6019
6020 2011-06-16  Bruno Haible  <bruno@clisp.org>
6021
6022         tmpfile-safer: Finish 2011-05-23 commit.
6023         * m4/stdio-safer.m4: Really remove file.
6024         Reported by Jim Meyering.
6025
6026 2011-06-16  Bruno Haible  <bruno@clisp.org>
6027
6028         syntax-check: Fix typo.
6029         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
6030         printf-posix.m4.
6031         Reported by Jim Meyering.
6032
6033 2011-06-13  Jim Meyering  <meyering@redhat.com>
6034
6035         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
6036         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
6037
6038 2011-05-23  Bruno Haible  <bruno@clisp.org>
6039
6040         yesno: Move AC_LIBOBJ invocations to module description.
6041         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
6042         * modules/yesno (Makefile.am): Augment lib_SOURCES.
6043
6044 2011-05-23  Bruno Haible  <bruno@clisp.org>
6045
6046         xstrtol: Move AC_LIBOBJ invocations to module description.
6047         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
6048         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
6049
6050 2011-05-23  Bruno Haible  <bruno@clisp.org>
6051
6052         xstrtold: Move AC_LIBOBJ invocations to module description.
6053         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
6054         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
6055
6056 2011-05-23  Bruno Haible  <bruno@clisp.org>
6057
6058         xstrtod: Move AC_LIBOBJ invocations to module description.
6059         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
6060         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
6061
6062 2011-05-23  Bruno Haible  <bruno@clisp.org>
6063
6064         xnanosleep: Move AC_LIBOBJ invocations to module description.
6065         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
6066         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
6067
6068 2011-05-23  Bruno Haible  <bruno@clisp.org>
6069
6070         xgetcwd: Move AC_LIBOBJ invocations to module description.
6071         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
6072         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
6073
6074 2011-05-23  Bruno Haible  <bruno@clisp.org>
6075
6076         xalloc: Move AC_LIBOBJ invocations to module description.
6077         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
6078         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
6079
6080 2011-05-23  Bruno Haible  <bruno@clisp.org>
6081
6082         write-any-file: Move AC_LIBOBJ invocations to module description.
6083         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
6084         invocation.
6085         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
6086
6087 2011-05-23  Bruno Haible  <bruno@clisp.org>
6088
6089         utimens: Move AC_LIBOBJ invocations to module description.
6090         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
6091         * modules/utimens (Makefile.am): Augment lib_SOURCES.
6092
6093 2011-05-23  Bruno Haible  <bruno@clisp.org>
6094
6095         utimecmp: Move AC_LIBOBJ invocations to module description.
6096         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
6097         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
6098
6099 2011-05-23  Bruno Haible  <bruno@clisp.org>
6100
6101         userspec: Move AC_LIBOBJ invocations to module description.
6102         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
6103         * modules/userspec (Makefile.am): Augment lib_SOURCES.
6104
6105 2011-05-23  Bruno Haible  <bruno@clisp.org>
6106
6107         unlinkdir: Move AC_LIBOBJ invocations to module description.
6108         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
6109         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
6110
6111 2011-05-23  Bruno Haible  <bruno@clisp.org>
6112
6113         unistd-safer: Move AC_LIBOBJ invocations to module description.
6114         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
6115         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
6116
6117 2011-05-23  Bruno Haible  <bruno@clisp.org>
6118
6119         tempname: Move AC_LIBOBJ invocations to module description.
6120         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
6121         * modules/tempname (Makefile.am): Augment lib_SOURCES.
6122
6123 2011-05-23  Bruno Haible  <bruno@clisp.org>
6124
6125         strftime: Move AC_LIBOBJ invocations to module description.
6126         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
6127         * modules/strftime (Makefile.am): Augment lib_SOURCES.
6128
6129 2011-05-23  Bruno Haible  <bruno@clisp.org>
6130
6131         stdlib-safer: Move AC_LIBOBJ invocations to module description.
6132         * m4/stdlib-safer.m4: Remove file.
6133         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
6134         (configure.ac): Remove gl_STDLIB_SAFER call.
6135         (Makefile.am): Augment lib_SOURCES.
6136
6137 2011-05-23  Bruno Haible  <bruno@clisp.org>
6138
6139         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
6140         * m4/stdio-safer.m4: Remove file.
6141         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
6142         (configure.ac): Remove gl_TMPFILE_SAFER call.
6143         (Makefile.am): Augment lib_SOURCES.
6144
6145 2011-05-23  Bruno Haible  <bruno@clisp.org>
6146
6147         popen-safer: Move AC_LIBOBJ invocations to module description.
6148         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
6149         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
6150         (configure.ac): Remove gl_POPEN_SAFER call.
6151         (Makefile.am): Augment lib_SOURCES.
6152
6153 2011-05-23  Bruno Haible  <bruno@clisp.org>
6154
6155         freopen-safer: Move AC_LIBOBJ invocations to module description.
6156         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
6157         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
6158         (configure.ac): Remove gl_FREOPEN_SAFER call.
6159         (Makefile.am): Augment lib_SOURCES.
6160
6161 2011-05-23  Bruno Haible  <bruno@clisp.org>
6162
6163         fopen-safer: Move AC_LIBOBJ invocations to module description.
6164         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
6165         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
6166         (configure.ac): Remove gl_FOPEN_SAFER call.
6167         (Makefile.am): Augment lib_SOURCES.
6168
6169 2011-05-23  Bruno Haible  <bruno@clisp.org>
6170
6171         crypto/sha512: Move AC_LIBOBJ invocations to module description.
6172         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
6173         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
6174
6175 2011-05-23  Bruno Haible  <bruno@clisp.org>
6176
6177         crypto/sha256: Move AC_LIBOBJ invocations to module description.
6178         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
6179         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
6180
6181 2011-05-23  Bruno Haible  <bruno@clisp.org>
6182
6183         crypto/sha1: Move AC_LIBOBJ invocations to module description.
6184         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
6185         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
6186
6187 2011-05-23  Bruno Haible  <bruno@clisp.org>
6188
6189         settime: Move AC_LIBOBJ invocations to module description.
6190         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
6191         * modules/settime (Makefile.am): Augment lib_SOURCES.
6192
6193 2011-05-23  Bruno Haible  <bruno@clisp.org>
6194
6195         savedir: Move AC_LIBOBJ invocations to module description.
6196         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
6197         * modules/savedir (Makefile.am): Augment lib_SOURCES.
6198
6199 2011-05-23  Bruno Haible  <bruno@clisp.org>
6200
6201         save-cwd: Move AC_LIBOBJ invocations to module description.
6202         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
6203         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
6204
6205 2011-05-23  Bruno Haible  <bruno@clisp.org>
6206
6207         same: Move AC_LIBOBJ invocations to module description.
6208         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
6209         * modules/same (Makefile.am): Augment lib_SOURCES.
6210
6211 2011-05-23  Bruno Haible  <bruno@clisp.org>
6212
6213         safe-write: Move AC_LIBOBJ invocations to module description.
6214         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
6215         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
6216         instead of gl_SAFE_WRITE.
6217         (Makefile.am): Augment lib_SOURCES.
6218
6219 2011-05-23  Bruno Haible  <bruno@clisp.org>
6220
6221         safe-read: Move AC_LIBOBJ invocations to module description.
6222         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
6223         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
6224         of gl_SAFE_READ.
6225         (Makefile.am): Augment lib_SOURCES.
6226
6227 2011-05-23  Bruno Haible  <bruno@clisp.org>
6228
6229         safe-alloc: Move AC_LIBOBJ invocations to module description.
6230         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
6231         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
6232
6233 2011-05-23  Bruno Haible  <bruno@clisp.org>
6234
6235         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
6236         * m4/rijndael.m4: Remove file.
6237         * modules/crypto/rijndael (Files): Remove it.
6238         (configure.ac): Remove gl_RIJNDAEL call.
6239         (Makefile.am): Augment lib_SOURCES.
6240
6241 2011-05-23  Bruno Haible  <bruno@clisp.org>
6242
6243         readtokens: Move AC_LIBOBJ invocations to module description.
6244         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
6245         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
6246
6247 2011-05-23  Bruno Haible  <bruno@clisp.org>
6248
6249         read-file: Move AC_LIBOBJ invocations to module description.
6250         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
6251         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
6252         of gl_FUNC_READ_FILE.
6253         (Makefile.am): Augment lib_SOURCES.
6254
6255 2011-05-23  Bruno Haible  <bruno@clisp.org>
6256
6257         quotearg: Move AC_LIBOBJ invocations to module description.
6258         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
6259         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
6260
6261 2011-05-23  Bruno Haible  <bruno@clisp.org>
6262
6263         quote: Move AC_LIBOBJ invocations to module description.
6264         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
6265         * modules/quote (Makefile.am): Augment lib_SOURCES.
6266
6267 2011-05-23  Bruno Haible  <bruno@clisp.org>
6268
6269         posixver: Move AC_LIBOBJ invocations to module description.
6270         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
6271         * modules/posixver (Makefile.am): Augment lib_SOURCES.
6272
6273 2011-05-23  Bruno Haible  <bruno@clisp.org>
6274
6275         posixtm: Move AC_LIBOBJ invocations to module description.
6276         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
6277         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
6278
6279 2011-05-23  Bruno Haible  <bruno@clisp.org>
6280
6281         physmem: Move AC_LIBOBJ invocations to module description.
6282         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
6283         * modules/physmem (Makefile.am): Augment lib_SOURCES.
6284
6285 2011-05-23  Bruno Haible  <bruno@clisp.org>
6286
6287         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
6288         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
6289         invocation.
6290         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
6291
6292 2011-05-23  Bruno Haible  <bruno@clisp.org>
6293
6294         mpsort: Move AC_LIBOBJ invocations to module description.
6295         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
6296         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
6297
6298 2011-05-23  Bruno Haible  <bruno@clisp.org>
6299
6300         modechange: Move AC_LIBOBJ invocations to module description.
6301         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
6302         * modules/modechange (Makefile.am): Augment lib_SOURCES.
6303
6304 2011-05-23  Bruno Haible  <bruno@clisp.org>
6305
6306         mkdir-p: Move AC_LIBOBJ invocations to module description.
6307         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
6308         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
6309
6310 2011-05-23  Bruno Haible  <bruno@clisp.org>
6311
6312         mkancesdirs: Move AC_LIBOBJ invocations to module description.
6313         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
6314         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
6315
6316 2011-05-23  Bruno Haible  <bruno@clisp.org>
6317
6318         mgetgroups: Move AC_LIBOBJ invocations to module description.
6319         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
6320         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
6321
6322 2011-05-23  Bruno Haible  <bruno@clisp.org>
6323
6324         memxor: Move AC_LIBOBJ invocations to module description.
6325         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
6326         * modules/memxor (Makefile.am): Augment lib_SOURCES.
6327
6328 2011-05-23  Bruno Haible  <bruno@clisp.org>
6329
6330         memcoll: Move AC_LIBOBJ invocations to module description.
6331         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
6332         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
6333
6334 2011-05-23  Bruno Haible  <bruno@clisp.org>
6335
6336         memcasecmp: Move AC_LIBOBJ invocations to module description.
6337         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
6338         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
6339
6340 2011-05-23  Bruno Haible  <bruno@clisp.org>
6341
6342         crypto/md5: Move AC_LIBOBJ invocations to module description.
6343         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
6344         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
6345
6346 2011-05-23  Bruno Haible  <bruno@clisp.org>
6347
6348         crypto/md4: Move AC_LIBOBJ invocations to module description.
6349         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
6350         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
6351
6352 2011-05-23  Bruno Haible  <bruno@clisp.org>
6353
6354         crypto/md2: Move AC_LIBOBJ invocations to module description.
6355         * m4/md2.m4: Remove file.
6356         * modules/crypto/md2 (Files): Remove it.
6357         (configure.ac): Remove gl_MD2 call.
6358         (Makefile.am): Augment lib_SOURCES.
6359
6360 2011-05-23  Bruno Haible  <bruno@clisp.org>
6361
6362         long-options: Move AC_LIBOBJ invocations to module description.
6363         * m4/long-options.m4: Remove file.
6364         * modules/long-options (Files): Remove it.
6365         (configure.ac): Remove gl_LONG_OPTIONS call.
6366         (Makefile.am): Augment lib_SOURCES.
6367
6368 2011-05-23  Bruno Haible  <bruno@clisp.org>
6369
6370         i-ring: Move AC_LIBOBJ invocations to module description.
6371         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
6372         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
6373
6374 2011-05-23  Bruno Haible  <bruno@clisp.org>
6375
6376         idcache: Move AC_LIBOBJ invocations to module description.
6377         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
6378         * modules/idcache (Makefile.am): Augment lib_SOURCES.
6379
6380 2011-05-23  Bruno Haible  <bruno@clisp.org>
6381
6382         human: Move AC_LIBOBJ invocations to module description.
6383         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
6384         * modules/human (Makefile.am): Augment lib_SOURCES.
6385
6386 2011-05-23  Bruno Haible  <bruno@clisp.org>
6387
6388         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
6389         * m4/hmac-sha1.m4: Remove file.
6390         * modules/crypto/hmac-sha1 (Files): Remove it.
6391         (configure.ac): Remove gl_HMAC_SHA1 call.
6392         (Makefile.am): Augment lib_SOURCES.
6393
6394 2011-05-23  Bruno Haible  <bruno@clisp.org>
6395
6396         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
6397         * m4/hmac-md5.m4: Remove file.
6398         * modules/crypto/hmac-md5 (Files): Remove it.
6399         (configure.ac): Remove gl_HMAC_MD5 call.
6400         (Makefile.am): Augment lib_SOURCES.
6401
6402 2011-05-23  Bruno Haible  <bruno@clisp.org>
6403
6404         hash: Move AC_LIBOBJ invocations to module description.
6405         * m4/hash.m4: Remove file.
6406         * modules/hash (Files): Remove it.
6407         (configure.ac): Remove gl_HASH call.
6408         (Makefile.am): Augment lib_SOURCES.
6409
6410 2011-05-23  Bruno Haible  <bruno@clisp.org>
6411
6412         hard-locale: Move AC_LIBOBJ invocations to module description.
6413         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
6414         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
6415
6416 2011-05-23  Bruno Haible  <bruno@clisp.org>
6417
6418         getugroups: Move AC_LIBOBJ invocations to module description.
6419         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
6420         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
6421
6422 2011-05-23  Bruno Haible  <bruno@clisp.org>
6423
6424         gettime: Move AC_LIBOBJ invocations to module description.
6425         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
6426         * modules/gettime (Makefile.am): Augment lib_SOURCES.
6427
6428 2011-05-23  Bruno Haible  <bruno@clisp.org>
6429
6430         getndelim2: Move AC_LIBOBJ invocations to module description.
6431         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
6432         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
6433
6434 2011-05-23  Bruno Haible  <bruno@clisp.org>
6435
6436         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
6437         * m4/gc-pbkdf2-sha1.m4: Remove file.
6438         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
6439         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
6440         (Makefile.am): Augment lib_SOURCES.
6441
6442 2011-05-23  Bruno Haible  <bruno@clisp.org>
6443
6444         fts: Move AC_LIBOBJ invocations to module description.
6445         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
6446         * modules/fts (configure.ac): ... to here.
6447
6448 2011-05-23  Bruno Haible  <bruno@clisp.org>
6449
6450         file-type: Move AC_LIBOBJ invocations to module description.
6451         * m4/file-type.m4: Remove file.
6452         * modules/file-type (Files): Remove it.
6453         (configure.ac): Remove gl_FILE_TYPE call.
6454         (Makefile.am): Augment lib_SOURCES.
6455
6456 2011-05-23  Bruno Haible  <bruno@clisp.org>
6457
6458         filenamecat*: Respect rules for use of AC_LIBOBJ.
6459         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
6460         Remove AC_LIBOBJ invocation.
6461         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
6462         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
6463
6464 2011-05-23  Bruno Haible  <bruno@clisp.org>
6465
6466         filemode: Move AC_LIBOBJ invocations to module description.
6467         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
6468         * modules/filemode (Makefile.am): Augment lib_SOURCES.
6469
6470 2011-05-23  Bruno Haible  <bruno@clisp.org>
6471
6472         openat-safer: Move AC_LIBOBJ invocations to module description.
6473         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
6474         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
6475
6476 2011-05-23  Bruno Haible  <bruno@clisp.org>
6477
6478         fcntl-safer: Move AC_LIBOBJ invocations to module description.
6479         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
6480         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
6481
6482 2011-05-23  Bruno Haible  <bruno@clisp.org>
6483
6484         exclude: Move AC_LIBOBJ invocations to module description.
6485         * m4/exclude.m4: Remove file.
6486         * modules/exclude (Files): Remove it.
6487         (configure.ac): Remove gl_EXCLUDE call.
6488         (Makefile.am): Augment lib_SOURCES.
6489
6490 2011-05-23  Bruno Haible  <bruno@clisp.org>
6491
6492         dirname*: Respect rules for use of AC_LIBOBJ.
6493         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
6494         invocations.
6495         * modules/dirname (Makefile.am): Augment lib_SOURCES.
6496         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
6497
6498 2011-05-23  Bruno Haible  <bruno@clisp.org>
6499
6500         dirent-safer: Move AC_LIBOBJ invocations to module description.
6501         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
6502         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
6503
6504 2011-05-23  Bruno Haible  <bruno@clisp.org>
6505
6506         crypto/des: Move AC_LIBOBJ invocations to module description.
6507         * m4/des.m4: Remove file.
6508         * modules/crypto/des (Files): Remove it.
6509         (configure.ac): Remove gl_DES call.
6510         (Makefile.am): Augment lib_SOURCES.
6511
6512 2011-05-23  Bruno Haible  <bruno@clisp.org>
6513
6514         cycle-check: Move AC_LIBOBJ invocations to module description.
6515         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
6516         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
6517
6518 2011-05-23  Bruno Haible  <bruno@clisp.org>
6519
6520         c-strtold: Move AC_LIBOBJ invocations to module description.
6521         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
6522         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
6523
6524 2011-05-23  Bruno Haible  <bruno@clisp.org>
6525
6526         c-strtod: Move AC_LIBOBJ invocations to module description.
6527         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
6528         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
6529
6530 2011-05-23  Bruno Haible  <bruno@clisp.org>
6531
6532         crc: Move AC_LIBOBJ invocations to module description.
6533         * m4/crc.m4: Remove file.
6534         * modules/crc (Files): Remove it.
6535         (configure.ac): Remove gl_CRC call.
6536         (Makefile.am): Augment lib_SOURCES.
6537
6538 2011-05-23  Bruno Haible  <bruno@clisp.org>
6539
6540         close-stream: Move AC_LIBOBJ invocations to module description.
6541         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
6542         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
6543
6544 2011-05-23  Bruno Haible  <bruno@clisp.org>
6545
6546         closeout: Move AC_LIBOBJ invocations to module description.
6547         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
6548         * modules/closeout (Makefile.am): Augment lib_SOURCES.
6549
6550 2011-05-23  Bruno Haible  <bruno@clisp.org>
6551
6552         closein: Move AC_LIBOBJ invocations to module description.
6553         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
6554         * modules/closein (Makefile.am): Augment lib_SOURCES.
6555
6556 2011-05-23  Bruno Haible  <bruno@clisp.org>
6557
6558         cloexec: Move AC_LIBOBJ invocations to module description.
6559         * m4/cloexec.m4: Remove file.
6560         * modules/cloexec (Files): Remove it.
6561         (configure.ac): Remove gl_CLOEXEC call.
6562         (Makefile.am): Augment lib_SOURCES.
6563
6564 2011-05-23  Bruno Haible  <bruno@clisp.org>
6565
6566         check-version: Move AC_LIBOBJ invocations to module description.
6567         * m4/check-version.m4: Remove file.
6568         * modules/check-version (Files): Remove it.
6569         (configure.ac): Remove gl_CHECK_VERSION call.
6570         (Makefile.am): Augment lib_SOURCES.
6571
6572 2011-05-23  Bruno Haible  <bruno@clisp.org>
6573
6574         chdir-safer: Move AC_LIBOBJ invocations to module description.
6575         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
6576         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
6577
6578 2011-05-23  Bruno Haible  <bruno@clisp.org>
6579
6580         canonicalize: Move AC_LIBOBJ invocations to module description.
6581         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
6582         AC_LIBOBJ invocation.
6583         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
6584
6585 2011-05-23  Bruno Haible  <bruno@clisp.org>
6586
6587         canon-host: Move AC_LIBOBJ invocations to module description.
6588         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
6589         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
6590         instead of gl_CANON_HOST.
6591         (Makefile.am): Augment lib_SOURCES.
6592
6593 2011-05-23  Bruno Haible  <bruno@clisp.org>
6594
6595         backupfile: Move AC_LIBOBJ invocations to module description.
6596         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
6597         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
6598
6599 2011-05-23  Bruno Haible  <bruno@clisp.org>
6600
6601         argmatch: Move AC_LIBOBJ invocations to module description.
6602         * m4/argmatch.m4: Remove file.
6603         * modules/argmatch (Files): Remove it.
6604         (configure.ac): Remove gl_ARGMATCH call.
6605         (Makefile.am): Augment lib_SOURCES.
6606
6607 2011-05-23  Bruno Haible  <bruno@clisp.org>
6608
6609         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
6610         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
6611         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
6612
6613 2011-05-23  Bruno Haible  <bruno@clisp.org>
6614
6615         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
6616         * m4/arcfour.m4: Remove file.
6617         * modules/crypto/arcfour (Files): Remove it.
6618         (configure.ac): Remove gl_ARCFOUR call.
6619         (Makefile.am): Augment lib_SOURCES.
6620
6621 2011-05-22  Bruno Haible  <bruno@clisp.org>
6622
6623         write: Move AC_LIBOBJ invocations to module description.
6624         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
6625         * modules/write (configure.ac): ... to here.
6626
6627 2011-05-22  Bruno Haible  <bruno@clisp.org>
6628
6629         wmemset: Move AC_LIBOBJ invocations to module description.
6630         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
6631         here...
6632         * modules/wmemset (configure.ac): ... to here.
6633
6634 2011-05-22  Bruno Haible  <bruno@clisp.org>
6635
6636         wmemmove: Move AC_LIBOBJ invocations to module description.
6637         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
6638         here...
6639         * modules/wmemmove (configure.ac): ... to here.
6640
6641 2011-05-22  Bruno Haible  <bruno@clisp.org>
6642
6643         wmemcpy: Move AC_LIBOBJ invocations to module description.
6644         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
6645         here...
6646         * modules/wmemcpy (configure.ac): ... to here.
6647
6648 2011-05-22  Bruno Haible  <bruno@clisp.org>
6649
6650         wmemcmp: Move AC_LIBOBJ invocations to module description.
6651         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
6652         here...
6653         * modules/wmemcmp (configure.ac): ... to here.
6654
6655 2011-05-22  Bruno Haible  <bruno@clisp.org>
6656
6657         wmemchr: Move AC_LIBOBJ invocations to module description.
6658         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
6659         here...
6660         * modules/wmemchr (configure.ac): ... to here.
6661
6662 2011-05-22  Bruno Haible  <bruno@clisp.org>
6663
6664         wcswidth: Move AC_LIBOBJ invocations to module description.
6665         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
6666         here...
6667         * modules/wcswidth (configure.ac): ... to here.
6668
6669 2011-05-22  Bruno Haible  <bruno@clisp.org>
6670
6671         wcwidth: Respect rules for use of AC_LIBOBJ.
6672         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
6673         invocation from here...
6674         * modules/wcwidth (configure.ac): ... to here.
6675         (Depends-on): Update conditions.
6676
6677 2011-05-22  Bruno Haible  <bruno@clisp.org>
6678
6679         wctype: Move AC_LIBOBJ invocations to module description.
6680         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
6681         invocation from here...
6682         * modules/wctype (configure.ac): ... to here.
6683         (Depends-on): Update conditions.
6684
6685 2011-05-22  Bruno Haible  <bruno@clisp.org>
6686
6687         wctrans: Move AC_LIBOBJ invocations to module description.
6688         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
6689         invocation from here...
6690         * modules/wctrans (configure.ac): ... to here.
6691
6692 2011-05-22  Bruno Haible  <bruno@clisp.org>
6693
6694         wctomb: Move AC_LIBOBJ invocations to module description.
6695         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
6696         invocations from here...
6697         * modules/wctomb (configure.ac): ... to here.
6698
6699 2011-05-22  Bruno Haible  <bruno@clisp.org>
6700
6701         wctob: Move AC_LIBOBJ invocations to module description.
6702         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
6703         gl_PREREQ_WCTOB invocations from here...
6704         * modules/wctob (configure.ac): ... to here.
6705         (Depends-on): Update conditions.
6706
6707 2011-05-22  Bruno Haible  <bruno@clisp.org>
6708
6709         wcsxfrm: Move AC_LIBOBJ invocations to module description.
6710         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
6711         here...
6712         * modules/wcsxfrm (configure.ac): ... to here.
6713
6714 2011-05-22  Bruno Haible  <bruno@clisp.org>
6715
6716         wcstok: Move AC_LIBOBJ invocations to module description.
6717         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
6718         * modules/wcstok (configure.ac): ... to here.
6719
6720 2011-05-22  Bruno Haible  <bruno@clisp.org>
6721
6722         wcsstr: Move AC_LIBOBJ invocations to module description.
6723         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
6724         * modules/wcsstr (configure.ac): ... to here.
6725
6726 2011-05-22  Bruno Haible  <bruno@clisp.org>
6727
6728         wcsspn: Move AC_LIBOBJ invocations to module description.
6729         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
6730         * modules/wcsspn (configure.ac): ... to here.
6731
6732 2011-05-22  Bruno Haible  <bruno@clisp.org>
6733
6734         wcsrtombs: Move AC_LIBOBJ invocations to module description.
6735         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
6736         gl_PREREQ_WCSRTOMBS invocations from here...
6737         * modules/wcsrtombs (configure.ac): ... to here.
6738
6739 2011-05-22  Bruno Haible  <bruno@clisp.org>
6740
6741         wcsrchr: Move AC_LIBOBJ invocations to module description.
6742         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
6743         here...
6744         * modules/wcsrchr (configure.ac): ... to here.
6745
6746 2011-05-22  Bruno Haible  <bruno@clisp.org>
6747
6748         wcspbrk: Move AC_LIBOBJ invocations to module description.
6749         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
6750         here...
6751         * modules/wcspbrk (configure.ac): ... to here.
6752
6753 2011-05-22  Bruno Haible  <bruno@clisp.org>
6754
6755         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
6756         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
6757         gl_PREREQ_WCSNRTOMBS invocations from here...
6758         * modules/wcsnrtombs (configure.ac): ... to here.
6759
6760 2011-05-22  Bruno Haible  <bruno@clisp.org>
6761
6762         wcsnlen: Move AC_LIBOBJ invocations to module description.
6763         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
6764         here...
6765         * modules/wcsnlen (configure.ac): ... to here.
6766
6767 2011-05-22  Bruno Haible  <bruno@clisp.org>
6768
6769         wcsncpy: Move AC_LIBOBJ invocations to module description.
6770         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
6771         here...
6772         * modules/wcsncpy (configure.ac): ... to here.
6773
6774 2011-05-22  Bruno Haible  <bruno@clisp.org>
6775
6776         wcsncmp: Move AC_LIBOBJ invocations to module description.
6777         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
6778         here...
6779         * modules/wcsncmp (configure.ac): ... to here.
6780
6781 2011-05-22  Bruno Haible  <bruno@clisp.org>
6782
6783         wcsncat: Move AC_LIBOBJ invocations to module description.
6784         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
6785         here...
6786         * modules/wcsncat (configure.ac): ... to here.
6787
6788 2011-05-22  Bruno Haible  <bruno@clisp.org>
6789
6790         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
6791         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
6792         from here...
6793         * modules/wcsncasecmp (configure.ac): ... to here.
6794
6795 2011-05-22  Bruno Haible  <bruno@clisp.org>
6796
6797         wcslen: Move AC_LIBOBJ invocations to module description.
6798         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
6799         * modules/wcslen (configure.ac): ... to here.
6800
6801 2011-05-22  Bruno Haible  <bruno@clisp.org>
6802
6803         wcsdup: Move AC_LIBOBJ invocations to module description.
6804         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
6805         * modules/wcsdup (configure.ac): ... to here.
6806
6807 2011-05-22  Bruno Haible  <bruno@clisp.org>
6808
6809         wcscspn: Move AC_LIBOBJ invocations to module description.
6810         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
6811         here...
6812         * modules/wcscspn (configure.ac): ... to here.
6813
6814 2011-05-22  Bruno Haible  <bruno@clisp.org>
6815
6816         wcscpy: Move AC_LIBOBJ invocations to module description.
6817         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
6818         * modules/wcscpy (configure.ac): ... to here.
6819
6820 2011-05-22  Bruno Haible  <bruno@clisp.org>
6821
6822         wcscoll: Move AC_LIBOBJ invocations to module description.
6823         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
6824         here...
6825         * modules/wcscoll (configure.ac): ... to here.
6826
6827 2011-05-22  Bruno Haible  <bruno@clisp.org>
6828
6829         wcscmp: Move AC_LIBOBJ invocations to module description.
6830         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
6831         * modules/wcscmp (configure.ac): ... to here.
6832
6833 2011-05-22  Bruno Haible  <bruno@clisp.org>
6834
6835         wcschr: Move AC_LIBOBJ invocations to module description.
6836         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
6837         * modules/wcschr (configure.ac): ... to here.
6838
6839 2011-05-22  Bruno Haible  <bruno@clisp.org>
6840
6841         wcscat: Move AC_LIBOBJ invocations to module description.
6842         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
6843         * modules/wcscat (configure.ac): ... to here.
6844
6845 2011-05-22  Bruno Haible  <bruno@clisp.org>
6846
6847         wcscasecmp: Move AC_LIBOBJ invocations to module description.
6848         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
6849         here...
6850         * modules/wcscasecmp (configure.ac): ... to here.
6851
6852 2011-05-22  Bruno Haible  <bruno@clisp.org>
6853
6854         wcrtomb: Move AC_LIBOBJ invocations to module description.
6855         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
6856         invocations from here...
6857         * modules/wcrtomb (configure.ac): ... to here.
6858
6859 2011-05-22  Bruno Haible  <bruno@clisp.org>
6860
6861         wcpncpy: Move AC_LIBOBJ invocations to module description.
6862         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
6863         here...
6864         * modules/wcpncpy (configure.ac): ... to here.
6865
6866 2011-05-22  Bruno Haible  <bruno@clisp.org>
6867
6868         wcpcpy: Move AC_LIBOBJ invocations to module description.
6869         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
6870         * modules/wcpcpy (configure.ac): ... to here.
6871
6872 2011-05-22  Bruno Haible  <bruno@clisp.org>
6873
6874         waitpid: Move AC_LIBOBJ invocations to module description.
6875         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
6876         invocation from here...
6877         * modules/waitpid (configure.ac): ... to here.
6878
6879 2011-05-22  Bruno Haible  <bruno@clisp.org>
6880
6881         utimensat: Move AC_LIBOBJ invocations to module description.
6882         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
6883         here...
6884         * modules/utimensat (configure.ac): ... to here.
6885
6886 2011-05-22  Bruno Haible  <bruno@clisp.org>
6887
6888         usleep: Move AC_LIBOBJ invocations to module description.
6889         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
6890         here...
6891         * modules/usleep (configure.ac): ... to here.
6892
6893 2011-05-22  Bruno Haible  <bruno@clisp.org>
6894
6895         unlockpt: Move AC_LIBOBJ invocations to module description.
6896         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
6897         gl_PREREQ_UNLOCKPT invocations from here...
6898         * modules/unlockpt (configure.ac): ... to here.
6899
6900 2011-05-22  Bruno Haible  <bruno@clisp.org>
6901
6902         unlink: Respect rules for use of AC_LIBOBJ.
6903         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
6904         * modules/unlink (configure.ac): ... to here.
6905
6906 2011-05-22  Bruno Haible  <bruno@clisp.org>
6907
6908         uname: Move AC_LIBOBJ invocations to module description.
6909         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
6910         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
6911         here...
6912         * modules/uname (configure.ac): ... to here.
6913
6914 2011-05-22  Bruno Haible  <bruno@clisp.org>
6915
6916         ttyname_r: Move AC_LIBOBJ invocations to module description.
6917         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
6918         gl_PREREQ_TTYNAME_R invocations from here...
6919         * modules/ttyname_r (configure.ac): ... to here.
6920
6921 2011-05-22  Bruno Haible  <bruno@clisp.org>
6922
6923         tsearch: Move AC_LIBOBJ invocations to module description.
6924         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
6925         invocations from here...
6926         * modules/tsearch (configure.ac): ... to here.
6927
6928 2011-05-22  Bruno Haible  <bruno@clisp.org>
6929
6930         towctrans: Move AC_LIBOBJ invocations to module description.
6931         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
6932         AC_LIBOBJ invocation from here...
6933         * modules/towctrans (configure.ac): ... to here.
6934
6935 2011-05-22  Bruno Haible  <bruno@clisp.org>
6936
6937         tmpfile: Move AC_LIBOBJ invocations to module description.
6938         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
6939         invocations from here...
6940         * modules/tmpfile (configure.ac): ... to here.
6941
6942 2011-05-22  Bruno Haible  <bruno@clisp.org>
6943
6944         times: Move AC_LIBOBJ invocations to module description.
6945         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
6946         * modules/times (configure.ac): ... to here.
6947
6948 2011-05-22  Bruno Haible  <bruno@clisp.org>
6949
6950         time_r: Move AC_LIBOBJ invocations to module description.
6951         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
6952         invocations from here...
6953         * modules/time_r (configure.ac): ... to here.
6954
6955 2011-05-22  Bruno Haible  <bruno@clisp.org>
6956
6957         timegm: Move AC_LIBOBJ invocations to module description.
6958         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
6959         invocations from here...
6960         * modules/timegm (configure.ac): ... to here.
6961
6962 2011-05-22  Bruno Haible  <bruno@clisp.org>
6963
6964         tcgetsid: Move AC_LIBOBJ invocations to module description.
6965         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
6966         and gl_PREREQ_TCGETSID invocations from here...
6967         * modules/tcgetsid (configure.ac): ... to here.
6968         (Depends-on): Update conditions.
6969
6970 2011-05-22  Bruno Haible  <bruno@clisp.org>
6971
6972         symlinkat: Move AC_LIBOBJ invocations to module description.
6973         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
6974         here...
6975         * modules/symlinkat (configure.ac): ... to here.
6976
6977 2011-05-22  Bruno Haible  <bruno@clisp.org>
6978
6979         symlink: Move AC_LIBOBJ invocations to module description.
6980         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
6981         here...
6982         * modules/symlink (configure.ac): ... to here.
6983
6984 2011-05-22  Bruno Haible  <bruno@clisp.org>
6985
6986         strverscmp: Move AC_LIBOBJ invocations to module description.
6987         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
6988         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
6989         from here...
6990         * modules/strverscmp (configure.ac): ... to here.
6991
6992 2011-05-22  Bruno Haible  <bruno@clisp.org>
6993
6994         strtok_r: Move AC_LIBOBJ invocations to module description.
6995         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
6996         and gl_PREREQ_STRTOK_R invocations from here...
6997         * modules/strtok_r (configure.ac): ... to here.
6998         (Depends-on): Update conditions.
6999
7000 2011-05-22  Bruno Haible  <bruno@clisp.org>
7001
7002         strtoumax: Move AC_LIBOBJ invocations to module description.
7003         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
7004         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
7005         from here...
7006         * modules/strtoumax (configure.ac): ... to here.
7007
7008 2011-05-22  Bruno Haible  <bruno@clisp.org>
7009
7010         strtoimax: Move AC_LIBOBJ invocations to module description.
7011         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
7012         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
7013         from here...
7014         * modules/strtoimax (configure.ac): ... to here.
7015
7016 2011-05-22  Bruno Haible  <bruno@clisp.org>
7017
7018         strtoull: Move AC_LIBOBJ invocations to module description.
7019         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
7020         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
7021         from here...
7022         * modules/strtoull (configure.ac): ... to here.
7023
7024 2011-05-22  Bruno Haible  <bruno@clisp.org>
7025
7026         strtoll: Move AC_LIBOBJ invocations to module description.
7027         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
7028         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
7029         here...
7030         * modules/strtoll (configure.ac): ... to here.
7031
7032 2011-05-22  Bruno Haible  <bruno@clisp.org>
7033
7034         strtoul: Move AC_LIBOBJ invocations to module description.
7035         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
7036         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7037         * modules/strtoul (configure.ac): ... to here.
7038
7039 2011-05-22  Bruno Haible  <bruno@clisp.org>
7040
7041         strtol: Move AC_LIBOBJ invocations to module description.
7042         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
7043         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7044         * modules/strtol (configure.ac): ... to here.
7045
7046 2011-05-22  Bruno Haible  <bruno@clisp.org>
7047
7048         strtod: Move AC_LIBOBJ invocations to module description.
7049         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
7050         invocations from here...
7051         * modules/strtod (configure.ac): ... to here.
7052
7053 2011-05-22  Bruno Haible  <bruno@clisp.org>
7054
7055         strstr*: Move AC_LIBOBJ invocations to module description.
7056         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
7057         invocations from here...
7058         * modules/strstr-simple (configure.ac): ... to here.
7059         * modules/strstr (configure.ac): ... and here.
7060
7061 2011-05-22  Bruno Haible  <bruno@clisp.org>
7062
7063         strsignal: Move AC_LIBOBJ invocations to module description.
7064         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
7065         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
7066         * modules/strsignal (configure.ac): ... to here.
7067         (Depends-on): Update conditions.
7068
7069 2011-05-22  Bruno Haible  <bruno@clisp.org>
7070
7071         strsep: Move AC_LIBOBJ invocations to module description.
7072         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
7073         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
7074         here...
7075         * modules/strsep (configure.ac): ... to here.
7076
7077 2011-05-22  Bruno Haible  <bruno@clisp.org>
7078
7079         strptime: Move AC_LIBOBJ invocations to module description.
7080         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
7081         gl_PREREQ_STRPTIME invocations from here...
7082         * modules/strptime (configure.ac): ... to here.
7083
7084 2011-05-22  Bruno Haible  <bruno@clisp.org>
7085
7086         strpbrk: Move AC_LIBOBJ invocations to module description.
7087         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
7088         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
7089         here...
7090         * modules/strpbrk (configure.ac): ... to here.
7091
7092 2011-05-22  Bruno Haible  <bruno@clisp.org>
7093
7094         strnlen: Move AC_LIBOBJ invocations to module description.
7095         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
7096         invocations from here...
7097         * modules/strnlen (configure.ac): ... to here.
7098
7099 2011-05-22  Bruno Haible  <bruno@clisp.org>
7100
7101         strndup: Move AC_LIBOBJ invocations to module description.
7102         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
7103         invocations from here...
7104         * modules/strndup (configure.ac): ... to here.
7105         (Depends-on): Update conditions.
7106
7107 2011-05-22  Bruno Haible  <bruno@clisp.org>
7108
7109         strncat: Move AC_LIBOBJ invocations to module description.
7110         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
7111         invocations from here...
7112         * modules/strncat (configure.ac): ... to here.
7113
7114 2011-05-22  Bruno Haible  <bruno@clisp.org>
7115
7116         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
7117         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
7118         invocations from here...
7119         * modules/strdup (configure.ac): ... to here.
7120         * modules/strdup-posix (configure.ac): ... and here.
7121
7122 2011-05-22  Bruno Haible  <bruno@clisp.org>
7123
7124         strcspn: Move AC_LIBOBJ invocations to module description.
7125         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
7126         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
7127         here...
7128         * modules/strcspn (configure.ac): ... to here.
7129
7130 2011-05-22  Bruno Haible  <bruno@clisp.org>
7131
7132         strchrnul: Move AC_LIBOBJ invocations to module description.
7133         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
7134         gl_PREREQ_STRCHRNUL invocations from here...
7135         * modules/strchrnul (configure.ac): ... to here.
7136
7137 2011-05-22  Bruno Haible  <bruno@clisp.org>
7138
7139         strcasestr*: Move AC_LIBOBJ invocations to module description.
7140         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
7141         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
7142         * modules/strcasestr-simple (configure.ac): ... to here.
7143         * modules/strcasestr (configure.ac): ... and here.
7144
7145 2011-05-22  Bruno Haible  <bruno@clisp.org>
7146
7147         strcase: Move AC_LIBOBJ invocations to module description.
7148         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
7149         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
7150         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
7151         gl_PREREQ_STRNCASECMP invocations from here...
7152         * modules/strcase (configure.ac): ... to here.
7153
7154 2011-05-22  Bruno Haible  <bruno@clisp.org>
7155
7156         stpncpy: Move AC_LIBOBJ invocations to module description.
7157         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
7158         here...
7159         * modules/stpncpy (configure.ac): ... to here.
7160
7161 2011-05-22  Bruno Haible  <bruno@clisp.org>
7162
7163         stpcpy: Move AC_LIBOBJ invocations to module description.
7164         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
7165         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
7166         here...
7167         * modules/stpcpy (configure.ac): ... to here.
7168
7169 2011-05-21  Bruno Haible  <bruno@clisp.org>
7170
7171         stat: Move AC_LIBOBJ invocations to module description.
7172         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
7173         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
7174         here...
7175         * modules/stat (configure.ac): ... to here.
7176
7177 2011-05-21  Bruno Haible  <bruno@clisp.org>
7178
7179         sleep: Move AC_LIBOBJ invocations to module description.
7180         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
7181         * modules/sleep (configure.ac): ... to here.
7182
7183 2011-05-21  Bruno Haible  <bruno@clisp.org>
7184
7185         signbit: Move AC_LIBOBJ invocations to module description.
7186         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
7187         * modules/signbit (configure.ac): ... to here.
7188
7189 2011-05-21  Bruno Haible  <bruno@clisp.org>
7190
7191         sigprocmask: Move AC_LIBOBJ invocations to module description.
7192         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
7193         gl_PREREQ_SIGPROMASK invocations from here...
7194         * modules/sigprocmask (configure.ac): ... to here.
7195
7196 2011-05-21  Bruno Haible  <bruno@clisp.org>
7197
7198         sigaction: Move AC_LIBOBJ invocations to module description.
7199         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
7200         gl_PREREQ_SIGACTION invocations from here...
7201         * modules/sigaction (configure.ac): ... to here.
7202
7203 2011-05-21  Bruno Haible  <bruno@clisp.org>
7204
7205         sig2str: Move AC_LIBOBJ invocations to module description.
7206         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
7207         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
7208         here...
7209         * modules/sig2str (configure.ac): ... to here.
7210
7211 2011-05-21  Bruno Haible  <bruno@clisp.org>
7212
7213         setlocale: Move AC_LIBOBJ invocations to module description.
7214         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
7215         gl_PREREQ_SETLOCALE invocations from here...
7216         * modules/setlocale (configure.ac): ... to here.
7217
7218 2011-05-21  Bruno Haible  <bruno@clisp.org>
7219
7220         unsetenv: Move AC_LIBOBJ invocations to module description.
7221         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
7222         and gl_PREREQ_UNSETENV invocations from here...
7223         * modules/unsetenv (configure.ac): ... to here.
7224         (Depends-on): Update.
7225
7226 2011-05-21  Bruno Haible  <bruno@clisp.org>
7227
7228         setenv: Move AC_LIBOBJ invocations to module description.
7229         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
7230         here...
7231         * modules/setenv (configure.ac): ... to here.
7232
7233 2011-05-21  Bruno Haible  <bruno@clisp.org>
7234
7235         selinux-h: Move AC_LIBOBJ invocations to module description.
7236         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
7237         AC_LIBOBJ invocation from here...
7238         * modules/selinux-h (configure.ac): ... to here.
7239
7240 2011-05-21  Bruno Haible  <bruno@clisp.org>
7241
7242         select: Respect rules for use of AC_LIBOBJ.
7243         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
7244         here...
7245         * modules/select (configure.ac): ... to here.
7246
7247 2011-05-21  Bruno Haible  <bruno@clisp.org>
7248
7249         scandir: Move AC_LIBOBJ invocations to module description.
7250         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
7251         invocations from here...
7252         * modules/scandir (configure.ac): ... to here.
7253
7254 2011-05-21  Bruno Haible  <bruno@clisp.org>
7255
7256         rpmatch: Move AC_LIBOBJ invocations to module description.
7257         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
7258         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
7259         here...
7260         * modules/rpmatch (configure.ac): ... to here.
7261
7262 2011-05-21  Bruno Haible  <bruno@clisp.org>
7263
7264         rmdir: Respect rules for use of AC_LIBOBJ.
7265         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
7266         * modules/rmdir (configure.ac): ... to here.
7267
7268 2011-05-21  Bruno Haible  <bruno@clisp.org>
7269
7270         renameat: Move AC_LIBOBJ invocations to module description.
7271         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
7272         here...
7273         * modules/renameat (configure.ac): ... to here.
7274
7275 2011-05-21  Bruno Haible  <bruno@clisp.org>
7276
7277         rename: Respect rules for use of AC_LIBOBJ.
7278         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
7279         here...
7280         * modules/rename (configure.ac): ... to here.
7281
7282 2011-05-21  Bruno Haible  <bruno@clisp.org>
7283
7284         remove: Move AC_LIBOBJ invocations to module description.
7285         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
7286         here...
7287         * modules/remove (configure.ac): ... to here.
7288
7289 2011-05-21  Bruno Haible  <bruno@clisp.org>
7290
7291         relocatable-lib: Move AC_LIBOBJ invocations to module description.
7292         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
7293         macro.
7294         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
7295         * modules/relocatable-lib (configure.ac): ... to here.
7296         * modules/relocatable-prog-wrapper (configure.ac): Invoke
7297         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
7298
7299 2011-05-21  Bruno Haible  <bruno@clisp.org>
7300
7301         relocatable-prog: Move AC_LIBOBJ invocations to module description.
7302         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
7303         here...
7304         * modules/relocatable-prog (configure.ac): ... to here.
7305
7306 2011-05-21  Bruno Haible  <bruno@clisp.org>
7307
7308         regex: Move AC_LIBOBJ invocations to module description.
7309         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
7310         invocations from here...
7311         * modules/regex (configure.ac): ... to here.
7312
7313 2011-05-21  Bruno Haible  <bruno@clisp.org>
7314
7315         realloc-*: Move AC_LIBOBJ invocations to module description.
7316         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
7317         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
7318         AC_LIBOBJ invocations from here...
7319         * modules/realloc-gnu (configure.ac): ... to here.
7320         * modules/realloc-posix (configure.ac): ... and here.
7321
7322 2011-05-21  Bruno Haible  <bruno@clisp.org>
7323
7324         readutmp: Move AC_LIBOBJ invocations to module description.
7325         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
7326         * modules/readutmp (configure.ac): ... to here.
7327
7328 2011-05-21  Bruno Haible  <bruno@clisp.org>
7329
7330         readlinkat: Move AC_LIBOBJ invocations to module description.
7331         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
7332         here...
7333         * modules/readlinkat (configure.ac): ... to here.
7334
7335 2011-05-21  Bruno Haible  <bruno@clisp.org>
7336
7337         readlink: Move AC_LIBOBJ invocations to module description.
7338         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
7339         gl_PREREQ_READLINK invocations from here...
7340         * modules/readlink (configure.ac): ... to here.
7341
7342 2011-05-21  Bruno Haible  <bruno@clisp.org>
7343
7344         readline: Move AC_LIBOBJ invocations to module description.
7345         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
7346         gl_PREREQ_READLINE invocations from here...
7347         * modules/readline (configure.ac): ... to here.
7348
7349 2011-05-21  Bruno Haible  <bruno@clisp.org>
7350
7351         read: Move AC_LIBOBJ invocations to module description.
7352         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
7353         * modules/read (configure.ac): ... to here.
7354
7355 2011-05-21  Bruno Haible  <bruno@clisp.org>
7356
7357         rawmemchr: Move AC_LIBOBJ invocations to module description.
7358         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
7359         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
7360         from here...
7361         * modules/rawmemchr (configure.ac): ... to here.
7362
7363 2011-05-21  Bruno Haible  <bruno@clisp.org>
7364
7365         random_r: Move AC_LIBOBJ invocations to module description.
7366         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
7367         gl_PREREQ_RANDOM_R invocations from here...
7368         * modules/random_r (configure.ac): ... to here.
7369
7370 2011-05-21  Bruno Haible  <bruno@clisp.org>
7371
7372         pwrite: Move AC_LIBOBJ invocations to module description.
7373         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
7374         * modules/pwrite (configure.ac): ... to here.
7375
7376 2011-05-21  Bruno Haible  <bruno@clisp.org>
7377
7378         putenv: Move AC_LIBOBJ invocations to module description.
7379         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
7380         * modules/putenv (configure.ac): ... to here.
7381
7382 2011-05-21  Bruno Haible  <bruno@clisp.org>
7383
7384         login_tty: Move AC_LIBOBJ invocations to module description.
7385         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
7386         * modules/login_tty (configure.ac): ... to here.
7387
7388 2011-05-21  Bruno Haible  <bruno@clisp.org>
7389
7390         openpty: Move AC_LIBOBJ invocations to module description.
7391         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
7392         * modules/openpty (configure.ac): ... to here.
7393
7394 2011-05-21  Bruno Haible  <bruno@clisp.org>
7395
7396         forkpty: Move AC_LIBOBJ invocations to module description.
7397         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
7398         * modules/forkpty (configure.ac): ... to here.
7399
7400 2011-05-21  Bruno Haible  <bruno@clisp.org>
7401
7402         ptsname: Move AC_LIBOBJ invocations to module description.
7403         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
7404         invocations from here...
7405         * modules/ptsname (configure.ac): ... to here.
7406
7407 2011-05-21  Bruno Haible  <bruno@clisp.org>
7408
7409         pread: Move AC_LIBOBJ invocations to module description.
7410         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
7411         * modules/pread (configure.ac): ... to here.
7412
7413 2011-05-21  Bruno Haible  <bruno@clisp.org>
7414
7415         posix_spawn*: Move AC_LIBOBJ invocations to module description.
7416         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
7417         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
7418         * modules/posix_spawn (configure.ac): ... to here.
7419         * modules/posix_spawnp (configure.ac): ... and here.
7420
7421 2011-05-21  Bruno Haible  <bruno@clisp.org>
7422
7423         popen: Move AC_LIBOBJ invocations to module description.
7424         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
7425         invocations from here...
7426         * modules/popen (configure.ac): ... to here.
7427
7428 2011-05-21  Bruno Haible  <bruno@clisp.org>
7429
7430         poll: Move AC_LIBOBJ invocations to module description.
7431         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
7432         invocations from here...
7433         * modules/poll (configure.ac): ... to here.
7434
7435 2011-05-21  Bruno Haible  <bruno@clisp.org>
7436
7437         pipe-posix: Move AC_LIBOBJ invocations to module description.
7438         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
7439         * modules/pipe-posix (configure.ac): ... to here.
7440
7441 2011-05-21  Bruno Haible  <bruno@clisp.org>
7442
7443         openat: Respect rules for use of AC_LIBOBJ.
7444         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
7445         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
7446         * modules/openat (configure.ac): ... to here.
7447
7448 2011-05-21  Bruno Haible  <bruno@clisp.org>
7449
7450         obstack-printf*: Move AC_LIBOBJ invocations to module description.
7451         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
7452         invocation from here...
7453         * modules/obstack-printf (configure.ac): ... to here.
7454         * modules/obstack-printf-posix (configure.ac): ... and here.
7455
7456 2011-05-21  Bruno Haible  <bruno@clisp.org>
7457
7458         nl_langinfo: Move AC_LIBOBJ invocations to module description.
7459         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
7460         from here...
7461         * modules/nl_langinfo (configure.ac): ... to here.
7462
7463 2011-05-21  Bruno Haible  <bruno@clisp.org>
7464
7465         nanosleep: Move AC_LIBOBJ invocations to module description.
7466         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
7467         gl_PREREQ_NANOSLEEP invocations from here...
7468         * modules/nanosleep (configure.ac): ... to here.
7469
7470 2011-05-21  Bruno Haible  <bruno@clisp.org>
7471
7472         mountlist: Move AC_LIBOBJ invocations to module description.
7473         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
7474         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
7475         * modules/mountlist (configure.ac): ... to here.
7476
7477 2011-05-21  Bruno Haible  <bruno@clisp.org>
7478
7479         mktime: Respect rules for use of AC_LIBOBJ.
7480         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
7481         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
7482         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
7483         (gl_FUNC_MKTIME_INTERNAL): ... and here...
7484         * modules/mktime (configure.ac): ... to here.
7485         * modules/mktime-internal (configure.ac): ... and here.
7486         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
7487
7488 2011-05-21  Bruno Haible  <bruno@clisp.org>
7489
7490         mkstemps: Move AC_LIBOBJ invocations to module description.
7491         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
7492         here...
7493         * modules/mkstemps (configure.ac): ... to here.
7494
7495 2011-05-21  Bruno Haible  <bruno@clisp.org>
7496
7497         mkstemp: Move AC_LIBOBJ invocations to module description.
7498         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
7499         gl_PREREQ_MKSTEMP invocations from here...
7500         * modules/mkstemp (configure.ac): ... to here.
7501
7502 2011-05-21  Bruno Haible  <bruno@clisp.org>
7503
7504         mkostemps: Move AC_LIBOBJ invocations to module description.
7505         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
7506         here...
7507         * modules/mkostemps (configure.ac): ... to here.
7508
7509 2011-05-21  Bruno Haible  <bruno@clisp.org>
7510
7511         mkostemp: Move AC_LIBOBJ invocations to module description.
7512         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
7513         gl_PREREQ_MKOSTEMP invocations from here...
7514         * modules/mkostemp (configure.ac): ... to here.
7515
7516 2011-05-21  Bruno Haible  <bruno@clisp.org>
7517
7518         mknod: Move AC_LIBOBJ invocations to module description.
7519         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
7520         * modules/mknod (configure.ac): ... to here.
7521
7522 2011-05-21  Bruno Haible  <bruno@clisp.org>
7523
7524         mkfifoat: Move AC_LIBOBJ invocations to module description.
7525         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
7526         here...
7527         * modules/mkfifoat (configure.ac): ... to here.
7528
7529 2011-05-21  Bruno Haible  <bruno@clisp.org>
7530
7531         mkfifo: Respect rules for use of AC_LIBOBJ.
7532         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
7533         here...
7534         * modules/mkfifo (configure.ac): ... to here.
7535
7536 2011-05-21  Bruno Haible  <bruno@clisp.org>
7537
7538         mkdtemp: Move AC_LIBOBJ invocations to module description.
7539         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
7540         invocations from here...
7541         * modules/mkdtemp (configure.ac): ... to here.
7542
7543 2011-05-21  Bruno Haible  <bruno@clisp.org>
7544
7545         mkdir: Move AC_LIBOBJ invocations to module description.
7546         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
7547         * modules/mkdir (configure.ac): ... to here.
7548
7549 2011-05-21  Bruno Haible  <bruno@clisp.org>
7550
7551         memset: Move AC_LIBOBJ invocations to module description.
7552         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
7553         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
7554         here...
7555         * modules/memset (configure.ac): ... to here.
7556
7557 2011-05-21  Bruno Haible  <bruno@clisp.org>
7558
7559         memrchr: Move AC_LIBOBJ invocations to module description.
7560         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
7561         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
7562         here...
7563         * modules/memrchr (configure.ac): ... to here.
7564
7565 2011-05-21  Bruno Haible  <bruno@clisp.org>
7566
7567         mempcpy: Move AC_LIBOBJ invocations to module description.
7568         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
7569         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
7570         here...
7571         * modules/mempcpy (configure.ac): ... to here.
7572
7573 2011-05-21  Bruno Haible  <bruno@clisp.org>
7574
7575         memmove: Move AC_LIBOBJ invocations to module description.
7576         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
7577         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
7578         here...
7579         * modules/memmove (configure.ac): ... to here.
7580
7581 2011-05-21  Bruno Haible  <bruno@clisp.org>
7582
7583         memmem*: Move AC_LIBOBJ invocations to module description.
7584         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
7585         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
7586         here...
7587         (gl_FUNC_MEMMEM): ... and here...
7588         * modules/memmem-simple (configure.ac): ... to here.
7589         * modules/memmem (configure.ac): ... and here.
7590
7591 2011-05-21  Bruno Haible  <bruno@clisp.org>
7592
7593         memcpy: Move AC_LIBOBJ invocations to module description.
7594         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
7595         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
7596         here...
7597         * modules/memcpy (configure.ac): ... to here.
7598
7599 2011-05-21  Bruno Haible  <bruno@clisp.org>
7600
7601         memcmp: Simplify autoconf macro.
7602         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
7603         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
7604         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
7605
7606 2011-05-21  Bruno Haible  <bruno@clisp.org>
7607
7608         memcmp: Move AC_LIBOBJ invocations to module description.
7609         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
7610         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
7611         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
7612         * modules/memcmp (configure.ac): ... to here.
7613         (Depends-on): Update conditions.
7614
7615 2011-05-21  Bruno Haible  <bruno@clisp.org>
7616
7617         memchr: Respect rules for use of AC_LIBOBJ.
7618         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
7619         invocations from here...
7620         * modules/memchr (configure.ac): ... to here.
7621
7622 2011-05-21  Bruno Haible  <bruno@clisp.org>
7623
7624         mbtowc: Move AC_LIBOBJ invocations to module description.
7625         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
7626         invocations from here...
7627         * modules/mbtowc (configure.ac): ... to here.
7628
7629 2011-05-21  Bruno Haible  <bruno@clisp.org>
7630
7631         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
7632         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
7633         gl_PREREQ_MBSRTOWCS invocations from here...
7634         * modules/mbsrtowcs (configure.ac): ... to here.
7635
7636 2011-05-21  Bruno Haible  <bruno@clisp.org>
7637
7638         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
7639         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
7640         gl_PREREQ_MBSNRTOWCS invocations from here...
7641         * modules/mbsnrtowcs (configure.ac): ... to here.
7642
7643 2011-05-21  Bruno Haible  <bruno@clisp.org>
7644
7645         mbsinit: Move AC_LIBOBJ invocations to module description.
7646         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
7647         invocations from here...
7648         * modules/mbsinit (configure.ac): ... to here.
7649
7650 2011-05-21  Bruno Haible  <bruno@clisp.org>
7651
7652         mbrlen: Move AC_LIBOBJ invocations to module description.
7653         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
7654         invocations from here...
7655         * modules/mbrlen (configure.ac): ... to here.
7656
7657 2011-05-21  Bruno Haible  <bruno@clisp.org>
7658
7659         mbrtowc: Respect rules for use of AC_LIBOBJ.
7660         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
7661         invocations from here...
7662         * modules/mbrtowc (configure.ac): ... to here.
7663
7664 2011-05-21  Bruno Haible  <bruno@clisp.org>
7665
7666         malloc-*: Move AC_LIBOBJ invocations to module description.
7667         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
7668         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
7669         AC_LIBOBJ invocations from here...
7670         * modules/malloc-gnu (configure.ac): ... to here.
7671         * modules/malloc-posix (configure.ac): ... and here.
7672
7673 2011-05-21  Bruno Haible  <bruno@clisp.org>
7674
7675         lstat, openat: Respect rules for use of AC_LIBOBJ.
7676         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
7677         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
7678         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
7679         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
7680         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
7681         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
7682         here.
7683         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
7684
7685 2011-05-21  Bruno Haible  <bruno@clisp.org>
7686
7687         lseek: Move AC_LIBOBJ invocations to module description.
7688         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
7689         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
7690         * modules/lseek (configure.ac): ... to here.
7691
7692 2011-05-21  Bruno Haible  <bruno@clisp.org>
7693
7694         linkat: Move AC_LIBOBJ invocations to module description.
7695         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
7696         here...
7697         * modules/linkat (configure.ac): ... to here.
7698
7699 2011-05-21  Bruno Haible  <bruno@clisp.org>
7700
7701         link: Respect rules for use of AC_LIBOBJ.
7702         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
7703         * modules/link (configure.ac): ... to here.
7704
7705 2011-05-21  Bruno Haible  <bruno@clisp.org>
7706
7707         lchown: Move AC_LIBOBJ invocations to module description.
7708         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
7709         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
7710         * modules/lchown (configure.ac): ... to here.
7711
7712 2011-05-21  Bruno Haible  <bruno@clisp.org>
7713
7714         iswctype: Move AC_LIBOBJ invocations to module description.
7715         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
7716         here...
7717         * modules/iswctype (configure.ac): ... to here.
7718
7719 2011-05-21  Bruno Haible  <bruno@clisp.org>
7720
7721         iswblank: Move AC_LIBOBJ invocations to module description.
7722         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
7723         here...
7724         * modules/iswblank (configure.ac): ... to here.
7725
7726 2011-05-21  Bruno Haible  <bruno@clisp.org>
7727
7728         atanl: Move AC_LIBOBJ invocations to module description.
7729         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
7730         * modules/atanl (configure.ac): ... to here.
7731
7732 2011-05-21  Bruno Haible  <bruno@clisp.org>
7733
7734         acosl: Move AC_LIBOBJ invocations to module description.
7735         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
7736         * modules/acosl (configure.ac): ... to here.
7737
7738 2011-05-21  Bruno Haible  <bruno@clisp.org>
7739
7740         asinl: Respect rules for use of AC_LIBOBJ.
7741         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
7742         * modules/asinl (configure.ac): ... to here.
7743
7744 2011-05-21  Bruno Haible  <bruno@clisp.org>
7745
7746         tanl: Move AC_LIBOBJ invocations to module description.
7747         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
7748         * modules/tanl (configure.ac): ... to here.
7749
7750 2011-05-21  Bruno Haible  <bruno@clisp.org>
7751
7752         cosl: Move AC_LIBOBJ invocations to module description.
7753         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
7754         * modules/cosl (configure.ac): ... to here.
7755
7756 2011-05-21  Bruno Haible  <bruno@clisp.org>
7757
7758         sinl: Move AC_LIBOBJ invocations to module description.
7759         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
7760         * modules/sinl (configure.ac): ... to here.
7761
7762 2011-05-21  Bruno Haible  <bruno@clisp.org>
7763
7764         logl: Move AC_LIBOBJ invocations to module description.
7765         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
7766         * modules/logl (configure.ac): ... to here.
7767
7768 2011-05-21  Bruno Haible  <bruno@clisp.org>
7769
7770         expl: Move AC_LIBOBJ invocations to module description.
7771         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
7772         * modules/expl (configure.ac): ... to here.
7773
7774 2011-05-21  Bruno Haible  <bruno@clisp.org>
7775
7776         roundl: Move AC_LIBOBJ invocations to module description.
7777         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
7778         * modules/roundl (configure.ac): ... to here.
7779
7780 2011-05-21  Bruno Haible  <bruno@clisp.org>
7781
7782         round: Move AC_LIBOBJ invocations to module description.
7783         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
7784         * modules/round (configure.ac): ... to here.
7785
7786 2011-05-21  Bruno Haible  <bruno@clisp.org>
7787
7788         roundf: Move AC_LIBOBJ invocations to module description.
7789         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
7790         * modules/roundf (configure.ac): ... to here.
7791
7792 2011-05-21  Bruno Haible  <bruno@clisp.org>
7793
7794         truncl: Move AC_LIBOBJ invocations to module description.
7795         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
7796         * modules/truncl (configure.ac): ... to here.
7797
7798 2011-05-21  Bruno Haible  <bruno@clisp.org>
7799
7800         trunc: Move AC_LIBOBJ invocations to module description.
7801         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
7802         * modules/trunc (configure.ac): ... to here.
7803
7804 2011-05-21  Bruno Haible  <bruno@clisp.org>
7805
7806         truncf: Move AC_LIBOBJ invocations to module description.
7807         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
7808         * modules/truncf (configure.ac): ... to here.
7809
7810 2011-05-21  Bruno Haible  <bruno@clisp.org>
7811
7812         ceill: Move AC_LIBOBJ invocations to module description.
7813         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
7814         * modules/ceill (configure.ac): ... to here.
7815
7816 2011-05-21  Bruno Haible  <bruno@clisp.org>
7817
7818         ceil: Move AC_LIBOBJ invocations to module description.
7819         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
7820         * modules/ceil (configure.ac): ... to here.
7821
7822 2011-05-21  Bruno Haible  <bruno@clisp.org>
7823
7824         ceilf: Move AC_LIBOBJ invocations to module description.
7825         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
7826         * modules/ceilf (configure.ac): ... to here.
7827
7828 2011-05-21  Bruno Haible  <bruno@clisp.org>
7829
7830         floorl: Respect rules for use of AC_LIBOBJ.
7831         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
7832         * modules/floorl (configure.ac): ... to here.
7833
7834 2011-05-21  Bruno Haible  <bruno@clisp.org>
7835
7836         floor: Respect rules for use of AC_LIBOBJ.
7837         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
7838         * modules/floor (configure.ac): ... to here.
7839
7840 2011-05-21  Bruno Haible  <bruno@clisp.org>
7841
7842         floorf: Move AC_LIBOBJ invocations to module description.
7843         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
7844         * modules/floorf (configure.ac): ... to here.
7845
7846 2011-05-20  Bruno Haible  <bruno@clisp.org>
7847
7848         sqrtl: Respect rules for use of AC_LIBOBJ.
7849         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
7850         * modules/sqrtl (configure.ac): ... to here.
7851
7852 2011-05-20  Bruno Haible  <bruno@clisp.org>
7853
7854         ldexpl: Respect rules for use of AC_LIBOBJ.
7855         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
7856         * modules/ldexpl (configure.ac): ... to here.
7857
7858 2011-05-20  Bruno Haible  <bruno@clisp.org>
7859
7860         frexpl*: Respect rules for use of AC_LIBOBJ.
7861         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
7862         invocation from here...
7863         * modules/frexpl (configure.ac): ... to here.
7864         * modules/frexpl-nolibm (configure.ac): ... and here.
7865
7866 2011-05-20  Bruno Haible  <bruno@clisp.org>
7867
7868         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
7869         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
7870         invocation from here...
7871         * modules/frexp (configure.ac): ... to here.
7872         * modules/frexp-nolibm (configure.ac): ... and here.
7873
7874 2011-05-20  Bruno Haible  <bruno@clisp.org>
7875
7876         isnan: Respect rules for use of AC_LIBOBJ.
7877         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
7878         invocations here.
7879         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
7880         REPLACE_ISNAN.
7881         * modules/isnand (configure.ac): Likewise.
7882         * modules/isnanl (configure.ac): Likewise.
7883
7884 2011-05-20  Bruno Haible  <bruno@clisp.org>
7885
7886         isnanl*: Respect rules for use of AC_LIBOBJ.
7887         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
7888         invocation from here...
7889         * modules/isnanl (configure.ac): ... to here.
7890         * modules/isnanl-nolibm (configure.ac): ... and here.
7891
7892 2011-05-20  Bruno Haible  <bruno@clisp.org>
7893
7894         isnand*: Move AC_LIBOBJ invocations to module description.
7895         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
7896         invocation from here...
7897         * modules/isnand (configure.ac): ... to here.
7898         * modules/isnand-nolibm (configure.ac): ... and here.
7899
7900 2011-05-20  Bruno Haible  <bruno@clisp.org>
7901
7902         isnanf*: Move AC_LIBOBJ invocations to module description.
7903         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
7904         invocation from here...
7905         * modules/isnanf (configure.ac): ... to here.
7906         * modules/isnanf-nolibm (configure.ac): ... and here.
7907
7908 2011-05-20  Bruno Haible  <bruno@clisp.org>
7909
7910         isnan*: Separate the AC_LIBOBJ invocations.
7911         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
7912         AC_LIBOBJ invocation.
7913         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
7914         here.
7915         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
7916         AC_LIBOBJ invocation.
7917         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
7918         here.
7919         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
7920         AC_LIBOBJ invocation.
7921         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
7922         here.
7923         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
7924
7925 2011-05-08  Bruno Haible  <bruno@clisp.org>
7926
7927         isinf: Move AC_LIBOBJ invocations to module description.
7928         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
7929         * modules/isinf (configure.ac): ... to here.
7930
7931 2011-05-08  Bruno Haible  <bruno@clisp.org>
7932
7933         isfinite: Move AC_LIBOBJ invocations to module description.
7934         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
7935         * modules/isfinite (configure.ac): ... to here.
7936
7937 2011-05-08  Bruno Haible  <bruno@clisp.org>
7938
7939         isblank: Move AC_LIBOBJ invocations to module description.
7940         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
7941         here...
7942         * modules/isblank (configure.ac): ... to here.
7943
7944 2011-05-08  Bruno Haible  <bruno@clisp.org>
7945
7946         isapipe: Move AC_LIBOBJ invocations to module description.
7947         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
7948         gl_PREREQ_ISAPIPE invocations from here...
7949         * modules/isapipe (configure.ac): ... to here.
7950         (Depends-on): Update condition.
7951
7952 2011-05-08  Bruno Haible  <bruno@clisp.org>
7953
7954         ioctl: Move AC_LIBOBJ invocations to module description.
7955         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
7956         invocations from here...
7957         * modules/ioctl (configure.ac): ... to here.
7958         (Depends-on): Update condition.
7959
7960 2011-05-08  Bruno Haible  <bruno@clisp.org>
7961
7962         imaxdiv: Move AC_LIBOBJ invocations to module description.
7963         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
7964         invocations from here...
7965         * modules/imaxdiv (configure.ac): ... to here.
7966
7967 2011-05-08  Bruno Haible  <bruno@clisp.org>
7968
7969         imaxabs: Move AC_LIBOBJ invocations to module description.
7970         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
7971         invocations from here...
7972         * modules/imaxabs (configure.ac): ... to here.
7973
7974 2011-05-08  Bruno Haible  <bruno@clisp.org>
7975
7976         getaddrinfo: Move AC_LIBOBJ invocations to module description.
7977         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
7978         AC_LIBOBJ invocations from here...
7979         * modules/getaddrinfo (configure.ac): ... to here.
7980         (Depends-on): Add conditions.
7981
7982 2011-05-08  Bruno Haible  <bruno@clisp.org>
7983
7984         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
7985         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
7986         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
7987         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
7988         (gl_PREREQ_INET_PTON): ... from here.
7989         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
7990         gl_PREREQ_INET_PTON here.
7991         (Depends-on): Update condition.
7992
7993 2011-05-08  Bruno Haible  <bruno@clisp.org>
7994
7995         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
7996         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
7997         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
7998         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
7999         (gl_PREREQ_INET_NTOP): ... from here.
8000         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
8001         gl_PREREQ_INET_NTOP here.
8002         (Depends-on): Update condition.
8003
8004 2011-05-08  Bruno Haible  <bruno@clisp.org>
8005
8006         iconv_open: Move AC_LIBOBJ invocations to module description.
8007         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
8008         AC_LIBOBJ invocations from here...
8009         * modules/iconv_open (configure.ac): ... to here.
8010
8011 2011-05-08  Bruno Haible  <bruno@clisp.org>
8012
8013         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
8014         If module 'iconv_open' is among the main modules and module
8015         'iconv_open-utf' is among the tests dependencies, then
8016         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
8017         return the special iconv_t values. Therefore iconv() and iconv_close()
8018         must support these special iconv_t values, already in lib, not only in
8019         tests.
8020         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
8021         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
8022         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
8023         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
8024         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
8025         (Depends-on): Add the dependencies of iconv_open-utf.
8026         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
8027         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
8028         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
8029
8030 2011-05-08  Bruno Haible  <bruno@clisp.org>
8031
8032         group-member: Move AC_LIBOBJ invocations to module description.
8033         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
8034         gl_PREREQ_GROUP_MEMBER invocations from here...
8035         * modules/group-member (configure.ac): ... to here.
8036
8037 2011-05-08  Bruno Haible  <bruno@clisp.org>
8038
8039         grantpt: Move AC_LIBOBJ invocations to module description.
8040         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
8041         invocations from here...
8042         * modules/grantpt (configure.ac): ... to here.
8043
8044 2011-05-08  Bruno Haible  <bruno@clisp.org>
8045
8046         glob: Move AC_LIBOBJ invocations to module description.
8047         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
8048         from here...
8049         * modules/glob (configure.ac): ... to here.
8050
8051 2011-05-08  Bruno Haible  <bruno@clisp.org>
8052
8053         getusershell: Move AC_LIBOBJ invocations to module description.
8054         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
8055         Move AC_LIBOBJ invocation from here...
8056         * modules/getusershell (configure.ac): ... to here.
8057         (Depends-on): Update condition.
8058
8059 2011-05-08  Bruno Haible  <bruno@clisp.org>
8060
8061         gettimeofday: Move AC_LIBOBJ invocations to module description.
8062         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
8063         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
8064         gl_PREREQ_GETTIMEOFDAY invocations from here...
8065         * modules/gettimeofday (configure.ac): ... to here.
8066
8067 2011-05-08  Bruno Haible  <bruno@clisp.org>
8068
8069         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
8070         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
8071         just gl_FUNC_TZSET.
8072         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
8073         (gl_FUNC_TZSET_CLOBBER): Remove actions.
8074         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
8075         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
8076
8077 2011-05-08  Bruno Haible  <bruno@clisp.org>
8078
8079         getsubopt: Move AC_LIBOBJ invocations to module description.
8080         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
8081         gl_PREREQ_GETSUBOPT invocations from here...
8082         * modules/getsubopt (configure.ac): ... to here.
8083
8084 2011-05-08  Bruno Haible  <bruno@clisp.org>
8085
8086         getpass-gnu: Move AC_LIBOBJ invocations to module description.
8087         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
8088         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
8089         * modules/getpass-gnu (configure.ac): ... to here.
8090
8091 2011-05-08  Bruno Haible  <bruno@clisp.org>
8092
8093         getpass: Move AC_LIBOBJ invocations to module description.
8094         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
8095         gl_PREREQ_GETPASS invocations from here...
8096         * modules/getpass (configure.ac): ... to here.
8097
8098 2011-05-08  Bruno Haible  <bruno@clisp.org>
8099
8100         getpagesize: Move AC_LIBOBJ invocations to module description.
8101         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
8102         from here...
8103         * modules/getpagesize (configure.ac): ... to here.
8104
8105 2011-05-08  Bruno Haible  <bruno@clisp.org>
8106
8107         getopt: Move AC_LIBOBJ invocations to module description.
8108         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
8109         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
8110         invocations from here...
8111         * modules/getopt-gnu (configure.ac): ... to here.
8112         * modules/getopt-posix (configure.ac): ... and here.
8113         (Depends-on): Update condition.
8114
8115 2011-05-08  Bruno Haible  <bruno@clisp.org>
8116
8117         getopt, argp: Respect rules for use of AC_LIBOBJ.
8118         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
8119         (gl_REPLACE_GETOPT_ALWAYS): New macro.
8120         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
8121         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
8122
8123 2011-05-08  Bruno Haible  <bruno@clisp.org>
8124
8125         getlogin_r: Move AC_LIBOBJ invocations to module description.
8126         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
8127         gl_PREREQ_GETLOGIN_R invocations from here...
8128         * modules/getlogin_r (configure.ac): ... to here.
8129
8130 2011-05-08  Bruno Haible  <bruno@clisp.org>
8131
8132         getlogin: Move AC_LIBOBJ invocations to module description.
8133         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
8134         here...
8135         * modules/getlogin (configure.ac): ... to here.
8136
8137 2011-05-08  Bruno Haible  <bruno@clisp.org>
8138
8139         getloadavg: Move AC_LIBOBJ invocations to module description.
8140         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
8141         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
8142         * modules/getloadavg (configure.ac): ... to here.
8143
8144 2011-05-08  Bruno Haible  <bruno@clisp.org>
8145
8146         gethrxtime: Move AC_LIBOBJ invocations to module description.
8147         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
8148         LIB_GETHRXTIME from here...
8149         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
8150         invocations from here...
8151         * modules/gethrxtime (configure.ac): ... to here.
8152
8153 2011-05-08  Bruno Haible  <bruno@clisp.org>
8154
8155         gethostname: Move AC_LIBOBJ invocations to module description.
8156         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
8157         gl_PREREQ_GETHOSTNAME invocations from here...
8158         * modules/gethostname (configure.ac): ... to here.
8159
8160 2011-05-08  Bruno Haible  <bruno@clisp.org>
8161
8162         getgroups: Move AC_LIBOBJ invocations to module description.
8163         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
8164         here...
8165         * modules/getgroups (configure.ac): ... to here.
8166
8167 2011-05-08  Bruno Haible  <bruno@clisp.org>
8168
8169         getdtablesize: Move AC_LIBOBJ invocations to module description.
8170         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
8171         invocation from here...
8172         * modules/getdtablesize (configure.ac): ... to here.
8173
8174 2011-05-08  Bruno Haible  <bruno@clisp.org>
8175
8176         getdomainname: Move AC_LIBOBJ invocations to module description.
8177         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
8178         gl_PREREQ_GETDOMAINNAME invocations from here...
8179         * modules/getdomainname (configure.ac): ... to here.
8180
8181 2011-05-08  Bruno Haible  <bruno@clisp.org>
8182
8183         getline: Move AC_LIBOBJ invocations to module description.
8184         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
8185         invocations from here...
8186         * modules/getline (configure.ac): ... to here.
8187
8188 2011-05-08  Bruno Haible  <bruno@clisp.org>
8189
8190         getline: Simplify.
8191         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
8192         It's already handled through the module dependency.
8193
8194 2011-05-08  Bruno Haible  <bruno@clisp.org>
8195
8196         getdelim: Move AC_LIBOBJ invocations to module description.
8197         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
8198         and gl_PREREQ_GETDELIM invocations from here...
8199         * modules/getdelim (configure.ac): ... to here.
8200         (Depends-on): Fix condition.
8201
8202 2011-05-08  Bruno Haible  <bruno@clisp.org>
8203
8204         getcwd: Move AC_LIBOBJ invocations to module description.
8205         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
8206         invocations from here...
8207         * modules/getcwd (configure.ac): ... to here.
8208
8209 2011-05-08  Bruno Haible  <bruno@clisp.org>
8210
8211         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
8212         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
8213         here...
8214         * modules/getcwd-lgpl (configure.ac): ... to here.
8215
8216 2011-05-07  Bruno Haible  <bruno@clisp.org>
8217
8218         crypto/gc: Move AC_LIBOBJ invocations to module description.
8219         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
8220         * modules/crypto/gc (configure.ac): ... to here.
8221
8222 2011-05-07  Bruno Haible  <bruno@clisp.org>
8223
8224         fwriting: Move AC_LIBOBJ invocations to module description.
8225         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
8226         here...
8227         * modules/fwriting (configure.ac): ... to here.
8228
8229 2011-05-07  Bruno Haible  <bruno@clisp.org>
8230
8231         fwritable: Move AC_LIBOBJ invocations to module description.
8232         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
8233         here...
8234         * modules/fwritable (configure.ac): ... to here.
8235
8236 2011-05-07  Bruno Haible  <bruno@clisp.org>
8237
8238         futimens: Move AC_LIBOBJ invocations to module description.
8239         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
8240         here...
8241         * modules/futimens (configure.ac): ... to here.
8242
8243 2011-05-07  Bruno Haible  <bruno@clisp.org>
8244
8245         ftruncate: Move AC_LIBOBJ invocations to module description.
8246         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
8247         gl_PREREQ_FTRUNCATE invocations from here...
8248         * modules/ftruncate (configure.ac): ... to here.
8249
8250 2011-05-07  Bruno Haible  <bruno@clisp.org>
8251
8252         fsync: Move AC_LIBOBJ invocations to module description.
8253         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
8254         invocations from here...
8255         * modules/fsync (configure.ac): ... to here.
8256
8257 2011-05-07  Bruno Haible  <bruno@clisp.org>
8258
8259         fsusage: Move AC_LIBOBJ invocations to module description.
8260         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
8261         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
8262         * modules/fsusage (configure.ac): ... to here.
8263
8264 2011-05-07  Bruno Haible  <bruno@clisp.org>
8265
8266         freopen: Move AC_LIBOBJ invocations to module description.
8267         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
8268         invocations from here...
8269         * modules/freopen (configure.ac): ... to here.
8270
8271 2011-05-07  Bruno Haible  <bruno@clisp.org>
8272
8273         free: Move AC_LIBOBJ invocations to module description.
8274         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
8275         invocations from here...
8276         * modules/free (configure.ac): ... to here.
8277
8278 2011-05-07  Bruno Haible  <bruno@clisp.org>
8279
8280         freadable: Move AC_LIBOBJ invocations to module description.
8281         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
8282         here...
8283         * modules/freadable (configure.ac): ... to here.
8284
8285 2011-05-07  Bruno Haible  <bruno@clisp.org>
8286
8287         fpurge: Move AC_LIBOBJ invocations to module description.
8288         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
8289         invocations from here...
8290         * modules/fpurge (configure.ac): ... to here.
8291
8292 2011-05-07  Bruno Haible  <bruno@clisp.org>
8293
8294         fpending: Move AC_LIBOBJ invocations to module description.
8295         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
8296         gl_FUNC_FPENDING.
8297         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
8298         invocations from here...
8299         * modules/fpending (configure.ac): ... to here.
8300
8301 2011-05-07  Bruno Haible  <bruno@clisp.org>
8302
8303         fopen: Move AC_LIBOBJ invocations to module description.
8304         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
8305         invocations from here...
8306         * modules/fopen (configure.ac): ... to here.
8307
8308 2011-05-07  Bruno Haible  <bruno@clisp.org>
8309
8310         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
8311         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
8312         gl_FUNC_FNMATCH_POSIX.
8313         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
8314         invocations from here...
8315         * modules/fnmatch (configure.ac): ... to here.
8316         * modules/fnmatch-gnu (configure.ac): ... and here.
8317
8318 2011-05-07  Bruno Haible  <bruno@clisp.org>
8319
8320         flock: Move AC_LIBOBJ invocations to module description.
8321         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
8322         invocations from here...
8323         * modules/flock (configure.ac): ... to here.
8324
8325 2011-05-07  Bruno Haible  <bruno@clisp.org>
8326
8327         fileblocks: Move AC_LIBOBJ invocations to module description.
8328         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
8329         gl_PREREQ_FILEBLOCKS invocations from here...
8330         * modules/fileblocks (configure.ac): ... to here.
8331
8332 2011-05-06  Bruno Haible  <bruno@clisp.org>
8333
8334         fflush: Move AC_LIBOBJ invocations to module description.
8335         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
8336         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
8337         invocations from here...
8338         * modules/fflush (configure.ac): ... to here.
8339
8340 2011-05-06  Bruno Haible  <bruno@clisp.org>
8341
8342         fdopendir: Move AC_LIBOBJ invocations to module description.
8343         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
8344         here...
8345         * modules/fdopendir (configure.ac): ... to here.
8346         (Depends-on): Improve conditions.
8347
8348 2011-05-06  Bruno Haible  <bruno@clisp.org>
8349
8350         _Exit: Move AC_LIBOBJ invocations to module description.
8351         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
8352         invocations from here...
8353         * modules/_Exit (configure.ac): ... to here.
8354
8355 2011-05-21  Bruno Haible  <bruno@clisp.org>
8356
8357         euidaccess: Respect rules for use of AC_LIBOBJ.
8358         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8359         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
8360         from here...
8361         * modules/euidaccess (configure.ac): ... to here.
8362
8363 2011-05-06  Bruno Haible  <bruno@clisp.org>
8364
8365         error: Move AC_LIBOBJ invocations to module description.
8366         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
8367         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
8368         invocations from here...
8369         * modules/error (configure.ac): ... to here.
8370
8371 2011-05-06  Bruno Haible  <bruno@clisp.org>
8372
8373         duplocale: Move AC_LIBOBJ invocations to module description.
8374         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
8375         gl_PREREQ_DUPLOCALE invocations from here...
8376         * modules/duplocale (configure.ac): ... to here.
8377
8378 2011-05-05  Bruno Haible  <bruno@clisp.org>
8379
8380         dirfd: Move AC_LIBOBJ invocations to module description.
8381         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
8382         gl_FUNC_DIRFD.
8383         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
8384         here...
8385         * modules/dirfd (configure.ac): ... to here.
8386         (Depends-on): Fix condition.
8387
8388 2011-05-05  Bruno Haible  <bruno@clisp.org>
8389
8390         chown: Respect rules for use of AC_LIBOBJ.
8391         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
8392         * modules/chown (configure.ac): ... to here.
8393
8394 2011-05-05  Bruno Haible  <bruno@clisp.org>
8395
8396         chdir-long: Move AC_LIBOBJ invocations to module description.
8397         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
8398         gl_PREREQ_CHDIR_LONG invocations from here...
8399         * modules/chdir-long (configure.ac): ... to here.
8400
8401 2011-05-05  Bruno Haible  <bruno@clisp.org>
8402
8403         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
8404         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
8405         from here...
8406         * modules/canonicalize-lgpl (configure.ac): ... to here.
8407
8408 2011-05-05  Bruno Haible  <bruno@clisp.org>
8409
8410         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
8411         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
8412         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
8413         REPLACE_CALLOC.
8414         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
8415         * modules/calloc-gnu (configure.ac): Likewise.
8416
8417 2011-05-05  Bruno Haible  <bruno@clisp.org>
8418
8419         btowc: Move AC_LIBOBJ invocations to module description.
8420         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
8421         invocations from here...
8422         * modules/btowc (configure.ac): ... to here.
8423
8424 2011-05-21  Bruno Haible  <bruno@clisp.org>
8425
8426         atexit: Move AC_LIBOBJ invocations to module description.
8427         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
8428         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
8429         here...
8430         * modules/atexit (configure.ac): ... to here.
8431
8432 2011-05-05  Bruno Haible  <bruno@clisp.org>
8433
8434         atoll: Move AC_LIBOBJ invocations to module description.
8435         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
8436         invocations from here...
8437         * modules/atoll (configure.ac): ... to here.
8438
8439 2011-05-05  Bruno Haible  <bruno@clisp.org>
8440
8441         argz: Move AC_LIBOBJ invocations to module description.
8442         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
8443         * modules/argz (configure.ac): ... to here.
8444
8445 2011-05-05  Bruno Haible  <bruno@clisp.org>
8446
8447         alphasort: Move AC_LIBOBJ invocations to module description.
8448         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
8449         gl_PREREQ_ALPHASORT invocations from here...
8450         * modules/alphasort (configure.ac): ... to here.
8451
8452 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
8453
8454         verify: new macro verify_expr; verify_true deprecated
8455         * NEWS: Mention this.
8456         * doc/verify.texi (Compile-time Assertions): Document this.
8457         * lib/verify.h (verify_true): Deprecate.
8458         (verify_expr): New macro.
8459         * tests/test-verify.c (function): Test verify_expr.
8460
8461 2011-06-14  Jim Meyering  <meyering@redhat.com>
8462
8463         init.sh: give more portable redirection-related advice in a comment
8464         * tests/init.sh (stderr_fileno_): Update the advice in comments.
8465         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
8466         for lots of discussion.  Stefano Lattarini suggested the solution
8467         of putting "9>&2" after the command.  Reported by Bruno Haible.
8468
8469 2011-06-13  Bruno Haible  <bruno@clisp.org>
8470
8471         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
8472         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
8473         'none'.
8474
8475 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
8476
8477         ftoastr: use strtof only if HAVE_STRTOF
8478         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
8479         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
8480         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
8481         * modules/ftoastr (configure.ac): Check for strtof.
8482
8483 2011-06-13  Bruno Haible  <bruno@clisp.org>
8484
8485         gnulib-tool: Addendum to 2011-06-08 commit.
8486         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
8487         and --witness-c-macro have been given, augment AM_CPPFLAGS.
8488
8489 2011-06-13  Bruno Haible  <bruno@clisp.org>
8490
8491         fseeko: Provide a non-inline replacement of fseek().
8492         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
8493         * modules/fseeko (Depends-on): Add fseek.
8494         * modules/fseek (License): Change to LGPLv2+.
8495
8496 2011-06-13  Bruno Haible  <bruno@clisp.org>
8497
8498         ftello: Provide a non-inline replacement of ftell().
8499         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
8500         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
8501         not have ftello() (such as on mingw).
8502         * modules/ftello (Depends-on): Add ftell.
8503         * modules/ftell (License): Change to LGPLv2+.
8504
8505 2011-05-07  Bruno Haible  <bruno@clisp.org>
8506
8507         ftell: Move AC_LIBOBJ invocations to module description.
8508         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
8509         * modules/ftell (configure.ac): ... to here.
8510
8511 2011-05-07  Bruno Haible  <bruno@clisp.org>
8512
8513         ftello: Respect rules for use of AC_LIBOBJ.
8514         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
8515         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
8516         here...
8517         * modules/ftello (configure.ac): ... to here.
8518
8519 2011-05-07  Bruno Haible  <bruno@clisp.org>
8520
8521         fseeko: Simplify.
8522         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
8523         (gl_FUNC_FSEEKO): Inline it here.
8524
8525 2011-05-07  Bruno Haible  <bruno@clisp.org>
8526
8527         fseek: Move AC_LIBOBJ invocations to module description.
8528         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
8529         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
8530         * modules/fseek (configure.ac): ... to here.
8531
8532 2011-05-07  Bruno Haible  <bruno@clisp.org>
8533
8534         fseek: Respect rules for use of AC_LIBOBJ.
8535         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
8536         here...
8537         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
8538
8539 2011-05-07  Bruno Haible  <bruno@clisp.org>
8540
8541         fseeko: Respect rules for use of AC_LIBOBJ.
8542         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
8543         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
8544         here...
8545         * modules/fseeko (configure.ac): ... to here.
8546
8547 2011-06-13  Bruno Haible  <bruno@clisp.org>
8548
8549         gnulib-tool: Allow comments in the 'Depends-on' section.
8550         * doc/gnulib.texi (Module description): Mention comment syntax in the
8551         Depends-on section.
8552         * gnulib-tool (func_get_dependencies): Filter out comment lines.
8553
8554 2011-06-13  Bruno Haible  <bruno@clisp.org>
8555
8556         file-set.h: guard __attibute__ use, now that it's not always defined
8557         * lib/file-set.h (record_file): Use __attribute__ only with compiler
8558         versions that support it.  This fixes a coreutils build failure with
8559         the vendor cc on HP-UX 11.31.
8560
8561 2011-06-12  Bruno Haible  <bruno@clisp.org>
8562
8563         acl: Add support for HP-UX >= 11.11 JFS ACLs.
8564         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
8565         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
8566         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
8567         (acl, aclsort): New declarations.
8568         (aclv_nontrivial): New declaration.
8569         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
8570         (file_has_acl): Read also the second kind of HP-UX ACLs.
8571         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
8572         kind of HP-UX ACLs if the first kind fails.
8573         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
8574         second kind of HP-UX ACLs.
8575         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
8576         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
8577         agree.
8578         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
8579         hpuxjfs.
8580         Handle hpuxjfs.
8581         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
8582         hpuxjfs.
8583         Handle hpuxjfs.
8584         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
8585         (func_test_same_acls): Use both lsacl and getacl.
8586         Handle hpuxjfs.
8587         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
8588         (func_test_same_acls): Use both lsacl and getacl.
8589         Handle hpuxjfs.
8590
8591 2011-06-12  Bruno Haible  <bruno@clisp.org>
8592
8593         acl: Complete the 2010-08-10 fix.
8594         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
8595         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
8596         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
8597         explicitly.
8598         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
8599         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
8600
8601 2011-06-12  Bruno Haible  <bruno@clisp.org>
8602
8603         spawn-pipe tests: Comments.
8604         * tests/test-spawn-pipe-child.c (main): Update comment.
8605         Reported by James Youngman <jay@gnu.org>.
8606
8607 2011-06-11  James Youngman  <jay@gnu.org>
8608
8609         New module 'stat-size'.
8610         * modules/stat-size: New module.  Provides macros for accessing
8611         file size information in instances of struct stat.  Depends on the
8612         fileblocks module because it calls st_blocks.
8613         * lib/stat-size.h: New file, adapted from coreutils' system.h.
8614         * doc/gnulib.texi: Include stat-size.texi.
8615         * doc/stat-size.texi: Documentation for this module.
8616         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
8617         * m4/fileblocks.m4: Mention that stat-size depends on the call to
8618         AC_STRUCT_ST_BLOCKS.
8619
8620 2011-06-09  Bruno Haible  <bruno@clisp.org>
8621
8622         thread: Support pthreads-win32.
8623         * lib/glthread/thread.h (gl_thread_self): Define differently on
8624         pthreads-win32.
8625         (gl_null_thread): New declaration.
8626         (gl_thread_self_pointer): New macro.
8627         * lib/glthread/thread.c (gl_null_thread): New constant.
8628         * tests/test-lock.c: Use gl_thread_self_pointer instead of
8629         gl_thread_self.
8630         * tests/test-tls.c: Likewise.
8631         Suggested by Paul Eggert. Reported by Eric Blake.
8632
8633 2011-06-09  Bruno Haible  <bruno@clisp.org>
8634
8635         thread: Fix confusion between NULL and 0.
8636         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
8637         Reported by Paul Eggert.
8638
8639 2011-06-09  Bruno Haible  <bruno@clisp.org>
8640
8641         spawn-pipe tests: Avoid test failure on HP-UX 11.
8642         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
8643         is closed.
8644
8645 2011-06-09  Bruno Haible  <bruno@clisp.org>
8646
8647         acl tests: Fix compilation error on HP-UX 11.
8648         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
8649
8650 2011-06-09  Bruno Haible  <bruno@clisp.org>
8651
8652         rmdir: Avoid test failure on HP-UX 10.20.
8653         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
8654         EEXIST.
8655
8656 2011-06-08  Eric Blake  <eblake@redhat.com>
8657
8658         perror: fix test on mingw
8659         * modules/perror-tests (Depends-on): Add dup2.
8660
8661         strerror_r-posix: fix on MacOS
8662         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
8663         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
8664         logic bug.
8665         * lib/strerror_r.c (strerror_r): Fix the bug.
8666         * lib/strerror.c (strerror): Likewise.
8667         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
8668         problem.
8669         * doc/posix-functions/strerror.texi (strerror): Likewise.
8670         * doc/posix-functions/perror.texi (perror): Likewise.
8671         * tests/test-strerror.c (main): Enhance test.
8672         * tests/test-strerror_r.c (main): Likewise.
8673
8674 2011-06-08  Bruno Haible  <bruno@clisp.org>
8675
8676         gnulib-tool: Better isolation between different gnulib-tool invocations.
8677         * gnulib-tool: New option --witness-c-macro.
8678         (witness_c_macro): New variable.
8679         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
8680         AM_CPPFLAGS define it as a C macro.
8681         (func_emit_tests_Makefile_am): Likewise.
8682         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
8683         read it from there.
8684         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
8685         m4_define, not AC_DEFUN.
8686         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
8687         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
8688         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
8689         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
8690         s|...|...|, to substitute the values of the GNULIB_* module indicator
8691         variables.
8692         * modules/dirent (Makefile.am): Likewise.
8693         * modules/fcntl-h (Makefile.am): Likewise.
8694         * modules/iconv-h (Makefile.am): Likewise.
8695         * modules/langinfo (Makefile.am): Likewise.
8696         * modules/locale (Makefile.am): Likewise.
8697         * modules/math (Makefile.am): Likewise.
8698         * modules/netdb (Makefile.am): Likewise.
8699         * modules/poll-h (Makefile.am): Likewise.
8700         * modules/pty (Makefile.am): Likewise.
8701         * modules/search (Makefile.am): Likewise.
8702         * modules/signal (Makefile.am): Likewise.
8703         * modules/spawn (Makefile.am): Likewise.
8704         * modules/stdio (Makefile.am): Likewise.
8705         * modules/stdlib (Makefile.am): Likewise.
8706         * modules/string (Makefile.am): Likewise.
8707         * modules/sys_ioctl (Makefile.am): Likewise.
8708         * modules/sys_select (Makefile.am): Likewise.
8709         * modules/sys_socket (Makefile.am): Likewise.
8710         * modules/sys_stat (Makefile.am): Likewise.
8711         * modules/sys_times (Makefile.am): Likewise.
8712         * modules/sys_utsname (Makefile.am): Likewise.
8713         * modules/sys_wait (Makefile.am): Likewise.
8714         * modules/termios (Makefile.am): Likewise.
8715         * modules/time (Makefile.am): Likewise.
8716         * modules/unistd (Makefile.am): Likewise.
8717         * modules/wchar (Makefile.am): Likewise.
8718
8719 2011-06-08  Eric Blake  <eblake@redhat.com>
8720
8721         strerror: simplify replacement
8722         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
8723         * modules/strerror (configure.ac): No prereqs needed here...
8724         * modules/strerror-override (configure.ac): ...but this needs it.
8725         (Files): Add file for needed prereq macro.
8726
8727 2011-06-08  Bruno Haible  <bruno@clisp.org>
8728
8729         strerror_r-posix: Tweaks.
8730         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
8731         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
8732         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
8733         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
8734         (gl_FUNC_STRERROR_R): ... to here.
8735         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
8736
8737 2011-06-07  Eric Blake  <eblake@redhat.com>
8738
8739         perror: document fixed bugs
8740         * doc/posix-functions/perror.texi (perror): Document recent
8741         patches.
8742
8743 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
8744
8745         stat-time: get_stat_birthtime failure is better-defined
8746         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
8747         return a timestamp whose tv_sec and tv_nsec values are both -1.
8748         Previously, the spec said only that the tv_nsec value was negative.
8749         This upward-compatible change simplifies GNU tar a bit.
8750
8751 2011-06-07  Eric Blake  <eblake@redhat.com>
8752
8753         strerror_r-posix: work around cygwin 1.7.9
8754         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
8755         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
8756         bug without replacing strerror_r.
8757         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
8758         strerror_r is buggy, but without requiring strerror_r compilation.
8759         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
8760
8761         test-perror: relax test to ignore cygwin bug
8762         * tests/test-perror2.c (main): Relax test on requiring detection
8763         of stream errors, and use unbuffered stream.
8764         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
8765         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
8766         * doc/posix-functions/fputc.texi (fputc): Likewise.
8767         * doc/posix-functions/fputs.texi (fputs): Likewise.
8768         * doc/posix-functions/fputws.texi (fputws): Likewise.
8769         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
8770         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
8771         * doc/posix-functions/getopt.texi (getopt): Likewise.
8772         * doc/posix-functions/perror.texi (perror): Likewise.
8773         * doc/posix-functions/printf.texi (printf): Likewise.
8774         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
8775         * doc/posix-functions/psignal.texi (psignal): Likewise.
8776         * doc/posix-functions/putc.texi (putc): Likewise.
8777         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
8778         Likewise.
8779         * doc/posix-functions/putchar.texi (putchar): Likewise.
8780         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
8781         Likewise.
8782         * doc/posix-functions/puts.texi (puts): Likewise.
8783         * doc/posix-functions/putwc.texi (putwc): Likewise.
8784         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
8785         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
8786         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
8787         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
8788         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
8789         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
8790         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
8791         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
8792
8793 2011-05-22  Bruno Haible  <bruno@clisp.org>
8794
8795         strerror: Move AC_LIBOBJ invocations to module description.
8796         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
8797         gl_PREREQ_STRERROR invocations from here...
8798         * modules/strerror (configure.ac): ... to here.
8799
8800 2011-05-21  Bruno Haible  <bruno@clisp.org>
8801
8802         perror: Use common idiom.
8803         * modules/perror (configure.ac): Reorder statements.
8804
8805 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
8806
8807         tests: fix usage message in 'mktempd_'
8808         * tests/init.sh (mktempd_): In the usage message, use literal
8809         'mktempd_', not '$ME' (which is even undefined), as the name of
8810         the subroutine.
8811
8812 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
8813
8814         tests init: new function 'fatal_', for hard errors
8815         Before this patch, the only way offered by tests/init.sh to
8816         properly signal a hard error was the `framework_failure_'
8817         function.  But the error message issued by that function,
8818         as its name would suggest, refers to a set-up failure in the
8819         testsuite, while hard errors can obviously also be due to
8820         other reasons.  The best way to fix this inconsistency is to
8821         introduce a new function with a more general error message.
8822         * tests/init.sh (fatal_): New function.
8823
8824 2011-06-06  Eric Blake  <eblake@redhat.com>
8825
8826         canonicalize-lgpl: use common idiom
8827         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
8828         over newer POSIX -Rf.
8829         Reported by Bruno Haible.
8830
8831         canonicalize-lgpl: work around AIX realpath bug
8832         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
8833         * doc/posix-functions/realpath.texi (realpath): Document it.
8834         Reported by Bruno Haible.
8835
8836         strerror: work around FreeBSD bug
8837         * lib/strerror.c (strerror): Special case 0.
8838         Reported by Bruno Haible.
8839
8840         strerror-override: avoid bloating errno module
8841         * modules/errno (Files, configure.ac): Move replacement strings...
8842         * modules/strerror-override: ...to new module.
8843         * modules/strerror (Depends-on): Add strerror-override.
8844         * modules/strerror_r-posix (Depends-on): Likewise.
8845         * MODULES.html.sh: Document new module.
8846         Reported by Bruno Haible.
8847
8848 2011-06-06  Bruno Haible  <bruno@clisp.org>
8849
8850         spawn-pipe tests: Rename program.
8851         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
8852         * tests/test-spawn-pipe-child.c: Update comment.
8853         * tests/test-spawn-pipe.sh: Update.
8854         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
8855
8856         spawn-pipe tests: Link the child program only against libc.
8857         * tests/test-spawn-pipe-child.c: New file, extracted from
8858         tests/test-spawn-pipe.c.
8859         (main): Expect only one argument.
8860         (is_open): New function, copied from tests/test-pipe.c.
8861         * tests/test-spawn-pipe.c: Don't include <errno.h>.
8862         (child_main): Remove function.
8863         (test_pipe): Pass only one argument to the child program.
8864         (main): Remove child process code. Expect the child program's name as
8865         first argument.
8866         * tests/test-spawn-pipe.sh: Pass the child program's name as first
8867         argument.
8868         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
8869         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
8870         test-spawn-pipe-child against no libraries.
8871
8872 2011-06-06  Bruno Haible  <bruno@clisp.org>
8873
8874         careadlinkat: Avoid mismatch between ssize_t and int.
8875         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
8876         * lib/careadlinkat.c (careadlinkatcwd): Define always.
8877
8878 2011-06-06  Jim Meyering  <meyering@redhat.com>
8879
8880         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
8881         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
8882         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
8883
8884 2011-06-05  Bruno Haible  <bruno@clisp.org>
8885
8886         ansi-c++-opt: Interoperability with libtool.
8887         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
8888         set the variable to "no", not to ":".
8889         * NEWS: Mention the change.
8890
8891 2011-06-05  Bruno Haible  <bruno@clisp.org>
8892
8893         acl: Fix test failure on AIX 7.
8894         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
8895         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
8896
8897 2011-06-05  Bruno Haible  <bruno@clisp.org>
8898
8899         pipe-filter-ii: Fix test failure on AIX and IRIX.
8900         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
8901         with EAGAIN, retry with a smaller buffer size.
8902
8903 2011-06-05  Bruno Haible  <bruno@clisp.org>
8904
8905         localename: Fix link dependencies.
8906         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
8907         * modules/localename-tests (Makefile.am): Link test-localename with
8908         $(LIBTHREAD).
8909
8910 2011-06-05  Bruno Haible  <bruno@clisp.org>
8911
8912         error: Avoid gcc warning.
8913         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
8914
8915 2011-06-05  Bruno Haible  <bruno@clisp.org>
8916
8917         unsetenv: Avoid gcc warning.
8918         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
8919
8920 2011-06-05  Bruno Haible  <bruno@clisp.org>
8921
8922         setenv: Avoid gcc warning.
8923         * lib/setenv.c (setenv): Provide declaration if system lacks it.
8924
8925 2011-06-05  Bruno Haible  <bruno@clisp.org>
8926
8927         sys_select: Ensure memset is declared also on AIX 7.
8928         * lib/sys_select.in.h: Include <string.h> also on AIX.
8929         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
8930         self-contained also on AIX 7.1.
8931
8932 2011-06-04  Jim Meyering  <meyering@redhat.com>
8933
8934         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
8935         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
8936         function name, "error".
8937         (_gl_translatable_diag_func_re): New configurable variable.
8938
8939 2011-06-04  Bruno Haible  <bruno@clisp.org>
8940
8941         getopt: Avoid gcc warning.
8942         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
8943
8944 2011-06-04  Bruno Haible  <bruno@clisp.org>
8945
8946         strerror_r: Fix comments.
8947         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
8948         commit.
8949
8950 2011-06-04  Bruno Haible  <bruno@clisp.org>
8951
8952         perror: Fix compilation error.
8953         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
8954         Undefine fprintf, not sprintf.
8955         * modules/perror (Depends-on): Remove intprops, verify.
8956
8957 2011-06-04  Bruno Haible  <bruno@clisp.org>
8958
8959         setlocale: Enable replacement on Cygwin 1.5.
8960         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
8961         Cygwin 1.5.x.
8962         * doc/posix-functions/setlocale.texi: Mention that the problem with the
8963         LC_CTYPE category also exists on Cygwin 1.5.x.
8964
8965 2011-06-04  Bruno Haible  <bruno@clisp.org>
8966
8967         strerror-override: Don't disable symbol renamings.
8968         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
8969         * lib/strerror-override.c: Include config.h.
8970         (strerror_override): Don't undefine.
8971
8972 2011-06-03  Bruno Haible  <bruno@clisp.org>
8973
8974         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
8975         * lib/localename.h: Update copyright header.
8976         * lib/localename.c: Likewise.
8977         * lib/relocatable.h: Likewise.
8978         * lib/relocatable.c: Likewise.
8979
8980 2011-06-02  Bruno Haible  <bruno@clisp.org>
8981
8982         doc: Fix a module name.
8983         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
8984
8985 2011-06-02  Bruno Haible  <bruno@clisp.org>
8986
8987         pipe2: Remove dependency on 'nonblocking' module.
8988         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
8989         O_NONBLOCK is defined by gnulib.
8990         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
8991         is zero.
8992         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
8993         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
8994         defined by gnulib.
8995         (get_nonblocking_flag): New function.
8996         (main): Test O_NONBLOCK flag only if it is nonzero.
8997         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
8998
8999 2011-06-03  Jim Meyering  <meyering@redhat.com>
9000
9001         maint: three new prohibit-header-without-use rules
9002         Prohibit use of cloexec.h, posixver.h, same.h without use.
9003         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
9004         (sc_prohibit_posixver_without_use): Likewise.
9005         (sc_prohibit_same_without_use): Likewise.
9006
9007 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9008
9009         allocator: 'die' routine is now given requested size
9010         * lib/allocator.h (struct allocator.die): New size arg.
9011         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
9012         If the actual problem is an ssize_t limitation, not a size_t or
9013         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
9014
9015 2011-06-01  Eric Blake  <eblake@redhat.com>
9016
9017         strerror: drop strerror_r dependency
9018         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
9019         * lib/strerror-override.c (strerror_override): ...to new file.
9020         * lib/strerror-override.h: Add prototype.
9021         * lib/strerror-impl.h: Delete.
9022         * lib/strerror.c (strerror): New implementation.
9023         * modules/errno (Files): Add new files.
9024         (configure.ac): Compile new file as appropriate.
9025         * modules/strerror (Files): Drop unused file.
9026         (Depends-on): Drop strerror_r-posix.
9027         * MODULES.html.sh: Document strerror_r-posix.
9028         Requested by Sam Steingold.
9029
9030         perror: call strerror_r directly
9031         * modules/perror (Files): Drop strerror-impl.h.
9032         * lib/perror.c (perror): Use our own stack buffer, rather than
9033         calling a wrapper that uses static storage.
9034         * doc/posix-functions/perror.texi (perror): Document a limitation
9035         of our replacement.
9036
9037         strerror_r: fix includes for FreeBSD
9038         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
9039         since we use abort on some platforms.
9040         Reported by Matthias Bolte.
9041
9042 2011-05-31  Bruno Haible  <bruno@clisp.org>
9043
9044         Fix link errors in tests: openat-die uses gettext-h.
9045         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
9046         against $(LIBINTL).
9047         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
9048         against $(LIBINTL).
9049         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
9050         $(LIBINTL).
9051         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
9052         against $(LIBINTL).
9053         * modules/linkat-tests (Makefile.am): Link test-linkat against
9054         $(LIBINTL).
9055         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
9056         $(LIBINTL).
9057         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
9058         against $(LIBINTL).
9059         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
9060         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
9061         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
9062         $(LIBINTL).
9063         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
9064         $(LIBINTL).
9065         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
9066         $(LIBINTL).
9067         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9068
9069 2011-05-31  Bruno Haible  <bruno@clisp.org>
9070
9071         Fix link errors in tests: wait-process uses gettext-h.
9072         * modules/nonblocking-pipe-tests (Makefile.am): Set
9073         test_nonblocking_pipe_main_LDADD.
9074         * modules/nonblocking-socket-tests (Makefile.am): Link
9075         test-nonblocking-socket-main against $(LIBINTL).
9076         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9077
9078 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
9079
9080         assert-h: work around 'verify' incompatibility
9081         * lib/verify.h: Use @...@ directives, not ifdef.
9082         * modules/assert-h (assert.h): Implement the directives.
9083         (assert.h): Substitute the symbol-prefix more consistently.
9084
9085 2011-05-29  Jim Meyering  <meyering@redhat.com>
9086
9087         trim: remove three superfluous assignments
9088         * lib/trim.c (trim2): Remove three superfluous assignments
9089         and correct brace positioning.
9090
9091 2011-05-29  Bruno Haible  <bruno@clisp.org>
9092
9093         wctype-h: Avoid namespace pollution on Solaris 2.6.
9094         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
9095         identifiers.
9096         * doc/posix-headers/wctype.texi: Mention the problem.
9097         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9098
9099 2011-05-28  Jim Meyering  <meyering@redhat.com>
9100
9101         parse-datetime.y: accommodate -Wstrict-overflow
9102         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
9103         placate -Wstrict-overflow.
9104
9105         trim: avoid a warning from -O2 -Wstrict-overflow
9106         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
9107
9108 2011-05-29  Bruno Haible  <bruno@clisp.org>
9109
9110         gnulib-tool: Fix bug in yesterday's commit.
9111         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
9112         twice.
9113
9114 2011-05-29  Bruno Haible  <bruno@clisp.org>
9115
9116         Allow multiple gnulib generated include files to be combined.
9117         * gnulib-tool (func_compute_include_guard_prefix): New function.
9118         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
9119         ${gl_include_guard_prefix} references.
9120         (func_import, func_create_testdir): Invoke
9121         func_compute_include_guard_prefix.
9122         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
9123         * lib/ctype.in.h: Likewise.
9124         * lib/dirent.in.h: Likewise.
9125         * lib/errno.in.h: Likewise.
9126         * lib/fcntl.in.h: Likewise.
9127         * lib/float.in.h: Likewise.
9128         * lib/getopt.in.h: Likewise.
9129         * lib/iconv.in.h: Likewise.
9130         * lib/langinfo.in.h: Likewise.
9131         * lib/locale.in.h: Likewise.
9132         * lib/math.in.h: Likewise.
9133         * lib/netdb.in.h: Likewise.
9134         * lib/netinet_in.in.h: Likewise.
9135         * lib/poll.in.h: Likewise.
9136         * lib/pthread.in.h: Likewise.
9137         * lib/pty.in.h: Likewise.
9138         * lib/sched.in.h: Likewise.
9139         * lib/se-selinux.in.h: Likewise.
9140         * lib/search.in.h: Likewise.
9141         * lib/signal.in.h: Likewise.
9142         * lib/spawn.in.h: Likewise.
9143         * lib/stdarg.in.h: Likewise.
9144         * lib/stddef.in.h: Likewise.
9145         * lib/stdint.in.h: Likewise.
9146         * lib/stdio.in.h: Likewise.
9147         * lib/stdlib.in.h: Likewise.
9148         * lib/string.in.h: Likewise.
9149         * lib/strings.in.h: Likewise.
9150         * lib/sys_file.in.h: Likewise.
9151         * lib/sys_ioctl.in.h: Likewise.
9152         * lib/sys_select.in.h: Likewise.
9153         * lib/sys_socket.in.h: Likewise.
9154         * lib/sys_stat.in.h: Likewise.
9155         * lib/sys_time.in.h: Likewise.
9156         * lib/sys_times.in.h: Likewise.
9157         * lib/sys_uio.in.h: Likewise.
9158         * lib/sys_utsname.in.h: Likewise.
9159         * lib/sys_wait.in.h: Likewise.
9160         * lib/sysexits.in.h: Likewise.
9161         * lib/termios.in.h: Likewise.
9162         * lib/time.in.h: Likewise.
9163         * lib/unistd.in.h: Likewise.
9164         * lib/wchar.in.h: Likewise.
9165         * lib/wctype.in.h: Likewise.
9166         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
9167         * modules/ctype (Makefile.am): Likewise.
9168         * modules/dirent (Makefile.am): Likewise.
9169         * modules/errno (Makefile.am): Likewise.
9170         * modules/fcntl-h (Makefile.am): Likewise.
9171         * modules/float (Makefile.am): Likewise.
9172         * modules/getopt-posix (Makefile.am): Likewise.
9173         * modules/iconv-h (Makefile.am): Likewise.
9174         * modules/langinfo (Makefile.am): Likewise.
9175         * modules/locale (Makefile.am): Likewise.
9176         * modules/math (Makefile.am): Likewise.
9177         * modules/netdb (Makefile.am): Likewise.
9178         * modules/netinet_in (Makefile.am): Likewise.
9179         * modules/poll-h (Makefile.am): Likewise.
9180         * modules/pthread (Makefile.am): Likewise.
9181         * modules/pty (Makefile.am): Likewise.
9182         * modules/sched (Makefile.am): Likewise.
9183         * modules/search (Makefile.am): Likewise.
9184         * modules/selinux-h (Makefile.am): Likewise.
9185         * modules/signal (Makefile.am): Likewise.
9186         * modules/spawn (Makefile.am): Likewise.
9187         * modules/stdarg (Makefile.am): Likewise.
9188         * modules/stddef (Makefile.am): Likewise.
9189         * modules/stdint (Makefile.am): Likewise.
9190         * modules/stdio (Makefile.am): Likewise.
9191         * modules/stdlib (Makefile.am): Likewise.
9192         * modules/string (Makefile.am): Likewise.
9193         * modules/strings (Makefile.am): Likewise.
9194         * modules/sys_file (Makefile.am): Likewise.
9195         * modules/sys_ioctl (Makefile.am): Likewise.
9196         * modules/sys_select (Makefile.am): Likewise.
9197         * modules/sys_socket (Makefile.am): Likewise.
9198         * modules/sys_stat (Makefile.am): Likewise.
9199         * modules/sys_time (Makefile.am): Likewise.
9200         * modules/sys_times (Makefile.am): Likewise.
9201         * modules/sys_uio (Makefile.am): Likewise.
9202         * modules/sys_utsname (Makefile.am): Likewise.
9203         * modules/sys_wait (Makefile.am): Likewise.
9204         * modules/sysexits (Makefile.am): Likewise.
9205         * modules/termios (Makefile.am): Likewise.
9206         * modules/time (Makefile.am): Likewise.
9207         * modules/unistd (Makefile.am): Likewise.
9208         * modules/wchar (Makefile.am): Likewise.
9209         * modules/wctype-h (Makefile.am): Likewise.
9210         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
9211
9212 2011-05-29  Bruno Haible  <bruno@clisp.org>
9213
9214         assert-h: Allow multiple gnulib generated replacements to coexist.
9215         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
9216
9217 2011-05-29  Bruno Haible  <bruno@clisp.org>
9218
9219         argp: Allow coexistence with strerror_r-posix module.
9220         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
9221         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
9222         by gnulib's <string.h> replacement), assume it has the POSIX signature,
9223         not the glibc signature.
9224
9225 2011-05-28  Bruno Haible  <bruno@clisp.org>
9226
9227         gnulib-tool: Alternative structure of testdirs, similar to --import.
9228         * gnulib-tool: New option --single-configure.
9229         (func_usage): Document it.
9230         (single_configure): New variable.
9231         (func_modules_transitive_closure_separately,
9232         func_modules_transitive_closure_separately,
9233         func_determine_use_libtests, func_modules_add_dummy_separately,
9234         func_modules_to_filelist_separately): New functions, extracted from
9235         func_import.
9236         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
9237         (func_import): Use the new functions.
9238         (func_create_testdir): Set final_modules. Handle $single_configure =
9239         true case.
9240
9241 2011-05-28  Bruno Haible  <bruno@clisp.org>
9242
9243         getloadavg: Remove an unreliable safety check.
9244         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
9245         getloadavg.c is in place.
9246         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
9247         Reported by Sam Steingold <sds@gnu.org>.
9248
9249 2011-05-28  Bruno Haible  <bruno@clisp.org>
9250
9251         doc: Cleanup yet another file produced by texinfo.tex.
9252         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
9253
9254 2011-05-28  Bruno Haible  <bruno@clisp.org>
9255
9256         Finish the conditional dependencies mechanism.
9257         * gnulib-tool: New option --no-conditional-dependencies.
9258         (func_usage): Document it. Don't mark --conditional-dependencies as
9259         experimental.
9260         (cond_dependencies): The possible values can now be true, false, empty.
9261         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
9262         (func_import): Store setting in gnulib-cache.m4 and read it from there.
9263         * doc/gnulib-tool.texi (Conditional dependencies): New section.
9264
9265 2011-05-28  Bruno Haible  <bruno@clisp.org>
9266
9267         doc: Use a recent texinfo.tex.
9268         * doc/Makefile (tex_opts): New variable.
9269         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
9270
9271 2011-05-28  Jim Meyering  <meyering@redhat.com>
9272
9273         intprops.h: adjust comment to match code change
9274         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
9275         only once, it *may* have side effects.  Also fix an unrelated typo.
9276         (_GL_INT_SIGNED): Likewise.
9277
9278 2011-05-26  Simon Josefsson  <simon@josefsson.org>
9279
9280         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
9281
9282 2011-05-26  Bruno Haible  <bruno@clisp.org>
9283
9284         mbsrchr: Avoid collision with system function on Interix.
9285         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
9286         Reported by Markus Duft <mduft@gentoo.org>.
9287
9288 2011-05-15  James Youngman  <jay@gnu.org>
9289
9290         getopt: for ambiguous options, enumerate the possibilities.
9291         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
9292         the ambiguous options when an ambiguous prefix is given. This was
9293         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
9294         glibc change was
9295         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
9296
9297 2011-05-25  Eric Blake  <eblake@redhat.com>
9298
9299         getcwd: work around mingw bug
9300         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
9301         * doc/posix-functions/getcwd.texi (getcwd): Document it.
9302         Reported by Matthias Bolte.
9303
9304 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
9305
9306         test-intprops: disable -Wtype-limits diagnostics
9307         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
9308         diagnostics.  Otherwise, the integer overflow macros generate many
9309         diagnostics.  Reported by Jim Meyering in
9310         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9311
9312         intprops: shorten, to pacify gcc -Woverlength-strings
9313         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
9314         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
9315         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
9316         likely to run afoul of C compiler limits for string constant lengths.
9317         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9318
9319 2011-05-24  Eric Blake  <eblake@redhat.com>
9320
9321         docs: document recently fixed glibc printf bug
9322         * doc/posix-functions/fprintf.texi (fprintf): Document it.
9323         * doc/posix-functions/printf.texi (printf): Likewise.
9324         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9325         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9326
9327         closein-tests: convert to init.sh
9328         * modules/closein-tests (Files): Add init.sh
9329         * tests/test-closein.sh Use it.
9330
9331         yesno-tests: convert to init.sh
9332         * modules/yesno-tests (Files): Add init.sh.
9333         * tests/test-yesno.sh: Use it.
9334
9335         atexit-tests: ensure reliable exit status
9336         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
9337         Reported by Bruno Haible.
9338
9339 2011-05-24  Bruno Haible  <bruno@clisp.org>
9340
9341         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
9342         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
9343         gl_PREREQ_STRERROR_R invocations from here...
9344         * modules/strerror_r-posix (configure.ac): ... to here.
9345
9346 2011-05-24  Eric Blake  <eblake@redhat.com>
9347
9348         strerror_r: fix missing header
9349         * lib/strerror_r.c: Avoid compiler warning about snprintf.
9350
9351         strerror_r: fix AIX test failures
9352         * lib/strerror_r.c (strerror_r): Convert silent truncation to
9353         ERANGE failure.
9354
9355         strerror_r: fix Solaris test failures
9356         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
9357         failures.
9358         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9359
9360         strerror_r: enforce POSIX recommendations
9361         * lib/strerror_r.c (safe_copy): New helper method.
9362         (strerror_r): Guarantee a non-empty string.
9363         * tests/test-strerror_r.c (main): Enhance tests to incorporate
9364         recent POSIX rulings and to match our strerror guarantees.
9365         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9366
9367 2011-05-24  Jim Meyering  <meyering@redhat.com>
9368
9369         test-perror2.c: avoid warning about unused variable
9370         * tests/test-perror2.c (main): Remove declaration of unused "fp".
9371
9372 2011-05-24  Eric Blake  <eblake@redhat.com>
9373
9374         perror: avoid spurious test failure on HP-UX
9375         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
9376
9377         tests: fix logic bug in init.sh
9378         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
9379         shell.
9380
9381 2011-05-24  Jim Meyering  <meyering@redhat.com>
9382
9383         utimensat: do not reference an out-of-scope buffer
9384         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
9385         declared in an inner scope, yet "times" would be dereferenced outside
9386         the scope in which "ts" was valid.
9387         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
9388         of ts[2] "out/up", so that the use of aliased "times" (via
9389         "times = ts;") does not end up referencing an out-of-scope "ts"
9390
9391         opendir-safer.c: don't clobber errno; don't close negative FD
9392         * lib/opendir-safer.c (opendir_safer):
9393         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
9394         file descriptor, and more importantly, don't clobber the
9395         offending errno value with EINVAL.  Before, upon failure
9396         of dup_safer, we would pass the negative file descriptor to
9397         fdopendir, which would clobber errno.
9398
9399 2011-05-23  Bruno Haible  <bruno@clisp.org>
9400
9401         idcache: Fix module description.
9402         * modules/idcache (Include): Set to "idcache.h".
9403
9404 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
9405
9406         gnulib-tool: fix portability problem with MacOS sed
9407         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
9408         before the "}".  Problem reported by Leo in
9409         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
9410         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
9411         sed_extract_condition1, sed_extract_condition2.
9412
9413 2011-05-23  Bruno Haible  <bruno@clisp.org>
9414
9415         hash: Simplify autoconf macro.
9416         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
9417
9418 2011-05-23  Bruno Haible  <bruno@clisp.org>
9419
9420         getugroups: Fix module description.
9421         * modules/getugroups (Include): Set to "getugroups.h".
9422
9423 2011-05-23  Bruno Haible  <bruno@clisp.org>
9424
9425         linkat: Simplify autoconf macro.
9426         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
9427
9428 2011-05-23  Bruno Haible  <bruno@clisp.org>
9429             Eric Blake  <eblake@redhat.com>
9430
9431         linkat, renameat: Update dependencies.
9432         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
9433         * modules/linkat (Depends-on): Likewise. Remove also readlink,
9434         symlinkat.
9435
9436 2011-05-23  Jim Meyering  <meyering@redhat.com>
9437
9438         maint.mk: more tight_scope improvements
9439         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
9440         (_gl_TS_headers): Define only in if-0'd block.
9441         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
9442         sometimes we must *not* use it.  Adjust uses accordingly.
9443         (sc_tight_scope): Use much simpler grep-based test to determine
9444         whether we skip this rule.
9445
9446         maint.mk: generalize/improve the tight-scope rule
9447         * top/maint.mk: Emit a warning when the test is skipped.
9448         (_gl_TS_dir): Add $(srcdir)/ prefix.
9449         (_gl_TS_function_match): Simplify, rather than trying
9450         to enumerate common types.  Otherwise, it would fail to match an
9451         "extern unsigned char const *" declaration in idutils.
9452         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
9453         a way to support use of that type of macro.
9454         (_gl_TS_var_match): Simplify regexp.
9455         (_gl_TS_obj_files): New configurable variable.
9456         (_gl_TS_headers): Likewise.
9457
9458 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
9459
9460         verify: fix bug when gnulib <assert.h> is also included
9461         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
9462         is defined, not if _GL_STATIC_ASSERT_H is not defined.
9463         Perhaps there's a better way, but this fixes the immediate problem.
9464         Problem reported by Bruno Haible in
9465         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
9466
9467 2011-05-22  Bruno Haible  <bruno@clisp.org>
9468
9469         xgetcwd: Simplify autoconf macro.
9470         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
9471
9472 2011-05-22  Bruno Haible  <bruno@clisp.org>
9473
9474         New module 'mktime-internal'.
9475         * modules/mktime-internal: New file.
9476         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
9477         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
9478         mktime_internal as a C macro if libc has __mktime_internal.
9479         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
9480         conditions.
9481         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
9482
9483 2011-05-22  Bruno Haible  <bruno@clisp.org>
9484
9485         timegm: Correct mktime replacement statements.
9486         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
9487         defining mktime as a C macro. This completes a 2009-07-28 commit.
9488
9489 2011-05-22  Bruno Haible  <bruno@clisp.org>
9490
9491         timegm: Simplify autoconf macro.
9492         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
9493
9494 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
9495
9496         clock-time: change to LGPLv2+.
9497         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
9498         BSD-like but we have no mark for that; this is good enough for now.
9499
9500 2011-05-21  Bruno Haible  <bruno@clisp.org>
9501
9502         strerror_r: Fix comments.
9503         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
9504
9505 2011-05-21  Bruno Haible  <bruno@clisp.org>
9506
9507         relocatable-prog-wrapper: Fix possible link error.
9508         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
9509         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
9510         (gl_FUNC_SETENV): ... to here.
9511         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
9512         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
9513
9514 2011-05-21  Bruno Haible  <bruno@clisp.org>
9515
9516         relocatable-prog-wrapper: Assume strerror() exists.
9517         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
9518         m4/strerror.m4.
9519         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
9520         * lib/relocwrapper.c: Remove mention of strerror module.
9521         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
9522         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
9523         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
9524         C macro.
9525
9526 2011-05-21  Bruno Haible  <bruno@clisp.org>
9527
9528         select: Simplify replacement idiom.
9529         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
9530         Win32 platforms.
9531         * lib/sys_select.in.h (select): Simplify accordingly.
9532         * modules/select (Depends-on): Likewise.
9533
9534 2011-05-21  Bruno Haible  <bruno@clisp.org>
9535
9536         mkdir-p: Simplify autoconf macro.
9537         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
9538         gl_FUNC_LCHOWN.
9539
9540 2011-05-21  Eric Blake  <eblake@redhat.com>
9541
9542         strerror_r: avoid clobbering strerror on cygwin
9543         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
9544         fall back instead to sys_errlist.
9545         * modules/strerror (configure.ac): Add witness.
9546         * tests/test-strerror_r.c (main): Enhance test.
9547         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9548         * tests/test-perror2.c (main): Free memory before exit.
9549
9550 2011-05-21  Bruno Haible  <bruno@clisp.org>
9551
9552         mkdtemp: Use gnulib naming conventions.
9553         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
9554         * modules/mkdtemp (configure.ac): Update.
9555
9556 2011-05-20  Eric Blake  <eblake@redhat.com>
9557
9558         strerror_r: avoid corrupting errno on Solaris
9559         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
9560         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9561
9562         strerror_r: avoid compiler warning
9563         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
9564
9565         strerror_r: simplify AIX code
9566         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
9567
9568         test-perror: avoid spurious failure on FreeBSD
9569         * modules/perror-tests (Depends-on): Add strerror, now that
9570         strerror_r no longer pulls it in.
9571
9572 2011-05-20  Bruno Haible  <bruno@clisp.org>
9573
9574         strerror_r-posix: Remove unused dependencies.
9575         * modules/strerror_r-posix (Depends-on): Remove strerror.
9576         Reported by Eric Blake.
9577
9578 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
9579
9580         intprops: remove assumption about A|B representation
9581         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
9582         is a valid integer if both A and B are.  Although this is true for
9583         all known practical hosts, the C standard doesn't guarantee it,
9584         and the code need not assume it.  Also, this change may work around
9585         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
9586         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
9587
9588 2011-05-20  Eric Blake  <eblake@redhat.com>
9589
9590         perror: work around FreeBSD bug
9591         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
9592         is broken.  Move AC_LIBOBJ...
9593         * modules/perror (configure.ac): Here.
9594         * doc/posix-functions/perror.texi (perror): Document this.
9595         * tests/test-perror2.c (main): Enhance test.
9596
9597         test-perror: check for strerror interactions
9598         * tests/macros.h (STREQ): Add macro.
9599         * modules/perror-tests (Files): Add second test.
9600         * tests/test-perror2.c (main): New file.
9601         * doc/posix-functions/perror.texi (perror): Document glibc bug.
9602
9603         test-perror: rewrite to use init script
9604         * modules/perror-tests (Files): Add init.sh.
9605         * tests/test-perror.sh: Use temporary directory.
9606
9607 2011-05-20  Jim Meyering  <meyering@redhat.com>
9608
9609         maint: replace misused "a" with "an"
9610         * doc/intprops.texi: "a integer"
9611         * doc/regex.texi: "a explanation"
9612         * lib/alignof.h: "a object"
9613         * lib/argmatch.h: "a explanation"
9614         * lib/argp-help.c: "a option" and "a OPTION_DOC"
9615         * lib/stdint.in.h: "a integer"
9616         * lib/userspec.c: "a owner"
9617         * doc/gnulib.texi: Fix "a idea", and reword.
9618
9619 2011-05-19  Jim Meyering  <meyering@redhat.com>
9620
9621         maint: correct misuse of "a" and "an"
9622         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
9623         * lib/argp-help.c: "an docum...": s/an/a/
9624         * lib/argp-parse.c: "An vector": s/An/A/
9625         * lib/execute.c: "an native": s/an/a/
9626         * lib/spawn-pipe.c: Likewise.
9627         * lib/gc.h: "an Gc_rc": s/an/a/
9628         * lib/unigbrk.in.h: "an grapheme": s/an/a/
9629         * lib/fts.c: "an stat.st_dev": s/an/a/
9630
9631 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9632
9633         intprops-tests: work around HP-UX 11.23 cc bug with constants
9634         * tests/test-intprops.c (VERIFY): New macro.
9635         (main): Use it, instead of verify, to work around the compiler bug; see
9636         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9637
9638         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
9639         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
9640         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
9641         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
9642         (_GL_REMAINDER_OVERFLOW): Use it.
9643
9644         intprops-tests: revert unsigned part of previous change
9645         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
9646         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
9647         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
9648         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
9649
9650 2011-05-19  Bruno Haible  <bruno@clisp.org>
9651
9652         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
9653         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
9654         strerror_r() returned without filling the buffer.
9655         Reported by Eric Blake.
9656
9657 2011-05-19  Eric Blake  <eblake@redhat.com>
9658
9659         strerror_r: guarantee unchanged errno
9660         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
9661         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
9662         failure.
9663         * tests/test-strerror_r.c (main): Enhance test.
9664
9665 2011-05-19  Bruno Haible  <bruno@clisp.org>
9666
9667         strerror_r: Reorder #if blocks.
9668         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
9669         for consistency with the previous commit.
9670
9671 2011-05-19  Bruno Haible  <bruno@clisp.org>
9672
9673         perror: Avoid clobbering the strerror buffer when possible.
9674         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
9675         * lib/strerror.c: Include it.
9676         * modules/strerror (Files): Add lib/strerror-impl.h.
9677         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
9678         (my_strerror): New function, defined through lib/strerror-impl.h.
9679         (perror): Use it instead of strerror.
9680         * modules/perror (Files): Add lib/strerror-impl.h.
9681         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
9682
9683 2011-05-19  Eric Blake  <eblake@redhat.com>
9684
9685         strerror_r: fix on newer cygwin
9686         * lib/strerror_r.c (strerror_r): Cygwin now has
9687         __xpg_strerror_r, use it.
9688
9689 2011-05-19  Bruno Haible  <bruno@clisp.org>
9690
9691         strerror_r: Avoid clobbering the strerror buffer when possible.
9692         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
9693         (sys_nerr, sys_errlist): New declarations.
9694         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
9695         HP-UX, native Win32, IRIX, and 32-bit Solaris.
9696         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
9697
9698 2011-05-19  Bruno Haible  <bruno@clisp.org>
9699
9700         strerror_r: Fix test failure on mingw.
9701         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
9702         EXTEND_STRERROR_R.
9703         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
9704         macros from errno.in.h instead.
9705
9706 2011-05-19  Eric Blake  <eblake@redhat.com>
9707
9708         strerror: relax test for Solaris
9709         * tests/test-strerror.c (main): Permit Solaris behavior.
9710         * tests/test-strerror_r.c (main): Likewise.
9711
9712         strerror: enforce POSIX ruling on strerror(0)
9713         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
9714         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
9715         * lib/strerror_r.c (rpl_strerror_r): Work around it.
9716         * doc/posix-functions/strerror.texi (strerror): Document it.
9717         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
9718         * tests/test-strerror.c (main): Strengthen test.
9719         * tests/test-strerror_r.c (main): Likewise.
9720
9721 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9722
9723         intprop-tests: port to older and more-pedantic compilers
9724         * modules/intprops-tests (Files): Add tests/macros.h.
9725         * tests/test-intprops.c: Include macros.h.
9726         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
9727         it's no longer documented to expand to an integer constant expression.
9728         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
9729         argument is floating point, as it's no longer documented to expand
9730         to an integer constant expression in that case.
9731         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
9732         compiler bugs reported by Bruno Haible.  See
9733         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9734         (U0, U1): New constants, to work around the same bugs.  Also,
9735         in tests, use e.g., "(unsigned int) 39" rather than "39u".
9736
9737         intprops: work around C compiler bugs
9738         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
9739         bug in Sun C 5.11 2010/08/13 and other compilers; see
9740         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9741
9742         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
9743         * doc/intprops.texi (Integer Type Determination): Fix
9744         documentation for TYPE_IS_INTEGER: it returns an constant
9745         expression, not an integer constant expression.  Fix doc for
9746         TYPE_SIGNED: it returns an integer constant expression only if its
9747         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
9748         hardly worth documented that way....)
9749
9750 2011-05-18  Bruno Haible  <bruno@clisp.org>
9751
9752         strerror_r: Avoid clobbering the strerror buffer when possible.
9753         * lib/strerror_r.c (strerror_r): Merge the three implementations.
9754         Handle gnulib defined errno values here. When strerror() returns NULL
9755         or an empty string, return EINVAL.
9756         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
9757         gnulib defined errno values here.
9758         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
9759
9760 2011-05-18  Eric Blake  <eblake@redhat.com>
9761
9762         fnmatch: avoid compiler warning
9763         * lib/fnmatch_loop.c (FCT): Use correct type.
9764         Reported by Matthias Bolte.
9765
9766 2011-05-13  Jim Meyering  <meyering@redhat.com>
9767
9768         maint.mk: three new prohibit_<HDR>_without_use rules
9769         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
9770         (sc_prohibit_stdio-safer_without_use): Likewise.
9771         (sc_prohibit_xfreopen_without_use): Likewise.
9772
9773 2011-05-17  Jim Meyering  <meyering@redhat.com>
9774
9775         announce-gen: fail if the NEWS delta is empty
9776         If there's nothing noteworthy in NEWS, then either you forgot
9777         or you shouldn't be releasing.
9778         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
9779
9780 2011-05-17  Pádraig Brady <P@draigBrady.com>
9781
9782         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
9783         reserved symbols starting with double underscore from the check.
9784
9785 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
9786
9787         intprops: add doc
9788         * doc/intprops.texi: New file, documenting intprops.
9789         * doc/gnulib.texi (Particular Modules): Include it.
9790
9791         verify: add doc to gnulib manual and fix example
9792         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
9793         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
9794         (Compile-time Assertions): Fix example so it can't overflow.
9795
9796 2011-05-17  Jim Meyering  <meyering@redhat.com>
9797
9798         warnings.m4: don't usurp save_CPPFLAGS variable name
9799         * m4/warnings.m4: Prefix local temporary variable name with gl_.
9800
9801         doc: fix typo
9802         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
9803
9804 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
9805             Bruno Haible  <bruno@clisp.org>
9806
9807         doc: Tweak recent change.
9808         * README (Portability guidelines): Tweak new text.
9809         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
9810         Interix 6.1.
9811
9812 2011-05-16  Eric Blake  <eblake@redhat.com>
9813
9814         inttypes: avoid autoconf warning
9815         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
9816         * m4/stdint.m4 (gl_STDINT_H): Likewise.
9817
9818 2011-05-16  Sam Steingold <sds@gnu.org>
9819         and Eric Blake  <eblake@redhat.com>
9820
9821         vc-list-files: accept multiple directory operands
9822         * build-aux/vc-list-files: Iterate over all remaining operands.
9823
9824 2011-05-16  Bruno Haible  <bruno@clisp.org>
9825
9826         Fix confusion regarding deprecated modules.
9827         * modules/calloc (Status, Notice): Mark module as deprecated, not
9828         obsolete.
9829         * modules/fnmatch-posix (Status, Notice): Likewise.
9830         * modules/getdate (Status, Notice): Likewise.
9831         * modules/getopt (Status, Notice): Likewise.
9832         * modules/malloc (Status, Notice): Likewise.
9833         * modules/pipe (Status, Notice): Likewise.
9834         * modules/realloc (Status, Notice): Likewise.
9835         * modules/rename-dest-slash (Status, Notice): Likewise.
9836         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
9837         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
9838         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
9839         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
9840         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
9841
9842 2011-05-16  Bruno Haible  <bruno@clisp.org>
9843
9844         doc: List the target platforms.
9845         * doc/gnulib-intro.texi (Target Platforms): New section.
9846         * doc/gnulib.texi (Introduction): Update menu.
9847         * README (Portability guidelines): Refer to the new section. Update
9848         statement about oldest supported environment. Remove rationale why
9849         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
9850         unportable C89 function.
9851         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
9852         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
9853
9854 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
9855
9856         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
9857
9858 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
9859
9860         intprops-tests: new module
9861         * modules/intprops-tests, tests/test-intprops.c: New files.
9862
9863         intprops: add safe, portable integer overflow checking
9864         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
9865         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
9866         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
9867         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
9868         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
9869         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
9870         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
9871         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
9872         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
9873         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
9874         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
9875
9876 2011-05-12  James Youngman  <jay@gnu.org>
9877
9878         Add a test for glibc's Bugzilla bug #12378.
9879         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
9880         doesn't allow the literal matching of a lone "[" (which is
9881         required by POSIX).
9882         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
9883
9884 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
9885
9886         Sync glibc change fixing Bugzilla bug #12378.
9887         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
9888         beginning and fall back to matching as normal character if the
9889         string ends before the matching ']' is found.  This is what POSIX
9890         requires.
9891
9892 2011-05-13  Eric Blake  <eblake@redhat.com>
9893
9894         getcwd-lgpl: relax test for FreeBSD
9895         * doc/posix-functions/getcwd.texi (getcwd): Document portability
9896         issue.
9897         * tests/test-getcwd-lgpl.c (main): Relax test.
9898         Reported by Matthias Bolte.
9899
9900 2011-05-11  Eric Blake  <eblake@redhat.com>
9901
9902         test-fflush: silence compiler warning
9903         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
9904
9905 2011-05-11  Bruno Haible  <bruno@clisp.org>
9906
9907         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
9908         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
9909         * modules/canonicalize (Depends-on): Add 'nocrash'.
9910         * modules/canonicalize-lgpl (Depends-on): Likewise.
9911         * doc/posix-functions/realpath.texi: Update platforms list.
9912         Reported by Ryan Schmidt <ryandesign@macports.org>.
9913
9914 2011-05-11  Bruno Haible  <bruno@clisp.org>
9915
9916         group-member: Declare function in <unistd.h>.
9917         * lib/unistd.in.h (group_member): New declaration.
9918         * lib/group-member.h: Remove file.
9919         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
9920         * tests/test-unistd-c++.cc: Check signature of group_member.
9921         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
9922         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
9923         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
9924         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
9925         HAVE_GROUP_MEMBER.
9926         * modules/group-member (Files): Remove lib/group-member.h.
9927         (Depends-on): Add unistd. Specify conditions.
9928         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
9929         (Include): Change to <unistd.h>.
9930         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
9931         HAVE_GROUP_MEMBER.
9932         * NEWS: Mention the change.
9933         * lib/euidaccess.c: Don't include group-member.h.
9934
9935 2011-05-11  Bruno Haible  <bruno@clisp.org>
9936
9937         group-member: Document module.
9938         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
9939         module.
9940
9941 2011-05-11  Bruno Haible  <bruno@clisp.org>
9942
9943         fclose: Fix mistake earlier today.
9944         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
9945
9946 2011-05-11  Eric Blake  <eblake@redhat.com>
9947
9948         fclose: preserve fflush errors
9949         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
9950         Reported by Jim Meyering.
9951
9952         bootstrap: support a prereq of 'rpcgen -' on RHEL5
9953         * build-aux/bootstrap (check_versions): When no specific version
9954         is required, merely check that the app produces an exit status
9955         that indicates its existence.
9956
9957         maint.mk: drop redundant check
9958         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
9959         the same but better.
9960
9961 2011-05-11  Bruno Haible  <bruno@clisp.org>
9962
9963         fclose: Fix possible link error.
9964         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
9965         unregister_shadow_fd. Improve comments.
9966         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
9967         Eric Blake.
9968
9969 2011-05-11  Jim Meyering  <meyering@redhat.com>
9970
9971         maint.mk: improve "can not" detection and generalize rule name
9972         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
9973         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
9974         Use the same technique as in sc_prohibit_doubled_word, so that
9975         we recognize "can not" also when the words are separated by a newline.
9976         Suggested by Eric Blake.
9977         (perl_filename_lineno_text_): Define.  Factored out of...
9978         (prohibit_doubled_word_): ...here.  Use the new definition.
9979         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
9980         (prohibit_undesirable_word_seq_RE_): New overridable variable.
9981         (ignore_undesirable_word_sequence_RE_): New overridable variable.
9982
9983 2011-05-10  Eric Blake  <eblake@redhat.com>
9984
9985         fclose: avoid double close race when possible
9986         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
9987         all but WINDOWS_SOCKETS.
9988
9989 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
9990
9991         openat: correct new comment
9992         * lib/openat-proc.c (openat_proc_name): Correct the comment.
9993
9994 2011-05-10  Jim Meyering  <meyering@redhat.com>
9995
9996         openat: add comments
9997         * lib/openat-proc.c (openat_proc_name): Add comments,
9998         mostly from Eric Blake.
9999
10000 2011-05-09  Eric Blake  <eblake@redhat.com>
10001
10002         openat: reduce syscalls in first probe of /proc
10003         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
10004         be a directory.  Simplify the probe for .. bugs.
10005         * modules/openat (Depends-on): Drop same-inode.
10006         Reported by Bastien ROUCARIES.
10007
10008 2011-05-09  Jim Meyering  <meyering@redhat.com>
10009
10010         maint.mk: change semantics/name of tight_scope variables
10011         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
10012         Rename variables to align with semantics that make them more useful.
10013
10014         maint.mk: tweak new rule's name not to impinge
10015         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
10016         (sc_tight_scope): Use new rule name rather than $@-0.
10017
10018         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
10019         * top/maint.mk (sc_tight_scope): New rule.
10020         (sc_tight_scope-0): New rule, ifdef'd out.
10021         (_gl_TS_dir): Default.
10022         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
10023         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
10024
10025 2011-05-09  Simon Josefsson  <simon@josefsson.org>
10026
10027         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
10028         Haible <bruno@clisp.org>.
10029
10030 2011-05-08  Bruno Haible  <bruno@clisp.org>
10031
10032         Comments.
10033         * m4/isnanf.m4: Add comment.
10034         * m4/isnanl.m4: Likewise.
10035
10036 2011-05-08  Bruno Haible  <bruno@clisp.org>
10037
10038         glob: Remove obsolete macro.
10039         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
10040
10041 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
10042
10043         intprops: Sun C 5.11 supports __typeof__
10044         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
10045         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
10046         which is new.
10047         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
10048
10049         intprops: switch to usual gnulib indenting and naming
10050         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
10051         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
10052
10053         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
10054
10055 2011-05-08  Jim Meyering  <meyering@redhat.com>
10056
10057         maint.mk: suppress "Entering/Leaving directory" diag in announcement
10058         * top/maint.mk (release-prep): Use make's --no-print-directory
10059         option when generating the announcement.  This eliminates the
10060         pesky "make[2]: Entering/Leaving directory" diagnostics in the
10061         generated announcement template.
10062
10063 2011-05-08  Bruno Haible  <bruno@clisp.org>
10064
10065         tzset: Fix gettimeofday wrapper on Solaris 2.6.
10066         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
10067         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
10068
10069 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
10070
10071         ignore-value, verify: Omit include files from lib_SOURCES.
10072         * modules/ignore-value, modules/verify (Makefile.am):
10073         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
10074         that leads Automake to duplicate use of am__objects_... variables
10075         in Makefile.in.  See
10076         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
10077
10078 2011-05-07  Bruno Haible  <bruno@clisp.org>
10079
10080         fclose: Simplify autoconf macro.
10081         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
10082         defined.
10083
10084 2011-05-07  Bruno Haible  <bruno@clisp.org>
10085
10086         canonicalize-lgpl: Fix autoconf macro ordering bug.
10087         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
10088         gl_STDLIB_H_DEFAULTS.
10089
10090 2011-05-06  Eric Blake  <eblake@redhat.com>
10091
10092         maintainer-makefile: make sc_po_check easier to tune
10093         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
10094         to probe for strings, such as an alternate location for gnulib.
10095
10096         fclose: guarantee behavior on seekable stdin
10097         * modules/fclose (Depends-on): Add fflush.
10098         * doc/posix-functions/fclose.texi (fclose): Document this.
10099         * tests/test-fclose.c (main): Make test for this unconditional.
10100
10101 2011-05-06  Bruno Haible  <bruno@clisp.org>
10102
10103         fflush, fpurge: Relicense under LGPLv2+.
10104         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
10105         * modules/fpurge (License): Likewise.
10106         With permission from Eric Blake and Jim Meyering.
10107         Suggested by Eric Blake.
10108
10109 2011-05-06  Karl Berry  <karl@gnu.org>
10110
10111         * MODULES.html.sh (func_all_modules): remove exit.
10112
10113 2011-05-06  Jim Meyering  <meyering@redhat.com>
10114
10115         maint.mk: use info-gnu@ as the default only for a stable release
10116         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
10117         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
10118         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
10119         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
10120
10121 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10122
10123         assert-h: new module, which supports C1X-style static_assert
10124         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
10125         * lib/verify.h: Revamp so that this can be copied into assert.h,
10126         while retaining the ability to use it standalone as before.
10127         Rename private identifiers so as not to encroach on the
10128         standard C namespace, since this is now used by assert.h.
10129         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
10130         the old verify_true.
10131         (_GL_VERIFY_TRUE): New macro, with much of the contents of
10132         the old verify_true.  Use _GL_VERIFY_TYPE.
10133         (_GL_VERIFY): New macro, with much of the contents of the old verify.
10134         (static_assert): New macro, if _GL_STATIC_ASSERT_H
10135         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
10136         defined when this file is copied into the replacement assert.h.
10137         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
10138         and _Static_assert is not built in.
10139         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
10140         defined, and use the new macros mentioned above.
10141         * doc/posix-headers/assert.texi: Document this.
10142
10143 2011-05-05  Bruno Haible  <bruno@clisp.org>
10144
10145         fclose, fflush: Respect rules for use of AC_LIBOBJ.
10146         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
10147         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
10148         gl_REPLACE_FCLOSE here.
10149         * modules/fflush (Depends-on): Remove fclose.
10150         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
10151         combination with module 'fclose'.
10152
10153 2011-05-05  Bruno Haible  <bruno@clisp.org>
10154
10155         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
10156         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
10157         gl_FUNC_FFLUSH.
10158         (gl_FUNC_FFLUSH): Use it.
10159         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
10160         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
10161         gl_REPLACE_FSEEKO here.
10162
10163 2011-05-05  Bruno Haible  <bruno@clisp.org>
10164
10165         tzset: Relicense under LGPL.
10166         * modules/tzset (License): Change to LGPL.
10167         No agreement needed; it's a no-op.
10168
10169         strtoimax, strtoumax: Relicense under LGPL.
10170         * modules/strtoimax (License): Change to LGPL.
10171         * modules/strtoumax (License): Likewise.
10172         With permission from Jim Meyering, Paul Eggert:
10173         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
10174         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
10175
10176         getgroups: Relicense under LGPL.
10177         * modules/getgroups (License): Change to LGPL.
10178         With permission from Jim Meyering, Paul Eggert, Eric Blake:
10179         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10180         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10181         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10182
10183         nanosleep: Relicense under LGPL.
10184         * modules/nanosleep (License): Change to LGPL.
10185         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
10186         Haible:
10187         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10188         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10189         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10190         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10191
10192         futimens: Relicense under LGPL.
10193         * modules/futimens (License): Change to LGPL.
10194         With permission from Eric Blake:
10195         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10196
10197         fflush: Relicense under LGPL.
10198         * modules/fflush (License): Change to LGPL.
10199         With permission from Eric Blake, Bruno Haible, Jim Meyering:
10200         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10201         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10202         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
10203
10204         tmpfile: Relicense under LGPL.
10205         * modules/tmpfile (License): Change to LGPL.
10206         With permission from Ben Pfaff:
10207         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10208
10209         isfinite: Relicense under LGPL.
10210         * modules/isfinite (License): Change to LGPL.
10211         With permission from Ben Pfaff, Bruno Haible:
10212         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10213         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
10214
10215         acosl..tanl: Relicense under LGPL.
10216         * modules/acosl (License): Change to LGPL.
10217         * modules/asinl (License): Likewise.
10218         * modules/atanl (License): Likewise.
10219         * modules/cosl (License): Likewise.
10220         * modules/expl (License): Likewise.
10221         * modules/logl (License): Likewise.
10222         * modules/sinl (License): Likewise.
10223         * modules/sqrtl (License): Likewise.
10224         * modules/tanl (License): Likewise.
10225         Source code originally from glibc and Paolo Bonzini. Agreements:
10226         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
10227         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
10228
10229 2011-05-05  Bruno Haible  <bruno@clisp.org>
10230
10231         signal: Define sighandler_t.
10232         * lib/signal.in.h (sighandler_t): New type.
10233         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
10234         whether sighandler_t is defined.
10235         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
10236         * modules/signal (Depends-on): Add extensions.
10237         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
10238         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
10239         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
10240
10241 2011-05-05  Eric Blake  <eblake@redhat.com>
10242
10243         maint: remove useless REPLACE_*_H macros
10244         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
10245         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
10246         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
10247         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
10248         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
10249         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
10250         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
10251         * m4/btowc.m4: Update callers.
10252         * m4/dirfd.m4: Likewise.
10253         * m4/duplocale.m4: Likewise.
10254         * m4/fchdir.m4: Likewise.
10255         * m4/fdopendir.m4: Likewise.
10256         * m4/inet_ntop.m4: Likewise.
10257         * m4/inet_pton.m4: Likewise.
10258         * m4/ioctl.m4: Likewise.
10259         * m4/mbrlen.m4: Likewise.
10260         * m4/mbrtowc.m4: Likewise.
10261         * m4/mbsinit.m4: Likewise.
10262         * m4/mbsnrtowcs.m4: Likewise.
10263         * m4/mbsrtowcs.m4: Likewise.
10264         * m4/poll.m4: Likewise.
10265         * m4/setlocale.m4: Likewise.
10266         * m4/wcrtomb.m4: Likewise.
10267         * m4/wcsnrtombs.m4: Likewise.
10268         * m4/wcsrtombs.m4: Likewise.
10269         * m4/wctob.m4: Likewise.
10270         * m4/wcwidth.m4: Likewise.
10271         * modules/posix_spawn: Likewise.
10272         * modules/posix_spawn_file_actions_addclose: Likewise.
10273         * modules/posix_spawn_file_actions_adddup2: Likewise.
10274         * modules/posix_spawn_file_actions_addopen: Likewise.
10275         * modules/posix_spawn_file_actions_destroy: Likewise.
10276         * modules/posix_spawn_file_actions_init: Likewise.
10277         * modules/posix_spawnattr_destroy: Likewise.
10278         * modules/posix_spawnattr_getflags: Likewise.
10279         * modules/posix_spawnattr_getpgroup: Likewise.
10280         * modules/posix_spawnattr_getschedparam: Likewise.
10281         * modules/posix_spawnattr_getschedpolicy: Likewise.
10282         * modules/posix_spawnattr_getsigdefault: Likewise.
10283         * modules/posix_spawnattr_getsigmask: Likewise.
10284         * modules/posix_spawnattr_init: Likewise.
10285         * modules/posix_spawnattr_setflags: Likewise.
10286         * modules/posix_spawnattr_setpgroup: Likewise.
10287         * modules/posix_spawnattr_setschedparam: Likewise.
10288         * modules/posix_spawnattr_setschedpolicy: Likewise.
10289         * modules/posix_spawnattr_setsigdefault: Likewise.
10290         * modules/posix_spawnattr_setsigmask: Likewise.
10291         * modules/posix_spawnp: Likewise.
10292
10293 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
10294
10295         Add option to do-release-commit-and-tag to specify branch.
10296         * build-aux/do-release-commit-and-tag: Add --branch.
10297
10298 2011-05-03  Bruno Haible  <bruno@clisp.org>
10299
10300         Avoid unnecessary compilation units, through conditional dependencies.
10301         * modules/accept (Depends-on): Add conditions to the dependencies.
10302         * modules/acosl (Depends-on): Likewise.
10303         * modules/argz (Depends-on): Likewise.
10304         * modules/asinl (Depends-on): Likewise.
10305         * modules/atanl (Depends-on): Likewise.
10306         * modules/atoll (Depends-on): Likewise.
10307         * modules/bind (Depends-on): Likewise.
10308         * modules/btowc (Depends-on): Likewise.
10309         * modules/canonicalize-lgpl (Depends-on): Likewise.
10310         * modules/ceil (Depends-on): Likewise.
10311         * modules/ceilf (Depends-on): Likewise.
10312         * modules/ceill (Depends-on): Likewise.
10313         * modules/chdir-long (Depends-on): Likewise.
10314         * modules/chown (Depends-on): Likewise.
10315         * modules/close (Depends-on): Likewise.
10316         * modules/connect (Depends-on): Likewise.
10317         * modules/cosl (Depends-on): Likewise.
10318         * modules/dirfd (Depends-on): Likewise.
10319         * modules/dprintf (Depends-on): Likewise.
10320         * modules/dprintf-posix (Depends-on): Likewise.
10321         * modules/error (Depends-on): Likewise.
10322         * modules/euidaccess (Depends-on): Likewise.
10323         * modules/expl (Depends-on): Likewise.
10324         * modules/faccessat (Depends-on): Likewise.
10325         * modules/fchdir (Depends-on): Likewise.
10326         * modules/fclose (Depends-on): Likewise.
10327         * modules/fcntl (Depends-on): Likewise.
10328         * modules/fdopendir (Depends-on): Likewise.
10329         * modules/fflush (Depends-on): Likewise.
10330         * modules/floor (Depends-on): Likewise.
10331         * modules/floorf (Depends-on): Likewise.
10332         * modules/floorl (Depends-on): Likewise.
10333         * modules/fnmatch (Depends-on): Likewise.
10334         * modules/fopen (Depends-on): Likewise.
10335         * modules/fprintf-posix (Depends-on): Likewise.
10336         * modules/frexp (Depends-on): Likewise.
10337         * modules/frexp-nolibm (Depends-on): Likewise.
10338         * modules/frexpl (Depends-on): Likewise.
10339         * modules/frexpl-nolibm (Depends-on): Likewise.
10340         * modules/fseek (Depends-on): Likewise.
10341         * modules/fsusage (Depends-on): Likewise.
10342         * modules/ftell (Depends-on): Likewise.
10343         * modules/ftello (Depends-on): Likewise.
10344         * modules/futimens (Depends-on): Likewise.
10345         * modules/getcwd (Depends-on): Likewise.
10346         * modules/getcwd-lgpl (Depends-on): Likewise.
10347         * modules/getdelim (Depends-on): Likewise.
10348         * modules/getdomainname (Depends-on): Likewise.
10349         * modules/getgroups (Depends-on): Likewise.
10350         * modules/gethostname (Depends-on): Likewise.
10351         * modules/getline (Depends-on): Likewise.
10352         * modules/getlogin_r (Depends-on): Likewise.
10353         * modules/getopt-posix (Depends-on): Likewise.
10354         * modules/getpeername (Depends-on): Likewise.
10355         * modules/getsockname (Depends-on): Likewise.
10356         * modules/getsockopt (Depends-on): Likewise.
10357         * modules/getsubopt (Depends-on): Likewise.
10358         * modules/getusershell (Depends-on): Likewise.
10359         * modules/glob (Depends-on): Likewise.
10360         * modules/grantpt (Depends-on): Likewise.
10361         * modules/iconv_open (Depends-on): Likewise.
10362         * modules/iconv_open-utf (Depends-on): Likewise.
10363         * modules/inet_ntop (Depends-on): Likewise.
10364         * modules/inet_pton (Depends-on): Likewise.
10365         * modules/ioctl (Depends-on): Likewise.
10366         * modules/isapipe (Depends-on): Likewise.
10367         * modules/isfinite (Depends-on): Likewise.
10368         * modules/isinf (Depends-on): Likewise.
10369         * modules/lchown (Depends-on): Likewise.
10370         * modules/ldexpl (Depends-on): Likewise.
10371         * modules/link (Depends-on): Likewise.
10372         * modules/linkat (Depends-on): Likewise.
10373         * modules/listen (Depends-on): Likewise.
10374         * modules/logl (Depends-on): Likewise.
10375         * modules/lstat (Depends-on): Likewise.
10376         * modules/mbrlen (Depends-on): Likewise.
10377         * modules/mbrtowc (Depends-on): Likewise.
10378         * modules/mbsinit (Depends-on): Likewise.
10379         * modules/mbsnrtowcs (Depends-on): Likewise.
10380         * modules/mbsrtowcs (Depends-on): Likewise.
10381         * modules/mbtowc (Depends-on): Likewise.
10382         * modules/memcmp (Depends-on): Likewise.
10383         * modules/mkdir (Depends-on): Likewise.
10384         * modules/mkdtemp (Depends-on): Likewise.
10385         * modules/mkfifo (Depends-on): Likewise.
10386         * modules/mkfifoat (Depends-on): Likewise.
10387         * modules/mknod (Depends-on): Likewise.
10388         * modules/mkostemp (Depends-on): Likewise.
10389         * modules/mkostemps (Depends-on): Likewise.
10390         * modules/mkstemp (Depends-on): Likewise.
10391         * modules/mkstemps (Depends-on): Likewise.
10392         * modules/mktime (Depends-on): Likewise.
10393         * modules/nanosleep (Depends-on): Likewise.
10394         * modules/open (Depends-on): Likewise.
10395         * modules/openat (Depends-on): Likewise.
10396         * modules/perror (Depends-on): Likewise.
10397         * modules/poll (Depends-on): Likewise.
10398         * modules/popen (Depends-on): Likewise.
10399         * modules/posix_spawn (Depends-on): Likewise.
10400         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
10401         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
10402         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
10403         * modules/posix_spawnp (Depends-on): Likewise.
10404         * modules/pread (Depends-on): Likewise.
10405         * modules/printf-posix (Depends-on): Likewise.
10406         * modules/ptsname (Depends-on): Likewise.
10407         * modules/putenv (Depends-on): Likewise.
10408         * modules/pwrite (Depends-on): Likewise.
10409         * modules/readline (Depends-on): Likewise.
10410         * modules/readlink (Depends-on): Likewise.
10411         * modules/readlinkat (Depends-on): Likewise.
10412         * modules/recv (Depends-on): Likewise.
10413         * modules/recvfrom (Depends-on): Likewise.
10414         * modules/regex (Depends-on): Likewise.
10415         * modules/remove (Depends-on): Likewise.
10416         * modules/rename (Depends-on): Likewise.
10417         * modules/renameat (Depends-on): Likewise.
10418         * modules/rmdir (Depends-on): Likewise.
10419         * modules/round (Depends-on): Likewise.
10420         * modules/roundf (Depends-on): Likewise.
10421         * modules/roundl (Depends-on): Likewise.
10422         * modules/rpmatch (Depends-on): Likewise.
10423         * modules/select (Depends-on): Likewise.
10424         * modules/send (Depends-on): Likewise.
10425         * modules/sendto (Depends-on): Likewise.
10426         * modules/setenv (Depends-on): Likewise.
10427         * modules/setlocale (Depends-on): Likewise.
10428         * modules/setsockopt (Depends-on): Likewise.
10429         * modules/shutdown (Depends-on): Likewise.
10430         * modules/sigaction (Depends-on): Likewise.
10431         * modules/signbit (Depends-on): Likewise.
10432         * modules/sigprocmask (Depends-on): Likewise.
10433         * modules/sinl (Depends-on): Likewise.
10434         * modules/sleep (Depends-on): Likewise.
10435         * modules/snprintf (Depends-on): Likewise.
10436         * modules/snprintf-posix (Depends-on): Likewise.
10437         * modules/socket (Depends-on): Likewise.
10438         * modules/sprintf-posix (Depends-on): Likewise.
10439         * modules/sqrtl (Depends-on): Likewise.
10440         * modules/stat (Depends-on): Likewise.
10441         * modules/strchrnul (Depends-on): Likewise.
10442         * modules/strdup-posix (Depends-on): Likewise.
10443         * modules/strerror (Depends-on): Likewise.
10444         * modules/strerror_r-posix (Depends-on): Likewise.
10445         * modules/strndup (Depends-on): Likewise.
10446         * modules/strnlen (Depends-on): Likewise.
10447         * modules/strptime (Depends-on): Likewise.
10448         * modules/strsep (Depends-on): Likewise.
10449         * modules/strsignal (Depends-on): Likewise.
10450         * modules/strstr-simple (Depends-on): Likewise.
10451         * modules/strtod (Depends-on): Likewise.
10452         * modules/strtoimax (Depends-on): Likewise.
10453         * modules/strtok_r (Depends-on): Likewise.
10454         * modules/strtoumax (Depends-on): Likewise.
10455         * modules/symlink (Depends-on): Likewise.
10456         * modules/symlinkat (Depends-on): Likewise.
10457         * modules/tanl (Depends-on): Likewise.
10458         * modules/tcgetsid (Depends-on): Likewise.
10459         * modules/tmpfile (Depends-on): Likewise.
10460         * modules/trunc (Depends-on): Likewise.
10461         * modules/truncf (Depends-on): Likewise.
10462         * modules/truncl (Depends-on): Likewise.
10463         * modules/uname (Depends-on): Likewise.
10464         * modules/unlink (Depends-on): Likewise.
10465         * modules/unlockpt (Depends-on): Likewise.
10466         * modules/unsetenv (Depends-on): Likewise.
10467         * modules/usleep (Depends-on): Likewise.
10468         * modules/utimensat (Depends-on): Likewise.
10469         * modules/vasprintf (Depends-on): Likewise.
10470         * modules/vdprintf (Depends-on): Likewise.
10471         * modules/vdprintf-posix (Depends-on): Likewise.
10472         * modules/vfprintf-posix (Depends-on): Likewise.
10473         * modules/vprintf-posix (Depends-on): Likewise.
10474         * modules/vsnprintf (Depends-on): Likewise.
10475         * modules/vsnprintf-posix (Depends-on): Likewise.
10476         * modules/vsprintf-posix (Depends-on): Likewise.
10477         * modules/wcrtomb (Depends-on): Likewise.
10478         * modules/wcscasecmp (Depends-on): Likewise.
10479         * modules/wcscspn (Depends-on): Likewise.
10480         * modules/wcsdup (Depends-on): Likewise.
10481         * modules/wcsncasecmp (Depends-on): Likewise.
10482         * modules/wcsnrtombs (Depends-on): Likewise.
10483         * modules/wcspbrk (Depends-on): Likewise.
10484         * modules/wcsrtombs (Depends-on): Likewise.
10485         * modules/wcsspn (Depends-on): Likewise.
10486         * modules/wcsstr (Depends-on): Likewise.
10487         * modules/wcstok (Depends-on): Likewise.
10488         * modules/wcswidth (Depends-on): Likewise.
10489         * modules/wctob (Depends-on): Likewise.
10490         * modules/wctomb (Depends-on): Likewise.
10491         * modules/wctype (Depends-on): Likewise.
10492         * modules/wcwidth (Depends-on): Likewise.
10493         * modules/write (Depends-on): Likewise.
10494
10495 2011-05-03  Bruno Haible  <bruno@clisp.org>
10496
10497         Support for conditional dependencies.
10498         * doc/gnulib.texi (Module description): Document the syntax of
10499         conditional dependencies.
10500         * gnulib-tool: New option --conditional-dependencies.
10501         (func_usage): Document it.
10502         (cond_dependencies): New variable.
10503         (func_get_automake_snippet_conditional,
10504         func_get_automake_snippet_unconditional): New functions, extracted from
10505         func_get_automake_snippet.
10506         (func_get_automake_snippet): Use them.
10507         (sed_first_32_chars): New variable.
10508         (func_module_shellfunc_name): New function.
10509         (func_module_shellvar_name): New function.
10510         (func_module_conditional_name): New function.
10511         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
10512         func_cond_module_condition): New functions.
10513         (func_modules_transitive_closure): Add support for conditional
10514         dependencies.
10515         (func_emit_lib_Makefile_am): For a conditional module, enclose the
10516         conditional automake snippet in an automake conditional.
10517         (func_emit_autoconf_snippets): Emit shell functions that contain the
10518         code for conditional modules.
10519         (func_import, func_create_testdir): Update specification.
10520
10521 2011-05-03  Eric Blake  <eblake@redhat.com>
10522
10523         test-getaddrinfo: report error information
10524         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
10525
10526 2011-05-03  Jim Meyering  <meyering@redhat.com>
10527
10528         bootstrap: avoid build failure when $GZIP is set
10529         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
10530         program name.  If defined at all, it is supposed to list gzip options.
10531         Reported by Alan Curry in http://debbugs.gnu.org/8609
10532
10533 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
10534
10535         readme-release: new module with release instructions
10536         * modules/readme-release: New module.
10537         * top/README-release: New file, from coreutils, grep, diffutils.
10538         * MODULES.html.sh (Support for maintaining and releasing): Add it.
10539
10540 2011-05-02  Eric Blake  <eblake@redhat.com>
10541
10542         fflush: also replace fclose when fixing fflush
10543         * modules/fflush (Depends-on): Add fclose.
10544         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
10545         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
10546         memstreams with no backing fd.
10547         * doc/posix-functions/fclose.texi (fclose): Document the use of
10548         fflush module to fix the bug.
10549         * tests/test-fclose.c (main): Relax test when fclose is used in
10550         isolation.
10551
10552         fclose: add some tests
10553         * modules/fclose-tests: New test module.
10554         * tests/test-fclose.c: New file.
10555         * doc/posix-functions/fclose.texi (fclose): Document the bug.
10556
10557         fclose: reduced dependencies
10558         * modules/fclose (Depends-on): Switch from fflush/fseeko to
10559         simpler lseek.
10560         * lib/fclose.c (rpl_fclose): Likewise.
10561         Reported by Simon Josefsson.
10562
10563         exit: drop remaining clients
10564         * modules/argmatch (Depends-on): Replace exit with stdlib.
10565         * modules/copy-file (Depends-on): Likewise.
10566         * modules/execute (Depends-on): Likewise.
10567         * modules/exitfail (Depends-on): Likewise.
10568         * modules/obstack (Depends-on): Likewise.
10569         * modules/pagealign_alloc (Depends-on): Likewise.
10570         * modules/pipe-filter-gi (Depends-on): Likewise.
10571         * modules/pipe-filter-ii (Depends-on): Likewise.
10572         * modules/savewd (Depends-on): Likewise.
10573         * modules/spawn-pipe (Depends-on): Likewise.
10574         * modules/wait-process (Depends-on): Likewise.
10575         * modules/xsetenv (Depends-on): Likewise.
10576         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
10577         * modules/git-merge-changelog (Depends-on): Likewise.
10578         * modules/long-options (Depends-on): Likewise.
10579         * modules/pt_chown (Depends-on): Likewise.
10580         * modules/sysexits (Depends-on): Likewise.
10581
10582         freading: relax license from LGPLv3+ to LGPLv2+
10583         * modules/freading (License): Relax LGPL version.
10584
10585 2011-05-02  Bruno Haible  <bruno@clisp.org>
10586
10587         fchdir: Remove unused dependencies.
10588         * modules/fchdir (Depends-on): Remove include_next.
10589
10590 2011-05-02  Bruno Haible  <bruno@clisp.org>
10591
10592         gnulib-tool: Refactor.
10593         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
10594         from func_emit_autoconf_snippets.
10595         (func_emit_autoconf_snippets): Use it.
10596
10597 2011-05-02  Simon Josefsson  <simon@josefsson.org>
10598
10599         * NEWS: Document removal of 'exit'.
10600         * modules/exit: Remove file.
10601
10602 2011-05-01  Bruno Haible  <bruno@clisp.org>
10603
10604         Update DEPENDENCIES.
10605         * DEPENDENCIES (gettext): Recommend the newest release.
10606         Reported by Simon Josefsson.
10607
10608 2011-05-01  Bruno Haible  <bruno@clisp.org>
10609
10610         gnulib-tool: Reduce code duplication.
10611         * gnulib-tool (func_emit_autoconf_snippets): New function.
10612         (func_import, func_create_testdir): Use it.
10613
10614 2011-04-30  Eric Blake  <eblake@redhat.com>
10615
10616         fclose: don't fail on non-seekable input stream
10617         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
10618         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
10619         since fflush is allowed to fail in that case.
10620
10621 2011-04-30  Bruno Haible  <bruno@clisp.org>
10622
10623         dup3: cleanup
10624         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
10625
10626 2011-04-30  Bruno Haible  <bruno@clisp.org>
10627
10628         netdb: Make it work in C++ mode.
10629         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
10630         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
10631         module.
10632         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
10633         gl_MODULE_INDICATOR_FOR_TESTS.
10634         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
10635         * modules/netdb-c++-tests: New file.
10636         * tests/test-netdb-c++.cc: New file.
10637
10638 2011-04-30  Bruno Haible  <bruno@clisp.org>
10639
10640         New modules 'vfscanf', 'vscanf'.
10641         * modules/vfscanf: New file.
10642         * modules/vscanf: New file.
10643         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
10644         here.
10645         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
10646         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
10647
10648 2011-04-30  Bruno Haible  <bruno@clisp.org>
10649
10650         passfd: Add comments.
10651         * lib/passfd.c: Add comments about platforms.
10652
10653 2011-04-30  Bruno Haible  <bruno@clisp.org>
10654
10655         sys_uio: Make <sys/uio.h> self-contained.
10656         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
10657         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
10658
10659 2011-04-30  Bruno Haible  <bruno@clisp.org>
10660
10661         sys_socket: Ensure 'struct iovec' definition.
10662         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
10663         <sys/socket.h>.
10664         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
10665
10666 2011-04-30  Bruno Haible  <bruno@clisp.org>
10667
10668         sys_uio: Protect definition of 'struct iovec'.
10669         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
10670         it as a C struct.
10671
10672 2011-04-30  Bruno Haible  <bruno@clisp.org>
10673
10674         manywarnings: fix indentation
10675         * m4/manywarnings.m4: Indent by 2 spaces consistently.
10676
10677 2011-04-30  Pádraig Brady <P@draigBrady.com>
10678
10679         manywarnings: add -Wno-missing-field-initializers if needed.
10680         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
10681         option if it's needed to allow initialization with { 0, }
10682
10683 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
10684
10685         announce-gen: cosmetic improvement
10686         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
10687
10688 2011-04-29  Jim Meyering  <meyering@redhat.com>
10689
10690         vc-list-files: indent with spaces, not TABs
10691         * build-aux/vc-list-files: Convert leading TABs to spaces,
10692         to match the style of most other files in gnulib.
10693
10694         announce-gen: indent with spaces, not TABs
10695         * build-aux/announce-gen: Convert all TABs to spaces, to match
10696         the style of most other files in gnulib.
10697
10698 2011-04-29  Eric Blake  <eblake@redhat.com>
10699
10700         quotearg: avoid uninitialized variable use
10701         * lib/quotearg.c (quoting_options_from_style): Initialize
10702         remaining fields, and ensure that custom styles are only used via
10703         quoting_options rather than quoting_style.
10704
10705 2011-04-29  Jim Meyering  <meyering@redhat.com>
10706
10707         maint.mk: remove unused VC-tag variable
10708         * top/maint.mk (VC-tag): Remove unused variable.
10709
10710 2011-04-29  Bruno Haible  <bruno@clisp.org>
10711
10712         netdb: fix gai_strerror replacements
10713         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
10714         * modules/netdb: Substitute it.
10715
10716 2011-04-29  Jim Meyering  <meyering@redhat.com>
10717
10718         test-getcwd.c: avoid new set-but-not-used warning
10719         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
10720         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
10721         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
10722         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
10723
10724         test-hash.c: avoid a new shadowing warning
10725         * tests/test-hash.c (main): Don't shadow "dup".
10726
10727 2011-04-28  Eric Blake  <eblake@redhat.com>
10728
10729         getaddrinfo: fix gai_strerror signature
10730         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
10731         and work around mingw with UNICODE defined.
10732         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
10733         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
10734         * modules/netdb (Makefile.am): Substitute it.
10735         * lib/netdb.in.h (gai_strerror): Declare replacement.
10736         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
10737         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
10738         the fix.
10739
10740         getsockopt: avoid compiler warning
10741         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
10742         Reported by Matthias Bolte.
10743
10744         tests: drop unused link dependency
10745         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
10746         * modules/dirent-safer-tests (Makefile.am): Likewise.
10747         * modules/fdopendir-tests (Makefile.am): Likewise.
10748         * modules/mkfifoat-tests (Makefile.am): Likewise.
10749         * modules/openat-safer-tests (Makefile.am): Likewise.
10750         * modules/openat-tests (Makefile.am): Likewise.
10751         * modules/readlinkat-tests (Makefile.am): Likewise.
10752         * modules/symlinkat-tests (Makefile.am): Likewise.
10753         * modules/linkat-tests (Makefile.am): Likewise.
10754         (Depends-on): Switch to filenamecat-lgpl.
10755         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
10756         LIBINTL.
10757         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
10758         * tests/test-linkat.c (main): Don't require xalloc.
10759
10760         hash, mgetgroups: drop xalloc dependency
10761         * lib/hash.c (includes): Adjust includes.
10762         * lib/mgetgroups.c (includes): Likewise.
10763         (xgetgroups): Move...
10764         * lib/xgetgroups.c: ...to new file.
10765         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
10766         * modules/xgetgroups: New file, split from...
10767         * modules/mgetgroups: ...here.
10768         (Depends-on): Add xalloc-oversized.
10769         * modules/hash (Depends-on): Likewise.
10770         * modules/hash-tests (Depends-on): Drop xalloc.
10771         (test_hash_LDADD): Drop unused library.
10772         * tests/test-hash.c (main): Break xalloc dependency.
10773         (includes): Drop unused include.
10774
10775         xalloc-oversized: new module
10776         * modules/xalloc-oversized: New module.
10777         * modules/xalloc (Depends-on): Add it.
10778         * lib/xalloc.h (xalloc_oversized): Move...
10779         * lib/xalloc-oversized.h: ...into new file.
10780
10781         utimecmp: drop dependency on xmalloc
10782         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
10783         due to memory pressure.
10784         * modules/utimecmp (Depends-on): Drop xalloc.
10785
10786 2011-04-27  Eric Blake  <eblake@redhat.com>
10787
10788         getcwd: fix mingw bugs
10789         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
10790         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
10791         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
10792
10793 2011-04-27  Bruno Haible  <bruno@clisp.org>
10794
10795         mkstemps: Ensure declaration on MacOS X 10.5.
10796         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
10797         * doc/glibc-functions/mkstemps.texi: Document header file problem on
10798         MacOS X.
10799
10800 2011-04-27  Bruno Haible  <bruno@clisp.org>
10801
10802         mkstemp: More documentation.
10803         * doc/posix-functions/mkstemp.texi: Document header file problem on
10804         MacOS X.
10805
10806 2011-04-27  Bruno Haible  <bruno@clisp.org>
10807
10808         mkstemp: Tweak configure message when cross-compiling.
10809         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
10810         result as a guess.
10811
10812 2011-04-27  Bruno Haible  <bruno@clisp.org>
10813
10814         clean-temp: Clarify what it does.
10815         * lib/clean-temp.h: Add more comments.
10816         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
10817         module.
10818         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
10819         * doc/glibc-functions/mkstemps.texi: Likewise.
10820         * doc/glibc-functions/mkostemps.texi: Likewise.
10821
10822 2011-04-27  Eric Blake  <eblake@redhat.com>
10823
10824         fchdir: avoid extra chdir and fix test
10825         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
10826         getcwd-lgpl.
10827         * lib/fchdir.c (get_name): Any absolute name will do; it does not
10828         have to be canonical.
10829         (canonicalize_file_name): Drop unused macro.
10830         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
10831
10832         filenamecat-lgpl: fix licence
10833         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
10834         when it was first created.
10835
10836         linkat, renameat: add missing dependency
10837         * modules/linkat (Depends-on): Require getcwd-lgpl.
10838         * modules/renameat (Depends-on): Likewise.
10839
10840         tests: reduce dependencies
10841         * tests/test-linkat.c (main): Use lighter-weight getcwd.
10842         * tests/test-renameat.c (main): Likewise.
10843         * modules/linkat-tests (Depends-on): Relax dependency.
10844         * modules/renameat-tests (Depends-on): Likewise.
10845         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
10846         dependency explicit.
10847
10848         save-cwd: reduce default dependency
10849         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
10850         * lib/save-cwd.c: Update comments.
10851         * NEWS: Document the semantic change.
10852
10853         getcwd: enhance tests
10854         * tests/test-getcwd-lgpl.c: New file, taken from...
10855         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
10856         repeat long path stress tests from m4 probe.
10857         * modules/getcwd-lgpl-tests: New module.
10858         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
10859         * m4/getcwd-abort-bug.m4: Update comment.
10860         * m4/getcwd-path-max.m4: Likewise.
10861
10862         getcwd-lgpl: new module
10863         * modules/getcwd-lgpl: New module.
10864         * lib/getcwd-lgpl.c: New file.
10865         * doc/posix-functions/getcwd.texi (getcwd): Document it.
10866         * MODULES.html.sh (lacking POSIX:2008): Likewise.
10867         * modules/getcwd (configure.ac): Set C witness.
10868         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
10869
10870         getcwd: tweak comments
10871         * m4/getcwd-abort-bug.m4: Fix comments.
10872         * m4/getcwd-path-max.m4: Likewise.
10873         * m4/getcwd.m4: Likewise.
10874
10875 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
10876         and Eric Blake  <eblake@redhat.com>
10877
10878         mkstemp: replace if system version uses wrong permissions
10879         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
10880         read/write mode bits set in file created by mkstemp.
10881         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
10882
10883 2011-04-27  Eric Blake  <eblake@redhat.com>
10884
10885         passfd: avoid compiler warning
10886         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
10887         Reported by Laine Stump.
10888
10889 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
10890
10891         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
10892         required by the NetBSD (and perhaps other 4.4BSD derived) join.
10893
10894 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
10895         and Eric Blake  <eblake@redhat.com>
10896
10897         mkstemp: mention clean-temp module
10898         * lib/mkstemp.c: Add comment.
10899         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
10900
10901 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
10902
10903         inttypes: also provide default values for 32-bit tests
10904         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
10905         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
10906
10907 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
10908
10909         strtoumax: remove dependency on strtoimax
10910         This is like the strtoull change of yesterday.
10911         * modules/strtoumax (Files): Add lib/strtoimax.c.
10912         (Depends-on): Remove strtoimax and add verify.
10913
10914         inttypes-incomplete: new module
10915         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
10916         all but the PRI* and SCN* parts of gl_INTTYPES_H.
10917         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
10918         of gl_INTTYPES_H.
10919         (gl_INTTYPES_H): Rewrite in terms of these new macros.
10920         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
10921         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
10922         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
10923         * modules/strtoumax, modules/xstrtol (Depends-on):
10924         Depend on inttypes-incomplete, not inttypes.
10925         * modules/inttypes-incomplete: New module, containing the contents
10926         of the old modules/inttypes module, except that the Files: section
10927         omits m4/inttypes-pri.m4, and the configure.ac section invokes
10928         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
10929         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
10930         (Depends-on): Depend only on inttypes-incomplete.
10931         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
10932
10933         inttypes: omit now-redundant strtoimax and strtoumax work
10934         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
10935         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
10936
10937         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
10938         This supports apps that need pointers to strtoimax and strtoumax,
10939         and ports to HP-UX 11.00 64.bit, which has macros that expand to
10940         nonexistent functions.  See
10941         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
10942         et seq.
10943         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
10944         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
10945         a macro.
10946         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
10947
10948 2011-04-25  Simon Josefsson  <simon@josefsson.org>
10949
10950         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
10951
10952 2011-04-25  Bruno Haible  <bruno@clisp.org>
10953
10954         strtol, strtoul: Mark modules as obsolete.
10955         * modules/strtol (Status, Notice): New sections.
10956         * modules/strtoul (Status, Notice): New sections.
10957
10958 2011-04-25  Bruno Haible  <bruno@clisp.org>
10959
10960         strtod: Remove check for strtod, unless supporting old platforms.
10961         * modules/strtod-obsolete: New file.
10962         * m4/strtod-obsolete.m4: New file.
10963         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
10964         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
10965         * modules/strtod (Depends-on): Add strtod-obsolete.
10966         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
10967
10968 2011-04-25  Bruno Haible  <bruno@clisp.org>
10969
10970         strcase: Make module obsolete.
10971         * modules/strcase (Status, Notice): New sections.
10972
10973 2011-04-25  Bruno Haible  <bruno@clisp.org>
10974
10975         dup2: Remove check for dup2, unless supporting old obsolete platforms.
10976         * modules/dup2-obsolete: New file.
10977         * m4/dup2-obsolete.m4: New file.
10978         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
10979         gl_FUNC_DUP2_OBSOLETE is not also defined.
10980         * modules/dup2 (Depends-on): Add dup2-obsolete.
10981         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
10982
10983 2011-04-25  Bruno Haible  <bruno@clisp.org>
10984
10985         strnlen: Avoid memchr related link error on old obsolete platforms.
10986         * modules/memchr-obsolete: New file.
10987         * m4/memchr-obsolete.m4: New file.
10988         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
10989         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
10990         * modules/memchr (Depends-on): Add memchr-obsolete.
10991         * modules/strnlen (Depends-on): Likewise.
10992         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
10993
10994 2011-04-25  Jim Meyering  <meyering@redhat.com>
10995
10996         maint.mk: makefile_at_at_check extend and clean up
10997         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
10998         in addition to */Makefile.am.
10999         Exempt legitimate uses of @VAR@ notation, e.g.,
11000         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
11001         Remove obsolete coreutils-specific comment.
11002         Prompted by discussion here:
11003         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
11004
11005 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
11006
11007         strtoul: remove dependency on strtol
11008         This is so that 'configure' need not check for strtol merely because
11009         the application needs strtoul.
11010         * modules/strtoul (Files): Add lib/strtol.c.
11011         (Depends-on): Remove strtol.
11012
11013         strtoull: remove dependency on strtoul
11014         This is like the strtoll change.
11015         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
11016         (Depends-on): Remove strtoul.
11017
11018         strtoll: remove dependency on strtol
11019         This is so that 'configure' need not check for strtol merely because
11020         the application needs strtoll.
11021         * modules/strtoll (Files): Add lib/strtol.c.
11022         (Depends-on): Remove strtol.
11023
11024 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11025
11026         inttypes: Move some configure check to module 'imaxdiv'.
11027         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
11028         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
11029         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
11030
11031 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11032
11033         inttypes: Move some configure check to module 'imaxabs'.
11034         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
11035         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
11036         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
11037
11038 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11039
11040         inttypes: Remove configure tests that are not needed since 2009-12-31.
11041         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
11042         gl_cv_header_working_inttypes_h.
11043
11044 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11045
11046         * modules/strnlen (Depends-on): Remove memchr.
11047         The strnlen implementation doesn't need the memchr module's fixes; see
11048         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
11049
11050         strtol: remove dependency on wchar
11051         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
11052         * modules/strtol (Depends-on): Remove wchar.
11053
11054 2011-04-21  Eric Blake  <eblake@redhat.com>
11055
11056         passfd: fix test regression on Linux
11057         * modules/passfd-tests (configure.ac): Correct socketpair check.
11058
11059         passfd: speed up configure and drop unused code
11060         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
11061         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
11062         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
11063         Instead of probing at configure for unix_scm_rights_bsd44_way,
11064         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
11065         check to a struct member probe.
11066         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
11067         (sendfd, recvfd): Update preprocessor checks.
11068         * modules/passfd (Files): Reflect rename, and drop unused file.
11069         (Depends-on): Drop unused dependency.
11070
11071         passfd: allow compilation on mingw
11072         * modules/sys_socket (Depends-on): Add sys_uio.
11073         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
11074         iovec and a minimal struct msghdr.
11075         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
11076         * tests/test-sys_socket.c (main): Enhance test.
11077         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
11078         guaranteed to provide what we need.
11079         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
11080         * modules/passfd-tests (Depends-on): Add sys_wait.
11081         * tests/test-passfd.c (main): Skip test on mingw, for now.
11082         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
11083         partial 'struct msghdr' implementation.
11084
11085         sys_uio: new module
11086         * modules/sys_uio: New module.
11087         * modules/sys_uio-tests: Likewise.
11088         * lib/sys_uio.in.h: New file.
11089         * m4/sys_uio_h.m4: Likewise.
11090         * tests/test-sys_uio.c: Likewise.
11091         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
11092         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
11093
11094 2011-04-20  Jim Meyering  <meyering@redhat.com>
11095
11096         useless-if-before-free: avoid false-positive
11097         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
11098         disjunct so that it too requires a terminating ";".  Without that,
11099         this script would identify as useless one statement from gcc that
11100         was not:
11101           if (aligned_ptr)
11102             free (((void **) aligned_ptr) [-1]);
11103
11104 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
11105
11106         doc: update users.txt.
11107         * users.txt: Add barcode.
11108
11109 2011-04-19  Bruno Haible  <bruno@clisp.org>
11110
11111         ioctl: Remove link dependency on native Windows.
11112         * lib/fd-hook.h: Renamed from lib/close-hook.h.
11113         (gl_close_fn, gl_ioctl_fn): New types.
11114         (struct fd_hook): Renamed from struct close_hook. Change type of
11115         private_close_fn field. Add private_ioctl_fn field.
11116         (close_hook_fn): Add parameter for primary close method.
11117         (execute_close_hooks, execute_all_close_hooks): Likewise.
11118         (ioctl_hook_fn): New type.
11119         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
11120         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11121         argument.
11122         (unregister_fd_hook): Renamed from unregister_close_hook.
11123         * lib/fd-hook.c: Renamed from lib/close-hook.c.
11124         Don't include <unistd.h>.
11125         (close): Remove undef.
11126         (anchor): Update.
11127         (execute_close_hooks): Add argument for primary close method.
11128         (execute_all_close_hooks): Likewise.
11129         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
11130         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11131         argument. Allow each argument to be NULL.
11132         (unregister_fd_hook): Renamed from unregister_close_hook.
11133         * lib/close.c (rpl_close): Pass 'close' function pointer to
11134         execute_all_close_hooks.
11135         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
11136         (primary_ioctl): New function.
11137         (ioctl): Don't call ioctlsocket here. Instead, call
11138         execute_all_ioctl_hooks.
11139         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
11140         close method.
11141         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
11142         (fd_sockets_hook): Renamed from close_sockets_hook.
11143         (gl_sockets_startup, gl_sockets_cleanup): Update.
11144         * modules/fd-hook: Renamed from modules/close-hook. Update.
11145         * modules/close (Depends-on): Add fd-hook, remove close-hook.
11146         * modules/sockets (Depends-on): Likewise.
11147         * modules/ioctl (Depends-on): Add fd-hook.
11148         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
11149         GNULIB_SOCKET.
11150
11151 2011-04-19  Bruno Haible  <bruno@clisp.org>
11152
11153         Move the support of O_NONBLOCK in open() to the 'open' module.
11154         * modules/nonblocking (Depends-on): Remove 'open'.
11155         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
11156         gl_cv_have_open_O_NONBLOCK.
11157         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
11158         O_NONBLOCK support.
11159         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
11160
11161 2011-04-17  Bruno Haible  <bruno@clisp.org>
11162
11163         pipe2: Simplify code.
11164         * lib/pipe2.c (pipe2): Reduce code duplication.
11165
11166 2011-04-17  Bruno Haible  <bruno@clisp.org>
11167
11168         nonblocking: Add comment.
11169         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
11170
11171 2011-04-17  Bruno Haible  <bruno@clisp.org>
11172
11173         nonblocking: Add tests for sockets.
11174         * tests/test-nonblocking-socket.sh: New file.
11175         * tests/test-nonblocking-socket-main.c: New file.
11176         * tests/test-nonblocking-socket-child.c: New file.
11177         * tests/test-nonblocking-socket.h: New file.
11178         * tests/socket-server.h: New file.
11179         * tests/socket-client.h: New file.
11180         * modules/nonblocking-socket-tests: New file.
11181         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
11182
11183 2011-04-17  Bruno Haible  <bruno@clisp.org>
11184
11185         nonblocking: Add tests for pipes.
11186         * tests/test-nonblocking-pipe.sh: New file.
11187         * tests/test-nonblocking-pipe-main.c: New file.
11188         * tests/test-nonblocking-pipe-child.c: New file.
11189         * tests/test-nonblocking-pipe.h: New file.
11190         * tests/test-nonblocking-writer.h: New file.
11191         * tests/test-nonblocking-reader.h: New file.
11192         * tests/test-nonblocking-misc.h: New file.
11193         * modules/nonblocking-pipe-tests: New file.
11194         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
11195
11196 2011-04-16  Bruno Haible  <bruno@clisp.org>
11197
11198         gettext: Clarify the needed programmer actions.
11199         * modules/gettext (Notice): New field.
11200         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
11201
11202 2011-04-16  Bruno Haible  <bruno@clisp.org>
11203
11204         strchrnul: Tweak last commit.
11205         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
11206         bug.
11207         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
11208         as in _GL_FUNCDECL_SYS.
11209         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
11210         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
11211
11212 2011-04-15  Eric Blake  <eblake@redhat.com>
11213
11214         strchrnul: work around cygwin bug
11215         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
11216         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
11217         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
11218         * modules/string (Makefile.am): Substitute it.
11219         * lib/string.in.h (strchrnul): Use it.
11220
11221 2011-04-15  Bruno Haible  <bruno@clisp.org>
11222
11223         Don't require lib/stdio-write.c when only module 'stdio' is used.
11224         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
11225         invocation.
11226         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
11227
11228 2011-04-14  Bruno Haible  <bruno@clisp.org>
11229
11230         Support non-blocking pipe I/O in read() on native Windows.
11231         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
11232         (read): New declaration.
11233         * lib/read.c: New file.
11234         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
11235         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
11236         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
11237         vscanf): New declarations.
11238         * lib/stdio-read.c: New file.
11239         * m4/read.m4: New file.
11240         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
11241         REPLACE_READ.
11242         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
11243         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11244         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
11245         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
11246         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
11247         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11248         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11249         * modules/read: New file.
11250         * modules/nonblocking (Files): Add lib/stdio-read.c.
11251         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
11252         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
11253         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11254         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11255         * modules/pread (Depends-on): Add read.
11256         * modules/safe-read (Depends-on): Likewise.
11257         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
11258         gets, scanf, vfscanf, vscanf): Verify signatures.
11259         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
11260         problem with non-blocking pipes.
11261         * doc/posix-functions/fgetc.texi: Likewise.
11262         * doc/posix-functions/fgets.texi: Likewise.
11263         * doc/posix-functions/fread.texi: Likewise.
11264         * doc/posix-functions/fscanf.texi: Likewise.
11265         * doc/posix-functions/getc.texi: Likewise.
11266         * doc/posix-functions/getchar.texi: Likewise.
11267         * doc/posix-functions/gets.texi: Likewise.
11268         * doc/posix-functions/scanf.texi: Likewise.
11269         * doc/posix-functions/vfscanf.texi: Likewise.
11270         * doc/posix-functions/vscanf.texi: Likewise.
11271
11272 2011-04-14  Bruno Haible  <bruno@clisp.org>
11273
11274         Support non-blocking pipe I/O in write() on native Windows.
11275         * lib/write.c (rpl_write): Split a write request that failed merely
11276         because the byte count was larger than the pipe buffer's size.
11277         * doc/posix-functions/write.texi: Mention the problem with large byte
11278         counts.
11279
11280 2011-04-14  Bruno Haible  <bruno@clisp.org>
11281
11282         wchar: Ensure that wchar_t gets defined on uClibc.
11283         * lib/wchar.in.h: On uClibc, include <stddef.h>.
11284         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
11285
11286 2011-04-13  Bruno Haible  <bruno@clisp.org>
11287
11288         safe-write, full-read: Avoid unnecessary compilation units.
11289         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
11290         (Depends-on): Remove safe-read. Add ssize_t.
11291         * modules/full-read (Files): Add lib/full-write.c.
11292         (Depends-on): Add full-write.
11293
11294 2011-04-13  Bruno Haible  <bruno@clisp.org>
11295
11296         Support non-blocking pipe I/O and SIGPIPE in pwrite().
11297         * modules/pwrite (Depends-on): Add 'write'.
11298
11299 2011-04-13  Bruno Haible  <bruno@clisp.org>
11300
11301         Support non-blocking pipe I/O in write() on native Windows.
11302         * lib/unistd.in.h (write): Enable replacement also if
11303         GNULIB_UNISTD_H_NONBLOCKING is 1.
11304         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
11305         (rpl_write): When failing to write on a non-blocking pipe, change
11306         errno from ENOSPC to EAGAIN.
11307         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
11308         putchar, puts, vfprintf, vprintf): Enable replacement also if
11309         GNULIB_STDIO_H_NONBLOCKING is 1.
11310         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
11311         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
11312         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
11313         CALL_WITH_SIGPIPE_EMULATION.
11314         (CALL_WITH_SIGPIPE_EMULATION): Use them.
11315         * m4/nonblocking.m4: New file.
11316         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
11317         for non-blocking I/O support.
11318         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11319         GNULIB_UNISTD_H_NONBLOCKING.
11320         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
11321         required for non-blocking I/O support.
11322         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
11323         * modules/nonblocking (Files): Add m4/nonblocking.m4,
11324         lib/stdio-write.c, m4/asm-underscore.m4.
11325         (Depends-on): Add stdio, unistd.
11326         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
11327         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
11328         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
11329         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
11330         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
11331         problem with non-blocking pipes.
11332         * doc/posix-functions/fputc.texi: Likewise.
11333         * doc/posix-functions/fputs.texi: Likewise.
11334         * doc/posix-functions/fwrite.texi: Likewise.
11335         * doc/posix-functions/printf.texi: Likewise.
11336         * doc/posix-functions/putc.texi: Likewise.
11337         * doc/posix-functions/putchar.texi: Likewise.
11338         * doc/posix-functions/puts.texi: Likewise.
11339         * doc/posix-functions/vfprintf.texi: Likewise.
11340         * doc/posix-functions/vprintf.texi: Likewise.
11341         * doc/posix-functions/write.texi: Likewise.
11342
11343 2011-04-10  Jim Meyering  <meyering@redhat.com>
11344
11345         maint.mk: prohibit doubled words
11346         Detect them also when they're separated by a newline.
11347         There are 3 ways to customize it:
11348           - disable the test on a per file basis, as usual with rules using
11349             $(VC_LIST_EXCEPT)
11350           - replace the default doubled-word-selecting regexp (affects all files)
11351           - ignore a particular file-vs-doubled-word match
11352         I nearly used that last one to ignore the "is is" match in
11353         coreutils' NEWS file, since the text was "ls -is is ..."
11354         To do that, I would have added this line to cfg.mk:
11355           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
11356         but it would have ignored any "is is" match in NEWS.
11357         Low probability, but still...
11358         Instead, I changed the text, slightly:
11359           -  ls -is is now consistent with ls -lis in ignoring values returned
11360           +  "ls -is" is now consistent with ls -lis in ignoring values returned
11361         * top/maint.mk (prohibit_double_word_RE_): Provide default.
11362         (prohibit_doubled_word_): Define.
11363         (sc_prohibit_doubled_word): New rule.
11364         (sc_prohibit_the_the): Remove.  Subsumed by the above.
11365
11366 2011-04-10  Jim Meyering  <meyering@redhat.com>
11367
11368         maint: fix doubled-word typo in comment
11369         * m4/gethostname.m4: s/is is/it is/
11370         * m4/getdomainname.m4: Likewise.
11371
11372 2011-04-10  Jim Meyering  <meyering@redhat.com>
11373
11374         maint: remove doubled word: s/it it/it/
11375         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
11376
11377 2011-04-10  Jim Meyering  <meyering@redhat.com>
11378
11379         maint.mk: remove useless semicolon and backslash
11380         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
11381         semicolon and backslash.
11382
11383 2011-04-10  Bruno Haible  <bruno@clisp.org>
11384
11385         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
11386         * modules/stdint-tests (Depends-on): Add wchar.
11387
11388 2011-04-10  Jim Meyering  <meyering@redhat.com>
11389
11390         maint: remove doubled words in comments, e.g., s/a a/a/
11391         * lib/strptime.c (day_of_the_week): s/the the/the/
11392         * tests/test-chown.h (test_chown): s/a a/a/
11393
11394         test-chown.h: correct a cast
11395         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
11396         when the destination is a stat.st_gid.
11397
11398 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
11399
11400         getaddrinfo: Fix test for sa_len member.
11401         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
11402         include <sys/types.h> before <sys/socket.h>.
11403
11404 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11405
11406         maint: change "can not" to "cannot"
11407         * doc/posix-functions/iconv.texi (iconv): This one crossed line
11408         boundaries.
11409
11410 2011-04-09  Jim Meyering  <meyering@redhat.com>
11411
11412         maint: change "a a" to "a"
11413         * tests/test-lchown.h (test_lchown): s/a a/a/
11414
11415         maint.mk: prohibit \<the the\>
11416         * top/maint.mk (sc_prohibit_the_the): New rule.
11417
11418         maint: fix "the the" in comment
11419         * lib/count-one-bits.h: s/the the/the/
11420
11421         maint: change "can not" to "cannot"
11422         But do not change the occurrences in maintain.texi or in
11423         build-aux/po/Makefile.in.in, which I presume comes from gettext.
11424         * doc/gnulib-tool.texi: s/can not/cannot/
11425         * doc/posix-functions/accept.texi (accept): Likewise.
11426         * doc/posix-functions/socket.texi (socket): Likewise.
11427         * lib/mbrtowc.c: Likewise.
11428
11429         maint.mk: prohibit use of "can not"
11430         * top/maint.mk (sc_prohibit_can_not): New rule.
11431         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
11432
11433 2011-04-09  Bruno Haible  <bruno@clisp.org>
11434
11435         careadlinkat: Guard against misuse of careadlinkatcwd.
11436         * lib/careadlinkat.c: Include <stdlib.h>.
11437         (careadlinkatcwd): Check that the fd argument is as expected.
11438
11439 2011-04-09  Bruno Haible  <bruno@clisp.org>
11440
11441         careadlinkat: Use common coding style.
11442         * lib/careadlinkat.c: Move gnulib includes after system includes.
11443
11444 2011-04-09  Bruno Haible  <bruno@clisp.org>
11445
11446         careadlinkat: Clarify specification.
11447         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
11448         (careadlinkatcwd): Add comment.
11449         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
11450
11451 2011-04-09  Bruno Haible  <bruno@clisp.org>
11452
11453         areadlinkat: Avoid link error on many platforms.
11454         * modules/areadlinkat (Depends-on): Add areadlink.
11455
11456 2011-04-09  Bruno Haible  <bruno@clisp.org>
11457
11458         allocator, careadlinkat: Fix double-inclusion guard.
11459         * lib/allocator.h: Fix double-inclusion guard.
11460         * lib/careadlinkat.h: Likewise.
11461
11462 2011-04-09  Bruno Haible  <bruno@clisp.org>
11463
11464         relocatable-prog-wrapper: Update after module 'areadlink' changed.
11465         * lib/relocwrapper.c: Update dependencies hierarchy.
11466         * build-aux/install-reloc: Update list of files to be compiled.
11467         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
11468         lib/allocator.[hc].
11469
11470 2011-04-08  Eric Blake  <eblake@redhat.com>
11471
11472         strftime: silence gnulib-tool warning
11473         * modules/strftime-tests (Depends-on): Drop automatic dependency.
11474
11475 2011-04-08  Bruno Haible  <bruno@clisp.org>
11476
11477         verify: Fix syntax error with GCC 4.6 in C++ mode.
11478         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
11479         (HAVE_STATIC_ASSERT): New macro.
11480         (verify_true, verify): Use 'static_assert' if it is supported and
11481         '_Static_assert' is not supported.
11482
11483 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
11484
11485         allocator: New module.
11486         * modules/allocator, lib/allocator.c: New files.
11487         * lib/allocator.h (stdlib_allocator): New decl.
11488         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
11489         Remove.  Do not include <stdlib.h>.
11490         (careadlinkat): Use stdlib_allocator instead of rolling our own.
11491         * modules/careadlinkat (Files): Remove lib/allocator.h.
11492         (Depends-on): Add allocator.
11493
11494         stdlib: let modules use system malloc, realloc
11495         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
11496         if !_GL_USE_STDLIB_ALLOC.
11497         (malloc, realloc): Limit this change to a smaller scope.
11498
11499         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
11500         (malloc, realloc): Don't #undef; no longer needed.
11501         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11502         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11503         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11504         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11505         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11506         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11507         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11508         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11509
11510         careadlinkat: rename members to avoid problem
11511         * lib/allocator.h (struct allocator): Rename members from
11512         malloc/realloc to allocate/reallocate, to avoid problems if malloc
11513         and realloc are #define'd.  Reported by Eric Blake in
11514         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
11515         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
11516
11517 2011-04-08  Eric Blake  <eblake@redhat.com>
11518
11519         nonblocking: reduce dependency
11520         * tests/test-nonblocking.c: Only test sockets when in use.
11521         * modules/nonblocking-tests (Depends-on): Drop socket.
11522         (Makefile.am): Link even if sockets are not present.
11523         * modules/pipe2-tests (Makefile.am): Likewise.
11524         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
11525
11526         pipe2: fix O_NONBLOCK support on mingw
11527         * modules/pipe2 (Depends-on): Add nonblocking.
11528         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
11529         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
11530         * tests/test-nonblocking.c (main): Likewise.
11531         * modules/pipe2-tests (Makefile.am): Avoid link failure.
11532
11533         fcntl-h: fix O_ACCMODE on cygwin
11534         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
11535         * lib/fcntl.in.h (O_ACCMODE): Fix it.
11536
11537         pipe-filter: drop O_NONBLOCK workarounds
11538         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
11539         * modules/pipe-filter-ii (Depends-on): Likewise.
11540         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
11541
11542         nonblocking: provide O_NONBLOCK for mingw
11543         * modules/nonblocking (Depends-on): Add open.
11544         (configure.ac): Set new witness macro.
11545         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
11546         * modules/fcntl-h (Makefile.am): Substitute it.
11547         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
11548         nonblocking module is in use.
11549         * lib/nonblocking.c: Adjust portability test.
11550         * lib/open.c (open): Don't let native open see gnulib flag.
11551         * tests/test-fcntl-h.c (main): Enhance test.
11552         * tests/test-open.h (test_open): Likewise.
11553         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
11554
11555         careadlinkat: fix compilation error on mingw
11556         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
11557         within struct allocator.
11558
11559 2011-04-06  Eric Blake  <eblake@redhat.com>
11560
11561         binary-io: relicense under LGPLv2+
11562         * modules/binary-io (License): Relax to LGPLv2+.
11563         Requested for libvirt, and required by pipe2.
11564
11565 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
11566
11567         verify: use _Static_assert if available
11568         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
11569         (verify_true, verify): Use it if available.  This generates better
11570         diagnostics with GCC 4.6.0 and later.
11571
11572 2011-04-05  Bruno Haible  <bruno@clisp.org>
11573
11574         Remove leftover generated .h files after config.status changed.
11575
11576         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
11577         GL_GENERATE_ALLOCA_H.
11578         * modules/alloca-opt (Makefile.am): Remove alloca.h if
11579         GL_GENERATE_ALLOCA_H evaluates to false.
11580
11581         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
11582         GL_GENERATE_ARGZ_H.
11583         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
11584         evaluates to false.
11585
11586         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
11587         GL_GENERATE_BYTESWAP_H.
11588         * modules/byteswap (Makefile.am): Remove byteswap.h if
11589         GL_GENERATE_BYTESWAP_H evaluates to false.
11590
11591         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
11592         GL_GENERATE_ERRNO_H.
11593         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
11594         evaluates to false.
11595
11596         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
11597         GL_GENERATE_FLOAT_H.
11598         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
11599         evaluates to false.
11600
11601         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
11602         GL_GENERATE_FNMATCH_H.
11603         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
11604         GL_GENERATE_FNMATCH_H evaluates to false.
11605
11606         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
11607         GL_GENERATE_GLOB_H.
11608         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
11609         evaluates to false.
11610
11611         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
11612         automake conditional GL_GENERATE_ICONV_H.
11613         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
11614         evaluates to false.
11615
11616         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
11617         GL_GENERATE_NETINET_IN_H.
11618         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
11619         GL_GENERATE_NETINET_IN_H evaluates to false.
11620
11621         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
11622         conditional GL_GENERATE_PTHREAD_H.
11623         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
11624         * modules/pthread (Makefile.am): Remove pthread.h if
11625         GL_GENERATE_PTHREAD_H evaluates to false.
11626
11627         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
11628         GL_GENERATE_SCHED_H.
11629         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
11630         evaluates to false.
11631
11632         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
11633         conditional GL_GENERATE_SELINUX_CONTEXT_H.
11634         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
11635         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
11636
11637         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
11638         GL_GENERATE_STDARG_H.
11639         * modules/stdarg (Makefile.am): Remove stdarg.h if
11640         GL_GENERATE_STDARG_H evaluates to false.
11641
11642         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
11643         GL_GENERATE_STDBOOL_H.
11644         * modules/stdbool (Makefile.am): Remove stdbool.h if
11645         GL_GENERATE_STDBOOL_H evaluates to false.
11646
11647         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
11648         conditional GL_GENERATE_STDDEF_H.
11649         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
11650         * modules/stddef (Makefile.am): Remove stddef.h if
11651         GL_GENERATE_STDDEF_H evaluates to false.
11652
11653         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
11654         GL_GENERATE_STDINT_H.
11655         * modules/stdint (Makefile.am): Remove stdint.h if
11656         GL_GENERATE_STDINT_H evaluates to false.
11657
11658         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
11659         GL_GENERATE_SYSEXITS_H.
11660         * modules/sysexits (Makefile.am): Remove sysexits.h if
11661         GL_GENERATE_SYSEXITS_H evaluates to false.
11662
11663         Reported by Karl Berry and Ralf Wildenhues.
11664
11665 2011-04-05  Bruno Haible  <bruno@clisp.org>
11666
11667         Ensure to rebuild generated .h files when config.status has changed.
11668         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
11669         config.status.
11670         * modules/ctype (Makefile.am): Likewise.
11671         * modules/dirent (Makefile.am): Likewise.
11672         * modules/errno (Makefile.am): Likewise.
11673         * modules/fcntl-h (Makefile.am): Likewise.
11674         * modules/float (Makefile.am): Likewise.
11675         * modules/getopt-posix (Makefile.am): Likewise.
11676         * modules/glob (Makefile.am): Likewise.
11677         * modules/iconv-h (Makefile.am): Likewise.
11678         * modules/inttypes (Makefile.am): Likewise.
11679         * modules/langinfo (Makefile.am): Likewise.
11680         * modules/locale (Makefile.am): Likewise.
11681         * modules/math (Makefile.am): Likewise.
11682         * modules/netdb (Makefile.am): Likewise.
11683         * modules/netinet_in (Makefile.am): Likewise.
11684         * modules/poll-h (Makefile.am): Likewise.
11685         * modules/pthread (Makefile.am): Likewise.
11686         * modules/pty (Makefile.am): Likewise.
11687         * modules/sched (Makefile.am): Likewise.
11688         * modules/search (Makefile.am): Likewise.
11689         * modules/selinux-h (Makefile.am): Likewise.
11690         * modules/signal (Makefile.am): Likewise.
11691         * modules/spawn (Makefile.am): Likewise.
11692         * modules/stdarg (Makefile.am): Likewise.
11693         * modules/stdbool (Makefile.am): Likewise.
11694         * modules/stddef (Makefile.am): Likewise.
11695         * modules/stdint (Makefile.am): Likewise.
11696         * modules/stdio (Makefile.am): Likewise.
11697         * modules/stdlib (Makefile.am): Likewise.
11698         * modules/string (Makefile.am): Likewise.
11699         * modules/strings (Makefile.am): Likewise.
11700         * modules/sys_file (Makefile.am): Likewise.
11701         * modules/sys_ioctl (Makefile.am): Likewise.
11702         * modules/sys_select (Makefile.am): Likewise.
11703         * modules/sys_socket (Makefile.am): Likewise.
11704         * modules/sys_stat (Makefile.am): Likewise.
11705         * modules/sys_time (Makefile.am): Likewise.
11706         * modules/sys_times (Makefile.am): Likewise.
11707         * modules/sys_utsname (Makefile.am): Likewise.
11708         * modules/sys_wait (Makefile.am): Likewise.
11709         * modules/sysexits (Makefile.am): Likewise.
11710         * modules/termios (Makefile.am): Likewise.
11711         * modules/time (Makefile.am): Likewise.
11712         * modules/unistd (Makefile.am): Likewise.
11713         * modules/wchar (Makefile.am): Likewise.
11714         * modules/wctype-h (Makefile.am): Likewise.
11715         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
11716
11717 2011-04-05  Bruno Haible  <bruno@clisp.org>
11718
11719         pipe2: Relicense under LGPLv2+.
11720         * modules/pipe2 (License): Change to LGPLv2+.
11721         Requested by Eric Blake, for libvirt.
11722
11723 2011-04-05  Bruce Korb  <bkorb@gnu.org>
11724
11725         bootstrap: compute gnulib_extra_files after updating build_aux
11726         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
11727         change build_aux or also supply gnulib_extra_files.  Handle correctly.
11728
11729 2011-04-05  Eric Blake  <eblake@redhat.com>
11730
11731         bootstrap: preserve git whitelist item sorting
11732         * build-aux/bootstrap (sort_patterns): New function.
11733         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
11734
11735 2011-04-05  Simon Josefsson  <simon@josefsson.org>
11736
11737         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
11738         sc_space_tab check.
11739
11740 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
11741
11742         areadlink, areadlinkat: rewrite in terms of careadlinkat
11743         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
11744         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
11745         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
11746         (malloc, realloc): Remove #undefs.
11747         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
11748         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
11749         readlink, ssize_t, stdint, unistd.
11750         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
11751         areadlink, stdint.
11752
11753         careadlinkat: new module
11754         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
11755         * modules/careadlinkat: New files, written by me with
11756         a review and feedback from Ben Pfaff in
11757         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
11758
11759 2011-04-01  Bruno Haible  <bruno@clisp.org>
11760
11761         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
11762         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
11763         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
11764         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
11765         Reported by Bruce Korb <bruce.korb@gmail.com>.
11766
11767 2011-04-01  Bruno Haible  <bruno@clisp.org>
11768
11769         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
11770         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
11771         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
11772         * modules/wcpcpy (Depends-on): Add extensions.
11773         * modules/wcpncpy (Depends-on): Likewise.
11774         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
11775         systems.
11776         * doc/posix-functions/wcpncpy.texi: Likewise.
11777         * doc/posix-functions/wcwidth.texi: Likewise.
11778
11779 2011-03-31  Eric Blake  <eblake@redhat.com>
11780
11781         nonblocking: fix mingw test failures
11782         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
11783         non-blocking flag on regular file.
11784         (get_nonblocking_flag): Set errno on invalid fd.
11785         * tests/test-nonblocking.c (main): Avoid test failure on
11786         directories if fchdir is not active.
11787         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
11788
11789 2011-03-31  Bruno Haible  <bruno@clisp.org>
11790
11791         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
11792         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
11793         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
11794         Reported by Simon Josefsson <simon@josefsson.org>.
11795
11796 2011-03-31  Bruno Haible  <bruno@clisp.org>
11797         and Eric Blake  <eblake@redhat.com>
11798
11799         nonblocking: new module
11800         * modules/nonblocking: New module.
11801         * modules/nonblocking-tests: Likewise.
11802         * lib/nonblocking.h: New file.
11803         * lib/nonblocking.c: Likewise.
11804         * tests/test-nonblocking.c: New test.
11805         * lib/ioctl.c (ioctl) [mingw]: Update comment.
11806
11807 2011-03-30  Bruno Haible  <bruno@clisp.org>
11808
11809         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
11810         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
11811         instead of 'printf' format for GCC >= 4.4.
11812         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
11813         (fprintf, printf, vfprintf, vprintf): Declare with
11814         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
11815         the system's vfprintf() function.
11816         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
11817
11818 2011-03-30  Eric Blake  <eblake@redhat.com>
11819
11820         passfd: fix scoping bug
11821         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
11822         before sendmsg/recvmsg.
11823
11824         passfd: standardize coding conventions
11825         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
11826         can be learned at compile time.
11827         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
11828         ifdefs.
11829         (sendfd, recvfd): Follow gnulib code conventions.
11830
11831         passfd: fix incorrect sendmsg arguments
11832         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
11833         incorrect msg_controllen value.
11834         * modules/passfd-tests (Depends-on): Check for alarm.
11835         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
11836         Reported by Bastien ROUCARIES.
11837
11838 2011-03-30  Bruno Haible  <bruno@clisp.org>
11839
11840         c-strcasestr: Relicense under LGPLv2+.
11841         * modules/c-strcasestr (License): Change to LGPLv2+.
11842         Requested by Eric Blake, for libvirt.
11843
11844 2011-03-30  Simon Josefsson  <simon@josefsson.org>
11845
11846         * users.txt: Add libidn2.  Fix libtasn1 link.
11847
11848 2011-03-30  Jim Meyering  <meyering@redhat.com>
11849
11850         tests: readlink* ("",... fails with EINVAL on newer kernels
11851         readlink and readlinkat have typically failed with ENOENT for
11852         the invalid, empty file name,  "".  However, with the advent
11853         of linux-2.6.39, they fail with EINVAL.
11854         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
11855         when operating on the empty file name.
11856         * tests/test-readlink.h (test_readlink): Likewise.
11857
11858 2011-03-29  Bruno Haible  <bruno@clisp.org>
11859
11860         Relicense some modules under LGPLv2+, for libidn2.
11861         * modules/array-mergesort (License): Change to LGPLv2+.
11862         * modules/c-strcaseeq (License): Likewise.
11863         * modules/striconveh (License): Likewise.
11864         * modules/striconveha (License): Likewise.
11865         * modules/uniconv/base (License): Likewise.
11866         * modules/uniconv/u8-conv-from-enc (License): Likewise.
11867         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
11868         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
11869         * modules/unictype/base (License): Likewise.
11870         * modules/unictype/bidiclass-of (License): Likewise.
11871         * modules/unictype/category-M (License): Likewise.
11872         * modules/unictype/category-none (License): Likewise.
11873         * modules/unictype/category-of (License): Likewise.
11874         * modules/unictype/category-test (License): Likewise.
11875         * modules/unictype/category-test-withtable (License): Likewise.
11876         * modules/unictype/combining-class (License): Likewise.
11877         * modules/unictype/joiningtype-of (License): Likewise.
11878         * modules/unictype/scripts (License): Likewise.
11879         * modules/uninorm/base (License): Likewise.
11880         * modules/uninorm/canonical-decomposition (License): Likewise.
11881         * modules/uninorm/composition (License): Likewise.
11882         * modules/uninorm/decompose-internal (License): Likewise.
11883         * modules/uninorm/decomposition-table (License): Likewise.
11884         * modules/uninorm/nfc (License): Likewise.
11885         * modules/uninorm/nfd (License): Likewise.
11886         * modules/uninorm/u32-normalize (License): Likewise.
11887         * modules/unistr/base (License): Likewise.
11888         * modules/unistr/u32-cpy (License): Likewise.
11889         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
11890         * modules/unistr/u32-to-u8 (License): Likewise.
11891         * modules/unistr/u32-uctomb (License): Likewise.
11892         * modules/unistr/u8-check (License): Likewise.
11893         * modules/unistr/u8-mblen (License): Likewise.
11894         * modules/unistr/u8-mbtouc (License): Likewise.
11895         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
11896         * modules/unistr/u8-mbtoucr (License): Likewise.
11897         * modules/unistr/u8-prev (License): Likewise.
11898         * modules/unistr/u8-strlen (License): Likewise.
11899         * modules/unistr/u8-to-u32 (License): Likewise.
11900         * modules/unistr/u8-uctomb (License): Likewise.
11901         * modules/unitypes (License): Likewise.
11902         Requested by Simon Josefsson.
11903
11904 2011-03-29  Simon Josefsson  <simon@josefsson.org>
11905
11906         lib-symbol-visibility: Add a notice.
11907         * modules/lib-symbol-visibility (Notice): New field.
11908
11909 2011-03-29  Bruno Haible  <bruno@clisp.org>
11910
11911         getaddrinfo: Doc fix.
11912         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
11913         section "fixed in Gnulib".
11914
11915 2011-03-28  Simon Josefsson  <simon@josefsson.org>
11916
11917         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
11918         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
11919
11920 2011-03-26  Bruno Haible  <bruno@clisp.org>
11921
11922         unictype/property-byname: Reduce the number of load-time relocations.
11923         * lib/unictype/pr_byname.c: Include <stdlib.h>.
11924         (UC_PROPERTY_INDEX_*): New enumeration values.
11925         (uc_property_byname): Convert an index from the lookup table to an
11926         uc_property_t.
11927         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
11928         values.
11929
11930 2011-03-26  Bruno Haible  <bruno@clisp.org>
11931
11932         unictype/property-byname: Allow omitted word separators and aliases.
11933         * lib/unictype/pr_byname.gperf: Add property names without word
11934         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
11935         for 'space'.
11936
11937 2011-03-26  Bruno Haible  <bruno@clisp.org>
11938
11939         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
11940         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
11941         also hyphens to space.
11942         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
11943         without spaces.
11944         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
11945
11946 2011-03-26  Bruno Haible  <bruno@clisp.org>
11947
11948         unictype/joiningtype-byname: Recognize long names as well.
11949         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
11950         a long name.
11951         * lib/unictype/joiningtype_byname.c: Include <string.h>,
11952         unictype/joiningtype_byname.h.
11953         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
11954         * lib/unictype/joiningtype_byname.gperf: New file.
11955         * modules/unictype/joiningtype-byname (Files): Add
11956         lib/unictype/joiningtype_byname.gperf.
11957         (Depends-on): Add gperf.
11958         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
11959         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
11960         long names.
11961
11962         Tests for module 'unictype/joiningtype-longname'.
11963         * modules/unictype/joiningtype-longname-tests: New file.
11964         * tests/unictype/test-joiningtype_longname.c: New file.
11965
11966         New module 'unictype/joiningtype-longname'.
11967         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
11968         * lib/unictype/joiningtype_longname.c: New file.
11969         * modules/unictype/joiningtype-longname: New file.
11970         * modules/unictype/joiningtype-all (Depends-on): Add
11971         unictype/joiningtype-longname.
11972
11973 2011-03-26  Bruno Haible  <bruno@clisp.org>
11974
11975         unictype/bidiclass-byname: Recognize long names as well.
11976         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
11977         name.
11978         * lib/unictype/bidi_byname.c: Include <string.h>,
11979         unictype/bidi_byname.h.
11980         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
11981         * lib/unictype/bidi_byname.gperf: New file.
11982         * modules/unictype/bidiclass-byname (Files): Add
11983         lib/unictype/bidi_byname.gperf.
11984         (Depends-on): Add gperf.
11985         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
11986         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
11987         long names.
11988
11989         Tests for module 'unictype/bidiclass-longname'.
11990         * modules/unictype/bidiclass-longname-tests: New file.
11991         * tests/unictype/test-bidi_longname.c: New file.
11992
11993         New module 'unictype/bidiclass-longname'.
11994         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
11995         * lib/unictype/bidi_longname.c: New file.
11996         * modules/unictype/bidiclass-longname: New file.
11997         * modules/unictype/bidiclass-all (Depends-on): Add
11998         unictype/bidiclass-longname.
11999
12000 2011-03-26  Bruno Haible  <bruno@clisp.org>
12001
12002         unictype/bidi*: Rename modules.
12003         * modules/unictype/bidiclass-all: Renamed from
12004         modules/unictype/bidicategory-all.
12005         * modules/unictype/bidiclass-name: Renamed from
12006         modules/unictype/bidiclass-name.
12007         (Description): Update.
12008         * modules/unictype/bidiclass-name-tests: Renamed from
12009         modules/unictype/bidicategory-name-tests.
12010         * modules/unictype/bidiclass-byname: Renamed from
12011         modules/unictype/bidicategory-byname.
12012         (Description): Update.
12013         * modules/unictype/bidiclass-byname-tests: Renamed from
12014         modules/unictype/bidicategory-byname-tests.
12015         * modules/unictype/bidiclass-of: Renamed from
12016         modules/unictype/bidicategory-of.
12017         (Description): Update.
12018         * modules/unictype/bidiclass-of-tests: Renamed from
12019         modules/unictype/bidicategory-of-tests.
12020         * modules/unictype/bidiclass-test: Renamed from
12021         modules/unictype/bidicategory-test.
12022         (Description): Update.
12023         * modules/unictype/bidiclass-test-tests: Renamed from
12024         modules/unictype/bidicategory-test-tests.
12025         * modules/unictype/bidicategory-all: New file, a simple redirection.
12026         * modules/unictype/bidicategory-name: Likewise.
12027         * modules/unictype/bidicategory-byname: Likewise.
12028         * modules/unictype/bidicategory-of: Likewise.
12029         * modules/unictype/bidicategory-test: Likewise.
12030         * modules/unictype/property-bidi-* (Dependencies): Update.
12031         * lib/unictype/bidi_*.c: Update comment.
12032
12033 2011-03-26  Bruno Haible  <bruno@clisp.org>
12034
12035         unictype/bidi*: Rename functions, part 2.
12036         * modules/unictype/bidicategory-name (configure.ac): Update required
12037         libunistring version.
12038         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
12039
12040 2011-03-25  Bruno Haible  <bruno@clisp.org>
12041
12042         New module 'unictype/combining-class-all'.
12043         * modules/unictype/combining-class-all: New file.
12044
12045         Tests for module 'unictype/combining-class-byname'.
12046         * modules/unictype/combining-class-byname-tests: New file.
12047         * tests/unictype/test-combiningclass_byname.c: New file.
12048
12049         New module 'unictype/combining-class-byname'.
12050         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
12051         * lib/unictype/combiningclass_byname.c: New file.
12052         * lib/unictype/combiningclass_byname.gperf: New file.
12053         * modules/unictype/combining-class-byname: New file.
12054
12055         Tests for module 'unictype/combining-class-longname'.
12056         * modules/unictype/combining-class-longname-tests: New file.
12057         * tests/unictype/test-combiningclass_longname.c: New file.
12058
12059         New module 'unictype/combining-class-longname'.
12060         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
12061         * lib/unictype/combiningclass_longname.c: New file.
12062         * modules/unictype/combining-class-longname: New file.
12063
12064         Tests for module 'unictype/combining-class-name'.
12065         * modules/unictype/combining-class-name-tests: New file.
12066         * tests/unictype/test-combiningclass_name.c: New file.
12067
12068         New module 'unictype/combining-class-name'.
12069         * lib/unictype.in.h (uc_combining_class_name): New declaration.
12070         * lib/unictype/combiningclass_name.c: New file.
12071         * modules/unictype/combining-class-name: New file.
12072
12073 2011-03-25  Bruno Haible  <bruno@clisp.org>
12074
12075         unictype/combining-class: Rename source files.
12076         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
12077         of unictype/combining.h.
12078         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
12079         Update.
12080         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
12081         * modules/unictype/combining-class (Description): Fix.
12082         (Files, Makefile.am): Update.
12083         * tests/unictype/test-combiningclass.c: Renamed from
12084         tests/unictype/test-combining.c.
12085         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
12086
12087 2011-03-25  Bruno Haible  <bruno@clisp.org>
12088
12089         unictype: Update list of canonical combining classes.
12090         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
12091
12092 2011-03-25  Bruno Haible  <bruno@clisp.org>
12093
12094         unictype/category-byname: Recognize long names as well.
12095         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
12096         a long name.
12097         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
12098         unictype/categ_byname.h.
12099         (UC_CATEGORY_INDEX_*): New enumeration values.
12100         (uc_general_category_byname): Use uc_general_category_lookup and
12101         convert from index to value.
12102         * lib/unictype/categ_byname.gperf: New file.
12103         * modules/unictype/category-byname (Files): Add
12104         lib/unictype/categ_byname.gperf.
12105         (Depends-on): Add gperf.
12106         (Makefile.am): Add rule for generating unictype/categ_byname.h.
12107         * tests/unictype/test-categ_byname.c (main): Test the recognition of
12108         long names.
12109
12110         Tests for module 'unictype/category-longname'.
12111         * modules/unictype/category-longname-tests: New file.
12112         * tests/unictype/test-categ_longname.c: New file.
12113
12114         New module 'unictype/category-longname'.
12115         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
12116         * lib/unictype/categ_longname.c: New file.
12117         * modules/unictype/category-longname: New file.
12118         * modules/unictype/category-all (Depends-on): Add it.
12119
12120 2011-03-25  Bruno Haible  <bruno@clisp.org>
12121
12122         Tests for module 'unictype/category-LC'.
12123         * modules/unictype/category-LC-tests: New file.
12124         * tests/unictype/test-categ_LC.c: New file, automatically generated.
12125
12126         New module 'unictype/category-LC'.
12127         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
12128         (UC_CATEGORY_LC): New declaration.
12129         (UC_CASED_LETTER): New macro.
12130         * lib/gen-uni-tables.c (is_category_LC): New function.
12131         (output_categories): Also handle category LC.
12132         (UC_CATEGORY_MASK_LC): New enumeration value.
12133         (general_category_byname): Also handle category LC.
12134         * lib/unictype/categ_LC.c: New file.
12135         * lib/unictype/categ_LC.h: New file, automatically generated.
12136         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
12137         category LC.
12138         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
12139         * modules/unictype/category-LC: New file.
12140         * modules/unictype/category-byname (Depends-on): Add
12141         unictype/category-LC.
12142         * modules/unictype/category-all (Depends-on): Likewise.
12143
12144 2011-03-25  Eric Blake  <eblake@redhat.com>
12145
12146         xmalloc: revert yesterday's regression
12147         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
12148         realloc's underlying behavior (allowing allocation of zero-size
12149         objects, especially if malloc-gnu is also in use).
12150
12151 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
12152
12153         maint.mk: add missing version to VC-tag
12154         * top/maint.mk: git tag was missing actual tag name; add it.
12155
12156         valgrind: do leak checking, and exit with code 1 on error (not 0)
12157         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
12158         to VALGRIND.
12159
12160 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
12161
12162         posix-modules: say what it does.
12163         * posix-modules: Add a line to the --help output saying what it does.
12164
12165 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
12166
12167         xmalloc: Do not leak if underlying realloc is C99 compatible.
12168         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
12169         This avoids a leak on C99-based systems.  See
12170         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
12171
12172 2011-03-24  Eric Blake  <eblake@redhat.com>
12173
12174         realloc: document portability problem
12175         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
12176         passing 0 size to realloc.
12177
12178 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
12179
12180         doc: update users.txt
12181         * users.txt: Add cvsps, tmpwatch
12182
12183 2011-03-23  Matt Rice  <ratmice@gmail.com>
12184
12185         doc: update users.txt
12186         * users.txt: Add gdb.
12187
12188 2011-03-23  Jim Meyering  <meyering@redhat.com>
12189
12190         doc: update users.txt
12191         Looking through matches up to the following URL (there are still
12192         several more pages), I found several projects that use gnulib:
12193         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
12194         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
12195         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
12196
12197 2011-03-22  Bruno Haible  <bruno@clisp.org>
12198
12199         unictype/bidi*: Rename functions.
12200         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
12201         uc_bidi_class, uc_is_bidi_class): New declarations.
12202         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
12203         uc_bidi_category_byname.
12204         (uc_bidi_category_byname): New function.
12205         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
12206         u_bidi_category_name.
12207         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
12208         (uc_bidi_category_name): New function.
12209         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
12210         uc_bidi_category.
12211         (uc_bidi_category): New function.
12212         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
12213         uc_is_bidi_category. Invoke uc_bidi_class.
12214         (uc_is_bidi_category): New function.
12215         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
12216         instead of uc_bidi_category_byname.
12217         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
12218         instead of uc_bidi_category_name.
12219         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
12220         uc_bidi_category.
12221         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
12222         instead of uc_is_bidi_category.
12223
12224 2011-03-21  Bruno Haible  <bruno@clisp.org>
12225
12226         New module 'unictype/joininggroup-all'.
12227         * modules/unictype/joininggroup-all: New file.
12228
12229         Tests for module 'unictype/joininggroup-of'.
12230         * modules/unictype/joininggroup-of-tests: New file.
12231         * tests/unictype/test-joininggroup_of.c: New file.
12232         * tests/unictype/test-joininggroup_of.h: New file, automatically
12233         generated by gen-uni-tables.
12234
12235         New module 'unictype/joininggroup-of'.
12236         * modules/unictype/joininggroup-of: New file.
12237         * lib/unictype/joininggroup_of.c: New file.
12238         * lib/unictype/joininggroup_of.h: New file, automatically generated by
12239         gen-uni-tables.
12240
12241         Tests for module 'unictype/joininggroup-byname'.
12242         * modules/unictype/joininggroup-byname-tests: New file.
12243         * tests/unictype/test-joininggroup_byname.c: New file.
12244
12245         New module 'unictype/joininggroup-byname'.
12246         * modules/unictype/joininggroup-byname: New file.
12247         * lib/unictype/joininggroup_byname.c: New file.
12248         * lib/unictype/joininggroup_byname.gperf: New file.
12249
12250         Tests for module 'unictype/joininggroup-name'.
12251         * modules/unictype/joininggroup-name-tests: New file.
12252         * tests/unictype/test-joininggroup_name.c: New file.
12253
12254         New module 'unictype/joininggroup-name'.
12255         * modules/unictype/joininggroup-name: New file.
12256         * lib/unictype/joininggroup_name.c: New file.
12257         * lib/unictype/joininggroup_name.h: New file.
12258
12259         New module 'unictype/joiningtype-all'.
12260         * modules/unictype/joiningtype-all: New file.
12261
12262         Tests for module 'unictype/joiningtype-of'.
12263         * modules/unictype/joiningtype-of-tests: New file.
12264         * tests/unictype/test-joiningtype_of.c: New file.
12265         * tests/unictype/test-joiningtype_of.h: New file, automatically
12266         generated by gen-uni-tables.
12267
12268         New module 'unictype/joiningtype-of'.
12269         * modules/unictype/joiningtype-of: New file.
12270         * lib/unictype/joiningtype_of.c: New file.
12271         * lib/unictype/joiningtype_of.h: New file, automatically generated by
12272         gen-uni-tables.
12273
12274         Tests for module 'unictype/joiningtype-byname'.
12275         * modules/unictype/joiningtype-byname-tests: New file.
12276         * tests/unictype/test-joiningtype_byname.c: New file.
12277
12278         New module 'unictype/joiningtype-byname'.
12279         * modules/unictype/joiningtype-byname: New file.
12280         * lib/unictype/joiningtype_byname.c: New file.
12281
12282         Tests for module 'unictype/joiningtype-name'.
12283         * modules/unictype/joiningtype-name-tests: New file.
12284         * tests/unictype/test-joiningtype_name.c: New file.
12285
12286         New module 'unictype/joiningtype-name'.
12287         * modules/unictype/joiningtype-name: New file.
12288         * lib/unictype/joiningtype_name.c: New file.
12289
12290         unictype: Add support for Arabic shaping properties.
12291         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
12292         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
12293         declarations.
12294         (UC_JOINING_GROUP_*): New enumeration values.
12295         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
12296         declarations.
12297         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
12298         (unicode_joining_type): New variable.
12299         (UC_JOINING_GROUP_*): New enumeration values.
12300         (unicode_joining_group): New variable.
12301         (fill_arabicshaping, joining_type_as_c_identifier,
12302         output_joining_type_test, output_joining_type,
12303         joining_group_as_c_identifier, output_joining_group_test,
12304         output_joining_group): New functions.
12305         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
12306         fill_arabicshaping and output_joining_type_test, output_joining_type,
12307         output_joining_group_test, output_joining_group.
12308         Reported by Simon Josefsson.
12309
12310 2011-03-21  Jim Meyering  <meyering@redhat.com>
12311
12312         strftime: fix a bug in yesterday's change
12313         * lib/strftime.c (add): Accommodate width's initial value of -1.
12314         Otherwise, nstrftime would copy uninitialized data into
12315         the result buffer.
12316
12317 2011-03-21  Jim Meyering  <meyering@redhat.com>
12318
12319         tests: add strftime-tests module
12320         * tests/test-strftime.c: New file.
12321         * modules/strftime-tests: New module.
12322
12323 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12324
12325         strftime: don't assume a byte count fits in 'int'
12326         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
12327         found this problem by static analysis, using gcc -Wstrict-overflow
12328         (GCC 4.5.2, x86-64).  This reported an optimization that depended
12329         on an integer overflow having undefined behavior, but it turns out
12330         that the argument is a size, which might not fit in 'int' anyway,
12331
12332 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12333
12334         stdio: don't require ignore_value around fwrite
12335
12336         This patch works around libc bug 11959
12337         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
12338         Without this patch, applications must often write
12339         ignore_value (fwrite (...)) even though the ignore_value is
12340         not helpful here.  It's common to write many objects, using
12341         fwrite/printf/etc., and then use ferror to detect output error.
12342
12343         I considered making this patch optional, but decided against it,
12344         because libc is obviously being inconsistent here: there is no
12345         reason libc should insist that user code must inspect fwrite
12346         return's value without also insisting that it inspect printf's,
12347         putchar's, etc.  If user code wants to have a strict style where
12348         all these functions' values are checked (so that ferror need not
12349         be checked), we could add support for that style in a new gnulib
12350         module, but in the meantime it's better to be consistent and to
12351         support common usage.
12352
12353         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
12354         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
12355         that we are compiling in checking mode, and if not C++, and
12356         if not already wrapping fwrite for some other reason.
12357         (fwrite): #define to rpl_fwrite if the latter is defined.
12358
12359 2011-03-20  Bruno Haible  <bruno@clisp.org>
12360
12361         verror: Fix compilation error introduced on 2011-02-13.
12362         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
12363         instead of __attribute__.
12364         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12365
12366 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12367             Bruno Haible  <bruno@clisp.org>
12368
12369         socklen: do not depend on sys_socket
12370         While trying to modify Emacs to use gnulib's socklen module,
12371         I discovered a circular dependency: socklen depends on sys_socket
12372         and vice versa.  Emacs can use socklen, but it does not need
12373         sys_socket because it has its own substitute for sys/socket.h.
12374         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
12375         gl_TYPE_SOCKLEN_T.
12376         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
12377         gl_PREREQ_SYS_H_SOCKET.
12378         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
12379         gl_PREREQ_SYS_H_SOCKET.
12380         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
12381         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
12382         * modules/socklen (Depends-on): Do not depend on sys_socket.
12383         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
12384
12385 2011-03-20  Jim Meyering  <meyering@redhat.com>
12386
12387         maint.mk: sort file names *after* new transformation
12388         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
12389         prefix would have led to an unwarranted failure in GNU parted.
12390         Sort after that transformation.
12391
12392 2011-03-19  Jim Meyering  <meyering@redhat.com>
12393
12394         maint.mk: fix po-file syntax-check rule
12395         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
12396         Patch by Bruno Haible.
12397
12398 2011-03-19  Bruno Haible  <bruno@clisp.org>
12399
12400         socklen: Update comment.
12401         * m4/socklen.m4: Update comment about platforms.
12402
12403 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12404             Bruno Haible  <bruno@clisp.org>
12405
12406         inet_ntop, inet_pton: Simplify.
12407         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
12408         documented to provide socklen_t and we already depend on sys_socket.
12409         * modules/inet_pton (Depends-on): Likewise.
12410         * lib/arpa_inet.in.h: Adjust comment.
12411
12412 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12413             Bruno Haible  <bruno@clisp.org>
12414
12415         netdb: Simplify.
12416         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
12417         documented to provide socklen_t and we already depend on sys_socket.
12418         * lib/netdb.in.h: Adjust comment.
12419
12420 2011-03-19  Bruno Haible  <bruno@clisp.org>
12421
12422         sys_socket, netdb: Document problem with socklen_t.
12423         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
12424         platforms.
12425         * doc/posix-headers/netdb.texi: Likewise.
12426
12427 2011-03-18  Eric Blake  <eblake@redhat.com>
12428
12429         maint.mk: let po check work in VPATH build
12430         * top/maint.mk (po_file): Allow cfg.mk override.
12431         (sc_po_check): Allow VPATH use.
12432         Reported by Jiri Denemark.
12433
12434 2011-03-16  Jim Meyering  <meyering@redhat.com>
12435
12436         maint.mk: allow fine-grained syntax-check exclusion via Make variables
12437         Before, you would have had to create one .x-sc_ file per rule in order
12438         to exempt offending files.  Now, you may instead use a Make variable --
12439         usually defined in cfg.mk -- whose name identifies the affected rule.
12440         * top/maint.mk (_sc_excl): Define.
12441         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
12442         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
12443
12444 2011-03-13  Bruno Haible  <bruno@clisp.org>
12445
12446         ignore-value tests: Avoid warnings.
12447         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
12448         empty for gcc < 3.4.
12449
12450 2011-03-13  Bruno Haible  <bruno@clisp.org>
12451
12452         passfd: Fix link error on Solaris.
12453         * modules/passfd (Description): Correct.
12454         (Depends-on): Add socketlib.
12455         (Link): New section.
12456         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
12457
12458 2011-03-13  Bruno Haible  <bruno@clisp.org>
12459
12460         passfd: Fix link error on AIX 5.2.
12461         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
12462
12463 2011-03-13  Bruno Haible  <bruno@clisp.org>
12464
12465         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
12466         * lib/sys_socket.in.h: Include <stddef.h>.
12467         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
12468         CMSG_FIRSTHDR. Remove unused variable.
12469
12470 2011-03-13  Bruno Haible  <bruno@clisp.org>
12471
12472         passfd: Fix compilation error on OpenBSD.
12473         * lib/passfd.c: Include <sys/uio.h>.
12474
12475 2011-03-13  Bruno Haible  <bruno@clisp.org>
12476
12477         passfd test: Fix warnings.
12478         * tests/test-passfd.c: Include <sys/wait.h>.
12479         (main): Fix typo.
12480
12481 2011-03-13  Bruno Haible  <bruno@clisp.org>
12482
12483         passfd module, part 4, tweaks.
12484         * tests/test-passfd.c: Reorder includes.
12485         (main): Fix perror and printf calls.
12486
12487 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12488
12489         passfd module, part 4.
12490         * modules/passfd-tests: New file.
12491         * tests/test-passfd.c: New file.
12492
12493 2011-03-13  Jim Meyering  <meyering@redhat.com>
12494
12495         Makefile: rely on GNU make; derive syntax-check rule names
12496         Rather than requiring that each sc_ rule be listed as a dependent
12497         of "check", use features of GNU make to derive the list.
12498         * Makefile (syntax-check-rules): Define.
12499         (check): Depend on the new variable, not the hard-coded list.
12500
12501 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
12502             Bruno Haible  <bruno@clisp.org>
12503
12504         passfd module, part 3.
12505         * lib/passfd.h (recvfd): Add a flags argument.
12506         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
12507         (recvfd): Add a flags argument.
12508         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
12509         exists.
12510         * modules/passfd (Depends-on): Add cloexec.
12511         Suggested by Eric Blake.
12512
12513 2011-03-13  Bruno Haible  <bruno@clisp.org>
12514
12515         passfd module, part 2, tweaks.
12516         * modules/passfd (Files): Reorder.
12517         (Depends-on): Remove errno.
12518         (Include): Remove <sys/socket.h>, <sys/un.h>.
12519         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
12520         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
12521         specification header. Include <sys/socket.h> always. Don't include
12522         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
12523         (sendfd): Clarify that it sets errno when it fails.
12524         (recvfd): Fix specification.
12525
12526 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12527
12528         passfd module, part 2.
12529         * modules/passfd: New file.
12530         * lib/passfd.h: New file.
12531         * lib/passfd.c: New file.
12532
12533 2011-03-12  Bruno Haible  <bruno@clisp.org>
12534
12535         wcswidth, mbswidth: Avoid integer overflow.
12536         * lib/wcswidth.c: Include <limits.h>.
12537         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
12538         * lib/mbswidth.c: Include <limits.h>.
12539         (mbsnwidth): Avoid 'int' overflow.
12540         Reported by Jim Meyering.
12541
12542 2011-03-12  Bruno Haible  <bruno@clisp.org>
12543
12544         futimens, utimensat: Avoid endless recursion on Solaris 10.
12545         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
12546         Solaris.
12547         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
12548         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
12549
12550 2011-03-11  Jim Meyering  <meyering@redhat.com>
12551
12552         maint.mk: relax a regexp to accommodate other formatting styles
12553         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
12554         between "ngettext" and the following "(".
12555
12556 2011-03-11  Pádraig Brady <P@draigBrady.com>
12557
12558         maint.mk: suppress a false positive warning
12559         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
12560         diagnostics are marked with ngettext.
12561
12562 2011-03-10  Eric Blake  <eblake@redhat.com>
12563
12564         wchar: add explicit dependencies, for Tru64
12565         * modules/mbmemcasecoll (Depends-on): Add wchar.
12566         * modules/mbtowc (Depends-on): Likewise.
12567         * modules/vasnprintf (Depends-on): Likewise.
12568         * modules/unistdio/u-printf-args (Depends-on): Likewise.
12569         * modules/wctomb (Depends-on): Likewise.
12570         Reported by Peter O'Gorman.
12571
12572 2011-03-08  Bruno Haible  <bruno@clisp.org>
12573
12574         passfd module, part 1, tweaks.
12575         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
12576         Improve indentation. Improve AC_MSG_CHECKING messages.
12577         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
12578         gl_SOCKET_FAMILIES.
12579
12580 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12581
12582         passfd module, part 1.
12583         * m4/afunix.m4: New file.
12584         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
12585         sockets.
12586
12587 2011-03-08  Bruno Haible  <bruno@clisp.org>
12588
12589         regex-quote: New API.
12590         * lib/regex-quote.h: Include <stdbool.h>.
12591         (struct regex_quote_spec): New type.
12592         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
12593         New declarations.
12594         (regex_quote_length, regex_quote_copy, regex_quote): Take a
12595         'const struct regex_quote_spec *' argument.
12596         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
12597         (pcre_special): New constant.
12598         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
12599         New functions.
12600         (regex_quote_length, regex_quote_copy, regex_quote): Take a
12601         'const struct regex_quote_spec *' argument.
12602         * modules/regex-quote (Depends-on): Add stdbool.
12603         * tests/test-regex-quote.c (check): Update for new API. Add test for
12604         anchored results.
12605         * NEWS: Mention the API change.
12606         Reported by Reuben Thomas and Eric Blake.
12607
12608 2011-03-06  Bruno Haible  <bruno@clisp.org>
12609
12610         regex-quote: Fix creation of POSIX extended regular expressions.
12611         * lib/regex-quote.c (ere_special): Add grouping and alternation
12612         operators.
12613
12614 2011-03-05  Bruno Haible  <bruno@clisp.org>
12615
12616         doc: Improve doc regarding autopoint vs. gnulib.
12617         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
12618         disable autopoint while running autoreconf.
12619         Suggested by Ralf Wildenhues.
12620
12621 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12622
12623         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
12624         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
12625
12626 2011-03-03  Bruce Korb  <bkorb@gnu.org>
12627
12628         parse-duration: remove xalloc.h dependency
12629         * lib/parse-duration.c (parse_period): handle NULL return from
12630         strdup instead of calling xstrdup().
12631         * modules/parse-duration: remove "xalloc" dependency
12632
12633 2011-03-03  Matthew Booth  <mbooth@redhat.com>
12634
12635         bootstrap: honor m4_base when running aclocal
12636         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
12637
12638 2011-03-02  Jim Meyering  <meyering@redhat.com>
12639
12640         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
12641         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
12642         on request from Matt Booth.
12643
12644 2011-03-01  Eric Blake  <eblake@redhat.com>
12645
12646         test-link: work on Hurd
12647         * tests/test-link.h (test_link): Hurd rejects linking directories
12648         with EISDIR instead of the POSIX-mandated EPERM.
12649
12650 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
12651
12652         stdio: simplify by moving files to printf-posix, sigpipe
12653         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
12654         since this symbol is needed only if printf is replaced.
12655         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
12656         Require gl_ASM_SYMBOL_PREFIX.
12657         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
12658         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
12659         (Depends-on): Add 'raise'.
12660         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
12661         * modules/stdio (Files): Remove lib/stdio-write.c,
12662         m4/asm-underscore.m4.
12663         (Depends-on): Remove 'raise'.
12664
12665         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
12666         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
12667         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
12668         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
12669
12670 2011-02-28  Bruno Haible  <bruno@clisp.org>
12671
12672         localcharset: Assume ANSI C behaviour of free().
12673         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
12674         calling free().
12675         Suggested by Simon Josefsson <simon@josefsson.org>.
12676
12677 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
12678             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
12679             Bruno Haible  <bruno@clisp.org>  (tiny change)
12680
12681         On Cygwin, use /proc file system instead of win32 API.
12682         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
12683         Win32 file names.
12684         (DllMain): Simplify by removing Cygwin specific code.
12685         (find_shared_library_fullname): Use Linux specific implementation also
12686         for Cygwin.
12687         (get_shared_library_fullname): Update accordingly.
12688         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
12689         Win32 file names.
12690         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
12691         Cygwin specific code.
12692
12693 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
12694             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
12695
12696         Fix OpenMP flag detection for various Fortran compilers.
12697         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
12698         OpenMP-conditional compilation construct, to force compile
12699         failure with missing OpenMP flag.
12700         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
12701
12702 2011-02-25  Eric Blake  <eblake@redhat.com>
12703
12704         strstr: expand test coverage
12705         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
12706         compilation.
12707         * tests/test-memmem.c (main): Duplicate tests.
12708         * tests/test-strcasestr.c (main): Likewise.
12709         * tests/test-c-strcasestr.c (main): Likewise.
12710
12711 2011-02-25  Jim Meyering  <meyering@redhat.com>
12712
12713         maint.mk: detect missing-NL-at-EOF, too
12714         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
12715         it also detects when a file lacks a newline at EOF.
12716         (require_exactly_one_NL_at_EOF_): Renamed from
12717         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
12718         since people may well have .x-sc_... file names tied to the
12719         existing name.  Suggested by Eric Blake.
12720
12721 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12722
12723         dirname: move m4/dos.m4 functionality into lib/dosname.h
12724
12725         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
12726         extracts symbols from it, puts them into config.h; but it's much
12727         easier to use the symbols directly.  filename.h already does this,
12728         but it disagrees with dos.m4 in some respects.  This patch
12729         introduces a different include file dosname.h that packages up
12730         dos.m4, and then later we can work on merging filename.h and
12731         dosname.h.  Applications that need only the easy-to-configure
12732         symbols should consider including dosname.h rather than dirname.h.
12733         * NEWS: Mention incompatible changes.
12734         * m4/dos.m4: Remove.
12735         * lib/dosname.h, modules/dosname: New files.
12736         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
12737         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
12738         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
12739         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
12740         Include dosname.h, not dirname.h.
12741         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
12742         Include dosname.h, for definitions of symbols like ISSLASH
12743         that used to be in config.h.
12744         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
12745         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
12746         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
12747         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
12748         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
12749         * modules/rmdir (Files): Likewise.
12750         * modules/stat (Files): Likewise.
12751         * modules/unlink (Files): Likewise.
12752         * modules/dirname-lgpl (Depends-on): Add dosname.
12753         * modules/lstat (Depends-on): Likewise.
12754         * modules/openat (Depends-on): Likewise.
12755         * modules/rmdir (Depends-on): Likewise.
12756         * modules/savewd (Depends-on): Likewise.
12757         * modules/stat (Depends-on): Likewise.
12758         * modules/unlink (Depends-on): Likewise.
12759         * modules/openat (Depends-on): Remove dirname-lgpl.
12760         * modules/savewd (Depends-on): Likewise.
12761         * tests/test-dirname.c: Do not use removed symbols like
12762         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
12763         the remaining symbols, e.g., ISSLASH ('\\').
12764
12765 2011-02-25  Eric Blake  <eblake@redhat.com>
12766
12767         strstr: revert patches that introduced bug and pessimization
12768         * lib/str-two-way.h: Add another reference.
12769         (two_way_short_needle, two_way_long_needle): Revert changes from
12770         2011-02-24; they pessimize search speed.
12771         (critical_factorization): Partially revert changes from
12772         2010-06-22; they violate the requirement that the left half of the
12773         needle be smaller than the period of the needle.
12774
12775 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
12776
12777         filenamecat: remove unnecessary dependency on dirname-lgpl
12778         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
12779         is no direct dependency, just an indirect one via filenamecat-lgpl.
12780
12781         remove: remove unnecessary use of m4/dos.m4
12782         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
12783         * modules/remove (FILES): Remove m4/dos.m4.
12784
12785         * lib/openat-proc.c: Don't include dirname.h; not needed.
12786
12787         backupfile: remove unnecessary use of m4/dos.m4
12788         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
12789         of its symbols are used by the backupfile code.  backupfile.c does
12790         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
12791         for the rare case of programs that want all their backup file
12792         names to live within 8+3 limits, and dos.m4 doesn't address that.
12793         * modules/backupfile (Files): Remove m4/dos.m4.
12794
12795 2011-02-24  Jim Meyering  <meyering@redhat.com>
12796
12797         strstr: fix a bug whereby strstr would mistakenly return NULL
12798         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
12799         in period calculation.
12800         (two_way_long_needle): Likewise.
12801         The original problem was reported by Mike Stump in
12802         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
12803         Ralf Wildenhues provided the short needle and haystack.
12804         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
12805         Add a more involved test to trigger the bug in two_way_long_needle.
12806
12807 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
12808
12809         gnulib-tool: remove use of bold display in help screen
12810         * gnulib-tool (func_usage): Do not use bold display anymore in the
12811         help screen.  That was just meant to be a temporary emphasis for a
12812         backward-incompatible change.
12813
12814 2011-02-23  Bruno Haible  <bruno@clisp.org>
12815
12816         Fix misindentation of preprocessor directives.
12817         * lib/argp-namefrob.h: Reindent preprocessor directives.
12818         * lib/getopt_int.h (struct _getopt_data): Likewise.
12819         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
12820         * lib/vasnprintf.c (decode_long_double): Likewise.
12821         * tests/test-argmatch.c: Insert blank lines, for clarity.
12822         * tests/test-exclude.c: Likewise.
12823
12824 2011-02-22  Bruno Haible  <bruno@clisp.org>
12825
12826         ioctl: Fix for MacOS X in 64-bit mode.
12827         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
12828         value.
12829         Suggested by Eric Blake.
12830         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
12831
12832 2011-02-22  Jim Meyering  <meyering@redhat.com>
12833
12834         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
12835         * Makefile (sc_cpp_indent_check): Don't limit the check to files
12836         in lib/.
12837
12838 2011-02-22  Eric Blake  <eblake@redhat.com>
12839
12840         maint: avoid any CDPATH issue
12841         * Makefile (sc_cpp_indent_check): Anchor cd argument.
12842
12843         maint: adjust cpp indentation for my modules, as well
12844         * Makefile (sc_cpp_indent_check): Add my name.
12845         * lib/fbufmode.c: Filter through cppi.
12846         * lib/fpurge.c: Likewise.
12847         * lib/freadable.c: Likewise.
12848         * lib/freading.c: Likewise.
12849         * lib/fwritable.c: Likewise.
12850         * lib/fwriting.c: Likewise.
12851         * lib/sigaction.c: Likewise.
12852
12853 2011-02-22  Jim Meyering  <meyering@redhat.com>
12854
12855         maint: adjust cpp indentation to reflect nesting depth
12856         I.e., in a block of code that begins with an unnested "#if",
12857         put one space between the "#" in column 1 and following token.
12858         For example,
12859         -#include <sys/vfs.h>
12860         +# include <sys/vfs.h>
12861         Do this only in .c files that are part of a module I maintain.
12862         * lib/linkat.c: Filter through cppi.
12863         * lib/nanosleep.c: Likewise.
12864         * lib/openat.c: Likewise.
12865         * lib/openat-die.c: Likewise.
12866         * lib/dup3.c: Likewise.
12867         * lib/fchownat.c: Likewise.
12868         * lib/flock.c: Likewise.
12869         * lib/fsync.c: Likewise.
12870         * lib/fts.c: Likewise.
12871         * lib/getpass.c: Likewise.
12872         * lib/gettimeofday.c: Likewise.
12873         * lib/userspec.c: Likewise.
12874         * Makefile (sc_cpp_indent_check): New rule, to check this.
12875
12876 2011-02-22  Bruno Haible  <bruno@clisp.org>
12877
12878         New module 'wctomb'.
12879         * lib/stdlib.in.h (wctomb): New declaration.
12880         * lib/wctomb.c: New file.
12881         * lib/wctomb-impl.h: New file.
12882         * m4/wctomb.m4: New file.
12883         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
12884         REPLACE_WCTOMB.
12885         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
12886         REPLACE_WCTOMB.
12887         * modules/wctomb: New file.
12888         * tests/test-stdlib-c++.cc: Test signature of wctomb.
12889         * doc/posix-functions/wctomb.texi: Mention the new module.
12890         * modules/wctob (Depends-on): Add wctomb.
12891
12892 2011-02-22  Bruno Haible  <bruno@clisp.org>
12893
12894         New module 'mbtowc'.
12895         * lib/stdlib.in.h (mbtowc): New declaration.
12896         * lib/mbtowc.c: New file.
12897         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
12898         * m4/mbtowc.m4: New file.
12899         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
12900         REPLACE_MBTOWC.
12901         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
12902         REPLACE_MBTOWC.
12903         * modules/mbtowc: New file.
12904         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
12905         * doc/posix-functions/mbtowc.texi: Mention the new module.
12906         * modules/btowc (Depends-on): Add mbtowc.
12907
12908 2011-02-22  Bruno Haible  <bruno@clisp.org>
12909
12910         wcrtomb: Add more tests for native Windows platforms.
12911         * tests/test-wcrtomb-w32-1.sh: New file.
12912         * tests/test-wcrtomb-w32-2.sh: New file.
12913         * tests/test-wcrtomb-w32-3.sh: New file.
12914         * tests/test-wcrtomb-w32-4.sh: New file.
12915         * tests/test-wcrtomb-w32-5.sh: New file.
12916         * tests/test-wcrtomb-w32.c: New file.
12917         * modules/wcrtomb-tests (Files): Add them.
12918         (Makefile.am): Arrange to run these tests.
12919         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
12920         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
12921
12922 2011-02-20  Bruno Haible  <bruno@clisp.org>
12923
12924         wcrtomb: Enhance test.
12925         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
12926
12927 2011-02-20  Bruno Haible  <bruno@clisp.org>
12928
12929         mbrtowc: Tiny optimization.
12930         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
12931
12932 2011-02-20  Jim Meyering  <meyering@redhat.com>
12933
12934         test-exclude.c: remove unmatched #endif
12935         * tests/test-exclude.c: Remove stray #endif, left over from
12936         the change of a week ago.
12937
12938 2011-02-19  Jim Meyering  <meyering@redhat.com>
12939
12940         git-version-gen: skip "-dirty" check when appropriate
12941         * build-aux/git-version-gen: Don't run any git commands when the
12942         version string comes from .tarball-version.  Prior to this, we
12943         would run git update-index --refresh even from a just-unpacked
12944         tarball directory, and that could affect a .git/ directory in a
12945         parent of the build directory.  Reported by Mike Frysinger.
12946
12947 2011-02-19  Bruno Haible  <bruno@clisp.org>
12948
12949         unictype/property-byname: Reduce the size of the 'data' segment.
12950         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
12951
12952 2011-02-19  Bruno Haible  <bruno@clisp.org>
12953
12954         unictype/scripts: Reduce the size of the 'data' segment.
12955         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
12956         '%pic'.
12957         * lib/unictype/scripts_byname.gperf: Regenerated.
12958
12959 2011-02-19  Bruno Haible  <bruno@clisp.org>
12960
12961         stdint: Update documentation.
12962         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
12963
12964 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
12965
12966         stdint: omit redundant check for wchar.h
12967         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
12968         always tests whether wchar.h exists, so remove the now-redundant test.
12969
12970 2011-02-18  Bruno Haible  <bruno@clisp.org>
12971
12972         stdint: Cut dependency to module 'wchar'.
12973         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
12974         include the necessary prerequisites.
12975         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
12976         * modules/stdint (Depends-on): Remove wchar.
12977         (Makefile.am): Substitute HAVE_WCHAR_H.
12978         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
12979
12980 2011-02-18  Eric Blake  <eblake@redhat.com>
12981
12982         longlong: skip, rather than fail, on cross-compilation
12983         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
12984         when cross-compiling; regression from 2011-02-16.
12985
12986 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
12987
12988         * NEWS: Mention 2011-02-08 change to stdlib.
12989
12990 2011-02-17  Bruno Haible  <bruno@clisp.org>
12991
12992         getloadavg: Add comments about platforms.
12993         * m4/getloadavg.m4: Add comment.
12994         * lib/getloadavg.c: Likewise.
12995
12996 2011-02-17  Bruno Haible  <bruno@clisp.org>
12997
12998         getloadavg: Fix link error on Solaris 2.6.
12999         * modules/getloadavg (Link): New section.
13000         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
13001         linking test-getloadavg.
13002         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
13003         getloadavg.
13004
13005 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13006
13007         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
13008         It was 'int', but this doesn't match the IRIX 6.5 manual.
13009         Suggested by Bruno Haible in
13010         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
13011
13012 2011-02-17  Bruno Haible  <bruno@clisp.org>
13013
13014         havelib: Fix comments.
13015         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
13016         change.
13017
13018 2011-02-17  Bruno Haible  <bruno@clisp.org>
13019
13020         havelib: Update config.rpath.
13021         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
13022
13023 2011-02-17  Bruno Haible  <bruno@clisp.org>
13024
13025         getloadavg test: Add some plausibility checks.
13026         * tests/test-getloadavg.c (check_avg): Print a warning when the value
13027         is improbable.
13028
13029 2011-02-16  Eric Blake  <eblake@redhat.com>
13030
13031         maintainer-makefile: make syntax-check a no-op from tarballs
13032         * top/maint.mk (no-vc-detected): New rule.
13033         (local-checks-available): Use it to avoid hanging if someone tries
13034         'make syntax-check' from a tarball.  Also append to any non-syntax
13035         checks already defined in cfg.mk.
13036
13037 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
13038
13039         longlong: tune, particularly for common case of c99
13040
13041         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
13042         or running anything if c99, or if unsigned long long int does not
13043         work.  In either case, we know the answer without further tests.
13044         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
13045         it at most once, and use its results for both long long int and
13046         unsigned long long int.  This is more likely to be efficient in
13047         the common case where the program wants to check for both long
13048         long int and unsigned long long int.
13049         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
13050         since the answer is already known.
13051
13052 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
13053
13054         getloadavg: set errno
13055         * lib/getloadavg.c: Set errno when returning -1.  If no other
13056         error number looks appropriate, set it to ENOSYS if the getloadavg
13057         looks like it can't possibly ever work, ENOTSUP otherwise.
13058         Suggested by Bruno Haible in
13059         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
13060
13061         getloadavg: trim unused parts and speed up 'configure'
13062         * NEWS: Document this.
13063         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
13064         always compiled if getloadavg is absent.
13065         Move test code to ...
13066         * tests/test-getloadavg.c: New file, containing previous
13067         contents of test from lib/getloadavg.c.  It also contains
13068         suggestions by Bruno Haible in
13069         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
13070         * modules/getloadavg-tests: New file.
13071         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
13072         Do tests in the same order as they're needed for getloadavg.c.
13073         Omit setgid-related tests that generate symbols KMEM_GROUP,
13074         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
13075         Do only the tests that are needed to see whether the system has
13076         getloadavg, moving the other tests into ...
13077         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
13078         NLIST_NAME_UNION; nobody should be using it.  Do not define
13079         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
13080         relevant, as the user of this module shouldn't care how getloadavg
13081         is implemented.
13082
13083         getloadavg: omit unused var
13084         * lib/getloadavg.c (getloadavg): Omit unused local variable.
13085
13086 2011-02-15  Jim Meyering  <meyering@redhat.com>
13087
13088         doc: update users.txt
13089         * users.txt: Update iwhd's URL.
13090
13091 2011-02-13  Bruno Haible  <bruno@clisp.org>
13092
13093         Consistent macro naming for macros that use GCC __attribute__.
13094         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
13095         _ATTRIBUTE_NONNULL_.
13096         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
13097         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
13098         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
13099         ATTRIBUTE_DEPRECATED.
13100         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
13101         ATTRIBUTE_NORETURN.
13102         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13103         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13104         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13105         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13106         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
13107         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
13108         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
13109         ATTRIBUTE_SENTINEL.
13110         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
13111         ATTRIBUTE_RETURN_CHECK.
13112         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
13113         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
13114         ATTRIBUTE_NORETURN.
13115         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
13116         Reported by Paul Eggert.
13117
13118 2011-02-13  Bruno Haible  <bruno@clisp.org>
13119
13120         Don't interfere with a program's definition of __attribute__.
13121         * lib/argp.h (__attribute__): Remove definition.
13122         (_GL_ATTRIBUTE_FORMAT): New macro.
13123         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
13124         * lib/argp-fmtstream.h (__attribute__): Remove definition.
13125         (_GL_ATTRIBUTE_FORMAT): New macro.
13126         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
13127         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
13128         GCC 3 or newer.
13129         * lib/error.h (__attribute__): Remove definition.
13130         (_GL_ATTRIBUTE_FORMAT): New macro.
13131         (error, error_at_line): Use it.
13132         * lib/hash.h (__attribute__): Remove definition.
13133         (ATTRIBUTE_WUR): Update definition. Define always.
13134         * lib/openat.h (__attribute__): Remove definition.
13135         (ATTRIBUTE_NORETURN): Update definition. Define always.
13136         * lib/sigpipe-die.h (__attribute__): Remove definition.
13137         (ATTRIBUTE_NORETURN): Update definition. Define always.
13138         * lib/vasnprintf.h (__attribute__): Remove definition.
13139         (_GL_ATTRIBUTE_FORMAT): New macro.
13140         (asnprintf, vasnprintf): Use it.
13141         * lib/xalloc.h (__attribute__): Remove definition.
13142         (ATTRIBUTE_NORETURN): Update definition. Define always.
13143         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
13144         * lib/xmemdup0.h (__attribute__): Remove definition.
13145         (ATTRIBUTE_NORETURN): Update definition. Define always.
13146         * lib/xprintf.h (__attribute__): Remove definition.
13147         (_GL_ATTRIBUTE_FORMAT): New macro.
13148         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
13149         * lib/xstrtol.h (__attribute__): Remove definition.
13150         (ATTRIBUTE_NORETURN): Update definition. Define always.
13151         * lib/xvasprintf.h (__attribute__): Remove definition.
13152         (_GL_ATTRIBUTE_FORMAT): New macro.
13153         (xasprintf, xvasprintf): Use it.
13154         * tests/test-argmatch.c (__attribute__): Remove definition.
13155         (ATTRIBUTE_NORETURN): Update definition. Define always.
13156         * tests/test-exclude.c (__attribute__): Remove definition.
13157         (ATTRIBUTE_NORETURN): Update definition. Define always.
13158         Reported by Paul Eggert.
13159
13160 2011-02-13  Bruno Haible  <bruno@clisp.org>
13161
13162         mbrtowc: Add more tests for native Windows platforms.
13163         * tests/test-mbrtowc-w32-1.sh: New file.
13164         * tests/test-mbrtowc-w32-2.sh: New file.
13165         * tests/test-mbrtowc-w32-3.sh: New file.
13166         * tests/test-mbrtowc-w32-4.sh: New file.
13167         * tests/test-mbrtowc-w32-5.sh: New file.
13168         * tests/test-mbrtowc-w32.c: New file.
13169         * modules/mbrtowc-tests (Files): Add them.
13170         (Makefile.am): Arrange to run these tests.
13171         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
13172         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
13173
13174 2011-02-13  Bruno Haible  <bruno@clisp.org>
13175
13176         mbrtowc: Work around native Windows bug.
13177         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
13178         guess when no suitable locale for testing was found.
13179         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
13180
13181 2011-02-13  Bruno Haible  <bruno@clisp.org>
13182
13183         mbsinit: Work around mingw bug.
13184         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
13185         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
13186         Windows.
13187         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
13188
13189 2011-02-13  Bruno Haible  <bruno@clisp.org>
13190
13191         mbsinit: Don't crash for a NULL argument.
13192         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
13193         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
13194
13195 2011-02-13  Bruno Haible  <bruno@clisp.org>
13196
13197         Don't interfere with a program's definition of __attribute__.
13198         * lib/stdio.in.h (__attribute__): Remove definition.
13199         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
13200         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
13201         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
13202         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
13203         * lib/string.in.h (__attribute__): Remove definition.
13204         Reported by Paul Eggert.
13205
13206 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13207
13208         stdlib: don't get in the way of non-GCC __attribute__
13209         See thread starting at
13210         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
13211         Revert previous stdlib change, installing the following instead:
13212         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
13213         to get in the way of a non-GCC compiler that supports __attribute__.
13214         (_GL_ATTRIBUTE_RETURN): New macro.
13215         (_Exit): Use it instead of __attribute__.
13216
13217 2011-02-12  Bruno Haible  <bruno@clisp.org>
13218
13219         quotearg test: Avoid test failure on mingw.
13220         * tests/test-quotearg.sh: Convert the locale identifier from native
13221         Windows syntax to Unix syntax.
13222
13223 2011-02-12  Bruno Haible  <bruno@clisp.org>
13224
13225         setlocale: Prefer gnulib's override over libintl's override.
13226         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
13227         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
13228         GNULIB_defined_setlocale is set.
13229
13230 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13231
13232         stdlib: support non-GCC __attribute__
13233
13234         Fix a serious and tricky problem encountered when attempting to
13235         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
13236         5.5, but it crashed due to memory corruption on Solaris 10 with
13237         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
13238         bits that are otherwise zero.  This tagging is optional inside
13239         Emacs but is preferred and is used when __attribute__ ((__aligned
13240         (8))) works, as it does with both recent-enough GCC and with Sun C
13241         5.11.  However, Sun C 5.11 is not GCC and does not #define
13242         __GNUC__ and __GNUC_MINOR__.
13243
13244         When I added the getloadavg module to Emacs, it brought in
13245         stdlib.in.h, which contained this fragment:
13246
13247            #ifndef __attribute__
13248            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
13249            #  define __attribute__(Spec)   /* empty */
13250            # endif
13251            #endif
13252
13253         When files that include <stdlib.h> were compiled with Sun C 5.11,
13254         the above code disabled __attribute__ ((__aligned (8))), which
13255         caused variables to not be properly aligned, which eventually led
13256         to the pointer corruption mentioned above.  (This was a bit hard
13257         to diagnose, unfortunately.)
13258
13259         Several "#define __attribute__(X) /* empty */" code snippets need
13260         to be eradicated from Gnulib to work with non-GCC compilers that
13261         support __attribute__.  The Autoconf way to do this is to test for
13262         each kind of attribute that we want support for, and selectively
13263         enable that in source code.
13264
13265         Fix this problem just for stdlib.h, by adding a test for the
13266         __noreturn__ attribute, and change stdlib.in.h to use that test
13267         when needed.  This technique can be easily generalized to the
13268         other *.in.h files and attributes, and a similar technique can be
13269         used for *.h and *.c files.  This patch is enough to solve the
13270         problem for Emacs + getloadavg, and I thought I'd publish it for
13271         feedback before undertaking further, similar fixes in other
13272         modules.
13273
13274         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
13275         because it's not needed for stdlib.h.  It merely substitutes the
13276         value directly into stdlib.h.  We may well need to #define it, or
13277         similar symbols, for other modules, but it's nice to also have an
13278         option to not #define it for applications like Emacs that do not
13279         need it.
13280
13281         * lib/stdlib.in.h (__attribute__): Do not #define.
13282         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
13283         be defined only if the _Exit module is also used.
13284         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
13285         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
13286         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
13287         platforms.
13288         * modules/_Exit (Files): Add m4/attribute.m4.
13289         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
13290         * m4/attribute.m4: New file.
13291
13292 2011-02-12  Bruno Haible  <bruno@clisp.org>
13293
13294         wcsrtombs: Work around bug on native Windows.
13295         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
13296         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
13297         instead of len.
13298         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
13299
13300 2011-02-12  Bruno Haible  <bruno@clisp.org>
13301
13302         mbsrtowcs: Work around bug on native Windows.
13303         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
13304         against mingw bug.
13305         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
13306
13307 2011-02-12  Bruno Haible  <bruno@clisp.org>
13308
13309         Avoid setlocale bugs in tests.
13310         * modules/btowc (Dependencies): Add setlocale.
13311         * modules/c-strcase (Dependencies): Likewise.
13312         * modules/mbmemcasecmp (Dependencies): Likewise.
13313         * modules/mbmemcasecoll (Dependencies): Likewise.
13314         * modules/mbrtowc (Dependencies): Likewise.
13315         * modules/mbscasecmp (Dependencies): Likewise.
13316         * modules/mbscasestr (Dependencies): Likewise.
13317         * modules/mbschr (Dependencies): Likewise.
13318         * modules/mbscspn (Dependencies): Likewise.
13319         * modules/mbsinit (Dependencies): Likewise.
13320         * modules/mbsncasecmp (Dependencies): Likewise.
13321         * modules/mbsnrtowcs (Dependencies): Likewise.
13322         * modules/mbspbrk (Dependencies): Likewise.
13323         * modules/mbspcasecmp (Dependencies): Likewise.
13324         * modules/mbsrchr (Dependencies): Likewise.
13325         * modules/mbsrtowcs (Dependencies): Likewise.
13326         * modules/mbsspn (Dependencies): Likewise.
13327         * modules/mbsstr (Dependencies): Likewise.
13328         * modules/nl_langinfo (Dependencies): Likewise.
13329         * modules/quotearg (Dependencies): Likewise.
13330         * modules/unicase/locale-language (Dependencies): Likewise.
13331         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
13332         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
13333         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
13334         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
13335         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
13336         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
13337         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
13338         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
13339         * modules/vasnprintf-posix (Dependencies): Likewise.
13340         * modules/wcrtomb (Dependencies): Likewise.
13341         * modules/wcsnrtombs (Dependencies): Likewise.
13342         * modules/wcsrtombs (Dependencies): Likewise.
13343
13344 2011-02-12  Bruno Haible  <bruno@clisp.org>
13345
13346         setlocale: Workaround native Windows bug.
13347         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
13348         succeeds but sets LC_CTYPE to "C", report a failure.
13349         * tests/test-setlocale2.sh: New file.
13350         * tests/test-setlocale2.c: New file.
13351         * modules/setlocale-tests (Files): Add the new files.
13352         (Makefile.am): Enable test-setlocale2.sh test.
13353         * doc/posix-functions/setlocale.texi: Mention workaround.
13354
13355 2011-02-11  Bruno Haible  <bruno@clisp.org>
13356
13357         Tests for module 'setlocale'.
13358         * modules/setlocale-tests: New file.
13359         * tests/test-setlocale1.sh: New file.
13360         * tests/test-setlocale1.c: New file.
13361
13362         New module 'setlocale'.
13363         * lib/locale.in.h (setlocale): New declaration.
13364         * lib/setlocale.c: New file, based on
13365         gettext/gettext-runtime/intl/setlocale.c.
13366         * m4/setlocale.m4: New file.
13367         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
13368         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
13369         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
13370         REPLACE_SETLOCALE.
13371         * modules/setlocale: New file.
13372         * tests/test-locale-c++.cc: Test the declaration of setlocale.
13373         * doc/posix-functions/setlocale.texi: Mention the new module.
13374
13375 2011-02-11  Bruno Haible  <bruno@clisp.org>
13376
13377         Prepare for locale dependent tests on mingw.
13378         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
13379         because it has the wrong locale encoding.
13380         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
13381         French_France.1252 instead of "fr".
13382         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
13383         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
13384         because it has the wrong locale encoding.
13385         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
13386         native Windows, try Turkish_Turkey.65001.
13387         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
13388         Chinese_China.54936.
13389
13390         Prepare for locale dependent tests on mingw.
13391         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
13392         differently.
13393         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
13394         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
13395         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
13396         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
13397
13398 2011-02-11  Eric Blake  <eblake@redhat.com>
13399
13400         strptime: avoid compiler warnings
13401         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
13402         compiler warnings about dead code.
13403         Reported by Daniel P. Berrange.
13404
13405 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
13406
13407         doc: update users.txt
13408         * users.txt: Add rcs.
13409
13410 2011-02-10  John W. Eaton  <jwe@gnu.org>
13411
13412         doc: update users.txt
13413         * users.txt: Add octave.
13414
13415 2011-02-10  Jim Meyering  <meyering@redhat.com>
13416
13417         doc: update users.txt
13418         * users.txt: Add iwhd.
13419
13420 2011-02-09  Bruno Haible  <bruno@clisp.org>
13421
13422         gnulib-tool: Make copyright notice adjustment more robust.
13423         * gnulib-tool (func_import): In sed_transform_main_lib_file,
13424         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
13425         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
13426         License".
13427         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
13428
13429 2011-02-06  Bruno Haible  <bruno@clisp.org>
13430
13431         New module 'towctrans'.
13432         * modules/towctrans: New file.
13433         * lib/wctype.in.h (towctrans): New declaration.
13434         * lib/towctrans.c: New file.
13435         * lib/towctrans-impl.h: New file.
13436         * m4/towctrans.m4: New file.
13437         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
13438         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
13439         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
13440         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
13441         * doc/posix-functions/towctrans.texi: Mention the new module.
13442
13443 2011-02-06  Bruno Haible  <bruno@clisp.org>
13444
13445         New module 'wctrans'.
13446         * modules/wctrans: New file.
13447         * lib/wctype.in.h (wctrans): New declaration.
13448         * lib/wctrans.c: New file.
13449         * lib/wctrans-impl.h: New file.
13450         * m4/wctrans.m4: New file.
13451         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
13452         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
13453         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
13454         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
13455         * doc/posix-functions/wctrans.texi: Mention the new module.
13456
13457 2011-02-06  Bruno Haible  <bruno@clisp.org>
13458
13459         New module 'iswctype'.
13460         * modules/iswctype: New file.
13461         * lib/wctype.in.h (iswctype): New declaration.
13462         * lib/iswctype.c: New file.
13463         * lib/iswctype-impl.h: New file.
13464         * m4/iswctype.m4: New file.
13465         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
13466         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
13467         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
13468         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
13469         * doc/posix-functions/iswctype.texi: Mention the new module and the
13470         HP-UX 11.00 problem.
13471
13472 2011-02-06  Bruno Haible  <bruno@clisp.org>
13473
13474         New module 'wctype'.
13475         * modules/wctype: Change to represent the wctype() substitute.
13476         * lib/wctype.in.h (wctype): New declaration.
13477         * lib/wctype.c: New file.
13478         * lib/wctype-impl.h: New file.
13479         * m4/wctype.m4: New file.
13480         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
13481         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
13482         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
13483         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
13484         * doc/posix-functions/wctype.texi: Mention the new module and the
13485         HP-UX 11.00 problem.
13486
13487 2011-02-06  Bruno Haible  <bruno@clisp.org>
13488
13489         wctype-h: Ensure wctype_t and wctrans_t are defined.
13490         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
13491         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13492         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13493         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
13494         HAVE_WCTRANS_T.
13495         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
13496
13497 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
13498
13499         flock: fix license typo
13500
13501         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
13502         omitted.
13503
13504 2011-02-08  Bruno Haible  <bruno@clisp.org>
13505
13506         Split large sed scripts, for HP-UX sed.
13507         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
13508         to avoid HP-UX limit of 99 commands, in the near future.
13509         * modules/stdlib (Makefile.am): Likewise.
13510         * modules/unistd (Makefile.am): Likewise.
13511         * modules/wchar (Makefile.am): Likewise.
13512         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13513         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
13514         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
13515
13516 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13517             Bruno Haible  <bruno@clisp.org>
13518
13519         stdlib: improve random_r modularization
13520         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
13521         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
13522         you also need the random_r module to get this material right.
13523         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
13524         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
13525         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
13526
13527 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13528
13529         stdlib: don't depend on stdint
13530         * lib/stdlib.in.h: Don't include <stdint.h> merely because
13531         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
13532         be independent of whether stdint.h is needed.
13533         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
13534         here, instead of ...
13535         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
13536         struct random_data should be using the random_r module, not just
13537         the stdlib module (which wouldn't make sense: what package needs
13538         just struct random_data without also needing random_r?).
13539         * modules/stdlib (Depends-on): Remove stdint.
13540
13541         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
13542         See the thread rooted at
13543         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
13544         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
13545         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
13546         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
13547         __VMS)); previously it was always included (via fcntl--.h).
13548         (getloadavg): Do not use c_strtod.  Instead, approximate it by
13549         hand; this is good enough for load averages.  Also, do not use
13550         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
13551         flags directly if available and don't bother otherwise.  (Packages
13552         that need the extra reliability should use the modules that define
13553         these flags on older platforms that lack them.)
13554         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
13555         fcntl-safer.
13556
13557 2011-02-08  Jim Meyering  <meyering@redhat.com>
13558
13559         di-set.h, ino-map.h: add multiple-inclusion guard
13560         Technically, the guard is required only for ino-map.h, due to its
13561         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
13562         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
13563         * lib/ino-map.h: Likewise.
13564
13565 2011-02-06  Bruno Haible  <bruno@clisp.org>
13566
13567         iswblank: Ensure declaration on glibc systems.
13568         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
13569         * modules/iswblank (Dependencies): Add 'extensions'.
13570         * doc/posix-functions/iswblank.texi: Document the glibc problem.
13571
13572 2011-02-06  Bruno Haible  <bruno@clisp.org>
13573
13574         New module 'iswblank'.
13575         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
13576         * modules/iswblank: New file.
13577         * modules/wctype-h (Files): Remove lib/iswblank.c.
13578         (Makefile.am): Substitute GNULIB_ISWBLANK.
13579         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
13580         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
13581         (gl_WCTYPE_H_DEFAULTS): New macro.
13582         (gl_WCTYPE_H): Require it. Remove iswblank related code.
13583         * modules/iswblank-tests: New file.
13584         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
13585         * tests/test-wctype-h.c (main): Remove iswblank tests.
13586         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
13587         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
13588         of 'wctype-h'.
13589         * NEWS: Mention the change.
13590         * modules/mbchar (Depends-on): Add iswblank.
13591
13592 2011-02-08  Bruno Haible  <bruno@clisp.org>
13593
13594         di-set tests: Refactor.
13595         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
13596         unnecessary includes.
13597         (ASSERT): Remove macro.
13598         (main): Make C90 compliant by avoiding variable declaration after
13599         statement.
13600         * modules/di-set-tests (Files): Add tests/macros.h.
13601
13602 2011-02-08  Bruno Haible  <bruno@clisp.org>
13603
13604         ino-map tests: Refactor.
13605         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
13606         unnecessary includes.
13607         (ASSERT): Remove macro.
13608         (main): Make C90 compliant by avoiding variable declaration after
13609         statement.
13610         * modules/ino-map-tests (Files): Add tests/macros.h.
13611
13612 2011-02-08  Jim Meyering  <meyering@redhat.com>
13613
13614         di-set: add "const" to a cast
13615         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
13616         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
13617
13618 2011-02-06  Bruno Haible  <bruno@clisp.org>
13619
13620         Rename module 'wctype' to 'wctype-h'.
13621         * modules/wctype-h: Renamed from modules/wctype.
13622         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
13623         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
13624         (Files, Depends-on, Makefile.am): Update.
13625         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
13626         (Files, Makefile.am): Update.
13627         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
13628         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
13629         * doc/posix-headers/wctype.texi: Update.
13630         * doc/posix-functions/iswalnum.texi: Update.
13631         * doc/posix-functions/iswalpha.texi: Update.
13632         * doc/posix-functions/iswblank.texi: Update.
13633         * doc/posix-functions/iswcntrl.texi: Update.
13634         * doc/posix-functions/iswdigit.texi: Update.
13635         * doc/posix-functions/iswgraph.texi: Update.
13636         * doc/posix-functions/iswlower.texi: Update.
13637         * doc/posix-functions/iswprint.texi: Update.
13638         * doc/posix-functions/iswpunct.texi: Update.
13639         * doc/posix-functions/iswspace.texi: Update.
13640         * doc/posix-functions/iswupper.texi: Update.
13641         * doc/posix-functions/iswxdigit.texi: Update.
13642         * doc/posix-functions/towlower.texi: Update.
13643         * doc/posix-functions/towupper.texi: Update.
13644         * NEWS: Mention the change.
13645         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
13646         * modules/mbchar (Dependencies): Likewise.
13647         * modules/mbswidth (Dependencies): Likewise.
13648         * modules/quotearg (Dependencies): Likewise.
13649         * modules/regex (Dependencies): Likewise.
13650         * modules/wcscasecmp (Dependencies): Likewise.
13651         * modules/wcsncasecmp (Dependencies): Likewise.
13652         * modules/wcwidth (Dependencies): Likewise.
13653
13654 2011-02-06  Bruno Haible  <bruno@clisp.org>
13655
13656         New module 'wcswidth'.
13657         * modules/wcswidth: New file.
13658         * lib/wchar.in.h (wcswidth): New declaration.
13659         * lib/wcswidth.c: New file.
13660         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
13661         * m4/wcswidth.m4: New file.
13662         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
13663         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
13664         REPLACE_WCSWIDTH.
13665         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
13666         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
13667         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
13668         * doc/posix-functions/wcswidth.texi: Mention the new module.
13669
13670 2011-02-06  Bruno Haible  <bruno@clisp.org>
13671
13672         New module 'wcstok'.
13673         * modules/wcstok: New file.
13674         * lib/wchar.in.h (wcstok): New declaration.
13675         * lib/wcstok.c: New file.
13676         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
13677         * m4/wcstok.m4: New file.
13678         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
13679         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
13680         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
13681         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
13682         * doc/posix-functions/wcstok.texi: Mention the new module.
13683
13684 2011-02-06  Bruno Haible  <bruno@clisp.org>
13685
13686         New module 'wcsstr'.
13687         * modules/wcsstr: New file.
13688         * lib/wchar.in.h (wcsstr): New declaration.
13689         * lib/wcsstr.c: New file.
13690         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
13691         * m4/wcsstr.m4: New file.
13692         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
13693         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
13694         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
13695         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
13696         * doc/posix-functions/wcsstr.texi: Mention the new module.
13697
13698 2011-02-06  Bruno Haible  <bruno@clisp.org>
13699
13700         New module 'wcspbrk'.
13701         * modules/wcspbrk: New file.
13702         * lib/wchar.in.h (wcspbrk): New declaration.
13703         * lib/wcspbrk.c: New file.
13704         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
13705         * m4/wcspbrk.m4: New file.
13706         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
13707         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
13708         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
13709         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
13710         * doc/posix-functions/wcspbrk.texi: Mention the new module.
13711
13712 2011-02-06  Bruno Haible  <bruno@clisp.org>
13713
13714         New module 'wcsspn'.
13715         * modules/wcsspn: New file.
13716         * lib/wchar.in.h (wcsspn): New declaration.
13717         * lib/wcsspn.c: New file.
13718         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
13719         * m4/wcsspn.m4: New file.
13720         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
13721         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
13722         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
13723         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
13724         * doc/posix-functions/wcsspn.texi: Mention the new module.
13725
13726 2011-02-06  Bruno Haible  <bruno@clisp.org>
13727
13728         New module 'wcscspn'.
13729         * modules/wcscspn: New file.
13730         * lib/wchar.in.h (wcscspn): New declaration.
13731         * lib/wcscspn.c: New file.
13732         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
13733         * m4/wcscspn.m4: New file.
13734         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
13735         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
13736         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
13737         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
13738         * doc/posix-functions/wcscspn.texi: Mention the new module.
13739
13740 2011-02-06  Bruno Haible  <bruno@clisp.org>
13741
13742         New module 'wcsrchr'.
13743         * modules/wcsrchr: New file.
13744         * lib/wchar.in.h (wcsrchr): New declaration.
13745         * lib/wcsrchr.c: New file.
13746         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
13747         * m4/wcsrchr.m4: New file.
13748         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
13749         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
13750         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
13751         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
13752         * doc/posix-functions/wcsrchr.texi: Mention the new module.
13753
13754 2011-02-06  Bruno Haible  <bruno@clisp.org>
13755
13756         New module 'wcschr'.
13757         * modules/wcschr: New file.
13758         * lib/wchar.in.h (wcschr): New declaration.
13759         * lib/wcschr.c: New file.
13760         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
13761         * m4/wcschr.m4: New file.
13762         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
13763         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
13764         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
13765         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
13766         * doc/posix-functions/wcschr.texi: Mention the new module.
13767
13768 2011-02-06  Bruno Haible  <bruno@clisp.org>
13769
13770         New module 'wcsdup'.
13771         * modules/wcsdup: New file.
13772         * lib/wchar.in.h (wcsdup): New declaration.
13773         * lib/wcsdup.c: New file.
13774         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
13775         * m4/wcsdup.m4: New file.
13776         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
13777         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
13778         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
13779         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
13780         * doc/posix-functions/wcsdup.texi: Mention the new module.
13781
13782 2011-02-06  Bruno Haible  <bruno@clisp.org>
13783
13784         New module 'wcsxfrm'.
13785         * modules/wcsxfrm: New file.
13786         * lib/wchar.in.h (wcsxfrm): New declaration.
13787         * lib/wcsxfrm.c: New file.
13788         * lib/wcsxfrm-impl.h: New file.
13789         * m4/wcsxfrm.m4: New file.
13790         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
13791         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
13792         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
13793         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
13794         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
13795
13796 2011-02-06  Bruno Haible  <bruno@clisp.org>
13797
13798         New module 'wcscoll'.
13799         * modules/wcscoll: New file.
13800         * lib/wchar.in.h (wcscoll): New declaration.
13801         * lib/wcscoll.c: New file.
13802         * lib/wcscoll-impl.h: New file.
13803         * m4/wcscoll.m4: New file.
13804         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
13805         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
13806         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
13807         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
13808         * doc/posix-functions/wcscoll.texi: Mention the new module.
13809
13810 2011-02-06  Bruno Haible  <bruno@clisp.org>
13811
13812         New module 'wcsncasecmp'.
13813         * modules/wcsncasecmp: New file.
13814         * lib/wchar.in.h (wcsncasecmp): New declaration.
13815         * lib/wcsncasecmp.c: New file.
13816         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
13817         * m4/wcsncasecmp.m4: New file.
13818         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
13819         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
13820         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
13821         HAVE_WCSNCASECMP.
13822         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
13823         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
13824
13825 2011-02-06  Bruno Haible  <bruno@clisp.org>
13826
13827         New module 'wcscasecmp'.
13828         * modules/wcscasecmp: New file.
13829         * lib/wchar.in.h (wcscasecmp): New declaration.
13830         * lib/wcscasecmp.c: New file.
13831         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
13832         * m4/wcscasecmp.m4: New file.
13833         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
13834         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
13835         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
13836         HAVE_WCSCASECMP.
13837         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
13838         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
13839
13840 2011-02-05  Bruno Haible  <bruno@clisp.org>
13841
13842         New module 'wcsncmp'.
13843         * modules/wcsncmp: New file.
13844         * lib/wchar.in.h (wcsncmp): New declaration.
13845         * lib/wcsncmp.c: New file.
13846         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
13847         * m4/wcsncmp.m4: New file.
13848         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
13849         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
13850         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
13851         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
13852         * doc/posix-functions/wcsncmp.texi: Mention the new module.
13853
13854 2011-02-05  Bruno Haible  <bruno@clisp.org>
13855
13856         New module 'wcscmp'.
13857         * modules/wcscmp: New file.
13858         * lib/wchar.in.h (wcscmp): New declaration.
13859         * lib/wcscmp.c: New file.
13860         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
13861         * m4/wcscmp.m4: New file.
13862         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
13863         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
13864         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
13865         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
13866         * doc/posix-functions/wcscmp.texi: Mention the new module.
13867
13868 2011-02-05  Bruno Haible  <bruno@clisp.org>
13869
13870         New module 'wcsncat'.
13871         * modules/wcsncat: New file.
13872         * lib/wchar.in.h (wcsncat): New declaration.
13873         * lib/wcsncat.c: New file.
13874         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
13875         * m4/wcsncat.m4: New file.
13876         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
13877         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
13878         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
13879         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
13880         * doc/posix-functions/wcsncat.texi: Mention the new module.
13881
13882 2011-02-05  Bruno Haible  <bruno@clisp.org>
13883
13884         New module 'wcscat'.
13885         * modules/wcscat: New file.
13886         * lib/wchar.in.h (wcscat): New declaration.
13887         * lib/wcscat.c: New file.
13888         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
13889         * m4/wcscat.m4: New file.
13890         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
13891         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
13892         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
13893         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
13894         * doc/posix-functions/wcscat.texi: Mention the new module.
13895
13896 2011-02-05  Bruno Haible  <bruno@clisp.org>
13897
13898         New module 'wcpncpy'.
13899         * modules/wcpncpy: New file.
13900         * lib/wchar.in.h (wcpncpy): New declaration.
13901         * lib/wcpncpy.c: New file.
13902         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
13903         * m4/wcpncpy.m4: New file.
13904         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
13905         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
13906         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
13907         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
13908         * doc/posix-functions/wcpncpy.texi: Mention the new module.
13909
13910 2011-02-05  Bruno Haible  <bruno@clisp.org>
13911
13912         New module 'wcsncpy'.
13913         * modules/wcsncpy: New file.
13914         * lib/wchar.in.h (wcsncpy): New declaration.
13915         * lib/wcsncpy.c: New file.
13916         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
13917         * m4/wcsncpy.m4: New file.
13918         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
13919         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
13920         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
13921         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
13922         * doc/posix-functions/wcsncpy.texi: Mention the new module.
13923
13924 2011-02-05  Bruno Haible  <bruno@clisp.org>
13925
13926         New module 'wcpcpy'.
13927         * modules/wcpcpy: New file.
13928         * lib/wchar.in.h (wcpcpy): New declaration.
13929         * lib/wcpcpy.c: New file.
13930         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
13931         * m4/wcpcpy.m4: New file.
13932         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
13933         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
13934         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
13935         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
13936         * doc/posix-functions/wcpcpy.texi: Mention the new module.
13937
13938 2011-02-05  Bruno Haible  <bruno@clisp.org>
13939
13940         New module 'wcscpy'.
13941         * modules/wcscpy: New file.
13942         * lib/wchar.in.h (wcscpy): New declaration.
13943         * lib/wcscpy.c: New file.
13944         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
13945         * m4/wcscpy.m4: New file.
13946         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
13947         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
13948         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
13949         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
13950         * doc/posix-functions/wcscpy.texi: Mention the new module.
13951
13952 2011-02-05  Bruno Haible  <bruno@clisp.org>
13953
13954         New module 'wcsnlen'.
13955         * modules/wcsnlen: New file.
13956         * lib/wchar.in.h (wcsnlen): New declaration.
13957         * lib/wcsnlen.c: New file.
13958         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
13959         * m4/wcsnlen.m4: New file.
13960         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
13961         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
13962         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
13963         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
13964         * doc/posix-functions/wcsnlen.texi: Mention the new module.
13965
13966 2011-02-05  Bruno Haible  <bruno@clisp.org>
13967
13968         New module 'wcslen'.
13969         * modules/wcslen: New file.
13970         * lib/wchar.in.h (wcslen): New declaration.
13971         * lib/wcslen.c: New file.
13972         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
13973         * m4/wcslen.m4: New file.
13974         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
13975         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
13976         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
13977         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
13978         * doc/posix-functions/wcslen.texi: Mention the new module.
13979
13980 2011-02-05  Bruno Haible  <bruno@clisp.org>
13981
13982         New module 'wmemset'.
13983         * modules/wmemset: New file.
13984         * lib/wchar.in.h (wmemset): New declaration.
13985         * lib/wmemset.c: New file.
13986         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
13987         * m4/wmemset.m4: New file.
13988         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
13989         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
13990         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
13991         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
13992         * doc/posix-functions/wmemset.texi: Mention the new module.
13993
13994 2011-02-05  Bruno Haible  <bruno@clisp.org>
13995
13996         New module 'wmemmove'.
13997         * modules/wmemmove: New file.
13998         * lib/wchar.in.h (wmemmove): New declaration.
13999         * lib/wmemmove.c: New file.
14000         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
14001         * m4/wmemmove.m4: New file.
14002         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
14003         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
14004         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
14005         HAVE_WMEMMOVE.
14006         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
14007         * doc/posix-functions/wmemmove.texi: Mention the new module.
14008
14009 2011-02-05  Bruno Haible  <bruno@clisp.org>
14010
14011         New module 'wmemcpy'.
14012         * modules/wmemcpy: New file.
14013         * lib/wchar.in.h (wmemcpy): New declaration.
14014         * lib/wmemcpy.c: New file.
14015         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
14016         * m4/wmemcpy.m4: New file.
14017         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
14018         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
14019         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
14020         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
14021         * doc/posix-functions/wmemcpy.texi: Mention the new module.
14022
14023 2011-02-05  Bruno Haible  <bruno@clisp.org>
14024
14025         New module 'wmemcmp'.
14026         * modules/wmemcmp: New file.
14027         * lib/wchar.in.h (wmemcmp): New declaration.
14028         * lib/wmemcmp.c: New file.
14029         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
14030         * m4/wmemcmp.m4: New file.
14031         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
14032         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
14033         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
14034         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
14035         * doc/posix-functions/wmemcmp.texi: Mention the new module.
14036
14037 2011-02-07  Jim Meyering  <meyering@redhat.com>
14038
14039         di-set, ino-map: new modules, from coreutils
14040         * lib/di-set.c: New file.
14041         * lib/di-set.h: Likewise.
14042         * lib/ino-map.c: Likewise.
14043         * lib/ino-map.h: Likewise.
14044         * modules/di-set: Likewise.
14045         * modules/di-set-tests: Likewise.
14046         * modules/ino-map: Likewise.
14047         * modules/ino-map-tests: Likewise.
14048         * tests/test-di-set.c: Likewise.
14049         * tests/test-ino-map.c: Likewise.
14050
14051 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
14052
14053         getloadavg: merge minor changes from Emacs
14054
14055         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
14056         (getloadavg): Use memset, not bzero.
14057
14058         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
14059         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
14060         clash (bug#86).
14061
14062 2010-11-14  Bruno Haible  <bruno@clisp.org>
14063
14064         Allow multiple gnulib generated replacements to coexist.
14065         * lib/getopt.in.h (struct option): Avoid identical redefinition.
14066         * lib/inttypes.in.h (imaxdiv_t): Likewise.
14067         * lib/langinfo.in.h (nl_item): Likewise.
14068         * lib/math.in.h (_NaN, NAN): Likewise.
14069         * lib/netdb.in.h (struct addrinfo): Likewise.
14070         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
14071         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
14072         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
14073         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
14074         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
14075         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
14076         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
14077         pthread_mutexattr_init, pthread_mutexattr_settype,
14078         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
14079         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
14080         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
14081         pthread_spin_trylock, pthread_spin_unlock): Likewise.
14082         * lib/sched.in.h (struct sched_param): Likewise.
14083         * lib/se-selinux.in.h (security_class_t, security_context_t,
14084         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
14085         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
14086         lsetfilecon, fsetfilecon, security_check_context,
14087         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
14088         Likewise.
14089         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
14090         Likewise.
14091         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
14092         _gl_function_taking_int_returning_void_t, union sigval,
14093         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
14094         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
14095         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
14096         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
14097         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
14098         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
14099         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
14100         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
14101         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
14102         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
14103         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
14104         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
14105         socklen_t, rpl_fd_isset): Likewise.
14106         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
14107         * lib/sys_time.in.h (struct timeval): Likewise.
14108         * lib/sys_times.in.h (struct tms): Likewise.
14109         * lib/sys_utsname.in.h (struct utsname):
14110         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
14111         * lib/unistd.in.h (getpagesize): Likewise.
14112         * lib/wchar.in.h (mbstate_t): Likewise.
14113         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
14114         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
14115         towlower, towupper): Likewise.
14116         Reported by Sam Steingold <sds@gnu.org>.
14117
14118 2011-02-05  Eric Blake  <eblake@redhat.com>
14119
14120         unsetenv: work around Haiku issues
14121         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
14122         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
14123
14124 2010-12-30  Bruce Korb  <bkorb@gnu.org>
14125
14126         libposix: avoid calling error() within libposix
14127         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
14128         is defined.
14129
14130 2011-02-05  Eric Blake  <eblake@redhat.com>
14131
14132         strerror_r-posix: port to cygwin
14133         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
14134         implementation.
14135         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
14136         * tests/test-strerror_r.c (main): Fix test.
14137         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
14138         issue.
14139
14140 2011-02-05  Bruno Haible  <bruno@clisp.org>
14141
14142         New module 'wmemchr'.
14143         * modules/wmemchr: New file.
14144         * lib/wchar.in.h (wmemchr): New declaration.
14145         * lib/wmemchr.c: New file.
14146         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
14147         * m4/wmemchr.m4: New file.
14148         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
14149         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
14150         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
14151         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
14152         * doc/posix-functions/wmemchr.texi: Mention the new module.
14153
14154 2011-02-04  Eric Blake  <eblake@redhat.com>
14155
14156         fdopendir: detect FreeBSD bug
14157         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
14158         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
14159
14160 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
14161
14162         stdbool: do not define HAVE_STDBOOL_H
14163         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
14164         AC_HEADER_STDBOOL.  All uses changed.  Do not define
14165         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
14166         imported from the latest Autoconf git.  It was motivated by Emacs,
14167         which uses gnulib but does not need HAVE_STDBOOL_H.
14168
14169 2011-02-04  Bruno Haible  <bruno@clisp.org>
14170
14171         wcsnrtombs: Prepare for new module wwcsnrtombs.
14172         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
14173         * lib/wcsnrtombs.c: Include it.
14174         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
14175
14176         wcsrtombs: Prepare for new module wwcsrtombs.
14177         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
14178         * lib/wcsrtombs.c: Include it.
14179         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
14180
14181         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
14182         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
14183         * lib/mbsnrtowcs.c: Include it.
14184         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
14185
14186         mbsrtowcs: Prepare for new module mbsrtowwcs.
14187         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
14188         * lib/mbsrtowcs.c: Include it.
14189         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
14190
14191 2011-02-04  Bruno Haible  <bruno@clisp.org>
14192
14193         vasnprintf: Reduce use of malloc for small format strings.
14194         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
14195         (arguments): Add room for the first 7 arguments.
14196         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
14197         (char_directives, u8_directives, u16_directives, u32_directives): Add
14198         room for the first 7 directives.
14199         * lib/printf-parse.c: Include <string.h>.
14200         (PRINTF_PARSE): Change memory handling code so that it uses the first
14201         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
14202         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
14203         Reported by Pádraig Brady <P@draigbrady.com>.
14204
14205 2011-01-31  Eric Blake  <eblake@redhat.com>
14206
14207         dup2: work around Haiku bug
14208         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
14209         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
14210         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14211         * tests/test-dup2.c (main): Enhance test.
14212
14213 2011-01-31  Simon Josefsson  <simon@josefsson.org>
14214
14215         doc: off_t is not available in eglibc 2.11.2 stdio.h.
14216         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
14217         declared by eglibc 2.11.2.
14218         * lib/stdio.in.h: Likewise.
14219
14220 2011-01-31  Eric Blake  <eblake@redhat.com>
14221
14222         ignore-value: add missing test dependency
14223         * tests/test-ignore-value.c: Revert previous change; stdio.h
14224         provides off_t.
14225         * modules/ignore-value-tests (Depends-on): Add missing dependency.
14226
14227 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
14228
14229         mktime: clarify long_int width checking
14230         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
14231         the top level, to make it clearer that the assumption about
14232         long_int width is being checked.  See
14233         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
14234
14235 2011-01-30  Simon Josefsson  <simon@josefsson.org>
14236
14237         ignore-value: Fix self-test.
14238         * tests/test-ignore-value.c: Include sys/types.h for off_t.
14239
14240 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
14241
14242         TYPE_MAXIMUM: avoid theoretically undefined behavior
14243         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
14244         negative number, which the C Standard says has undefined behavior.
14245         In practice this is not a problem, but might as well do it by the book.
14246         Reported by Rich Felker and Eric Blake; see
14247         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
14248         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
14249         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
14250         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14251         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
14252         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14253         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
14254
14255         mktime: #undef mktime before #defining it
14256         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
14257
14258         mktime: systematically normalize tm_isdst comparisons
14259         * lib/mktime.c (isdst_differ): New function.
14260         (__mktime_internal): Use it systematically for all isdst comparisons.
14261         This completes the fix for libc BZ #6723, and removes the need for
14262         normalizing tm_isdst.  See
14263         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
14264         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
14265
14266         mktime: fix some integer overflow issues and sidestep the rest
14267
14268         This was prompted by a bug report by Benjamin Lindner for MinGW
14269         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
14270         His bug is due to signed integer overflow (0 - INT_MIN), and I
14271         I scanned through mktime.c looking for other integer overflow
14272         problems, fixing all the bugs I found.
14273
14274         Although the C Standard says the resulting code is still not safe
14275         in the presence of integer overflow, in practice it should be good
14276         enough for all real-world two's-complement implementations, except
14277         for debugging environments that deliberately trap on integer
14278         overflow (e.g., gcc -ftrapv).
14279
14280         * lib/mktime.c (WRAPV): New macro.
14281         (SHR): Also check that long_int and time_t shift right in the
14282         usual way, before using the fast-but-unportable method.
14283         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
14284         used.  The code already assumed two's complement, so there's
14285         no need to test for alternatives.  All uses removed.
14286         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
14287         the C standard.  Problem reported by Rich Felker in
14288         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
14289         (twos_complement_arithmetic): Also check long_int and time_t.
14290         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
14291         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
14292         (__mktime_internal): Avoid integer overflow with unary subtraction
14293         in two instances where -1 - X is an adequate replacement for -X,
14294         since the calculations are approximate.
14295
14296 2011-01-29  Eric Blake  <eblake@redhat.com>
14297
14298         mktime: avoid infinite loop
14299         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
14300         type; behavior is still undefined but portable to all known targets.
14301         Reported by Rich Felker.
14302
14303 2011-01-29  Simon Josefsson  <simon@josefsson.org>
14304
14305         rename, unlink, same-inode: Relicense.
14306         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
14307         * modules/unlink (License): Likewise.
14308         * modules/same-inode (License): Likewise.
14309
14310 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14311
14312         mktime: avoid problems on NetBSD 5 / i386
14313         * lib/mktime.c (long_int): New type.  This works around a problem
14314         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
14315         but time_t is 64 bits, and where I expect the existing code is
14316         wrong in some cases.
14317         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
14318         (ydhms_diff): Bring back the compile-time check for wide-enough
14319         year and yday.
14320
14321         mktime: fix misspelling in comment
14322         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
14323         This merges all recent glibc changes of importance.
14324
14325 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14326
14327         move-if-change: cope with concurrent mv of identical file.
14328         * build-aux/move-if-change (CMPPROG): Accept environment
14329         variable as an override for `cmp'.
14330         (usage): Document CMPPROG.
14331         Adjust comparison to drop stdout.  Cope with failure of mv if
14332         the target file exists and is identical to the source, for
14333         parallel builds.
14334         Report from H.J. Lu against binutils in PR binutils/12283.
14335
14336 2011-01-28  Bruce Korb  <bkorb@gnu.org>
14337
14338         * users.txt: Mention sharutils.
14339
14340 2011-01-28  Simon Josefsson  <simon@josefsson.org>
14341
14342         * users.txt: Mention OATH Toolkit.
14343
14344 2011-01-27  Bruno Haible  <bruno@clisp.org>
14345
14346         Prepare for supporting FreeBSD 10.
14347         * build-aux/config.libpath: Remove handling of freebsd1*.
14348
14349 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
14350
14351         Prepare for supporting FreeBSD 10.
14352         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
14353         match FreeBSD 10.0.
14354
14355 2011-01-27  Bruno Haible  <bruno@clisp.org>
14356
14357         vma-iter, get-rusage-as: Add OpenBSD support.
14358         * modules/vma-iter (configure.ac): Test for mquery.
14359         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
14360         * lib/vma-iter.c: Include <sys/mman.h>.
14361         (vma_iterate): Add an implementation based on mquery().
14362         * lib/resource-ext.h (get_rusage_as): Update comments.
14363         * lib/get-rusage-as.c: Likewise.
14364         * lib/get-rusage-data.c: Likewise.
14365
14366 2011-01-26  Karl Berry  <karl@gnu.org>
14367
14368         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
14369         variables to make it easier to override the makeinfo program used.
14370
14371 2011-01-26  Eric Blake  <eblake@redhat.com>
14372
14373         fcntl: work around Haiku F_DUPFD bugs
14374         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
14375         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
14376         cloexec bit on duplication.
14377         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
14378
14379 2011-01-26  Bruno Haible  <bruno@clisp.org>
14380
14381         Enable memory leak tests on AIX.
14382         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
14383         * tests/test-fprintf-posix3.c (main): Likewise.
14384
14385 2011-01-26  Bruno Haible  <bruno@clisp.org>
14386
14387         Tests for module 'get-rusage-data'.
14388         * modules/get-rusage-data-tests: New file.
14389         * tests/test-get-rusage-data.c: New file.
14390
14391         New module 'get-rusage-data'.
14392         * lib/resource-ext.h (get_rusage_data): New declaration.
14393         * lib/get-rusage-data.c: New file.
14394         * modules/get-rusage-data: New file.
14395
14396 2011-01-25  Bruno Haible  <bruno@clisp.org>
14397
14398         get-rusage-as: Allow for easier testing.
14399         * lib/resource-ext.h (get_rusage_as): Add comment.
14400         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
14401         (main): New function for interactive testing.
14402
14403 2011-01-25  Bruno Haible  <bruno@clisp.org>
14404
14405         vma-iter: Treat Haiku like BeOS.
14406         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
14407         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
14408
14409 2011-01-25  Eric Blake  <eblake@redhat.com>
14410
14411         c-stack: fix regression on cygwin when libsigsegv is present
14412         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
14413
14414 2011-01-24  Bruno Haible  <bruno@clisp.org>
14415
14416         vma-iter: Avoid empty intervals.
14417         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
14418         on an empty interval.
14419
14420 2011-01-24  Jim Meyering  <meyering@redhat.com>
14421
14422         u64: remove unnecessary #include
14423         * lib/u64.h: Don't include <stddef.h>.  It was not used.
14424
14425 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14426
14427         Allow the user to avoid the HAVE_RAW_DECL_* macros.
14428         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
14429
14430 2011-01-23  Bruno Haible  <bruno@clisp.org>
14431
14432         New module 'vma-iter'.
14433         * lib/vma-iter.h: New file.
14434         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
14435         * modules/vma-iter: New file.
14436         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
14437         for get_rusage_as_via_iterator.
14438         (vma_iterate_callback): New function.
14439         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
14440         * modules/get-rusage-as (Depends-on): Add vma-iter.
14441
14442 2011-01-23  Bruno Haible  <bruno@clisp.org>
14443
14444         uninorm: Tweak includes.
14445         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
14446         Reported by Jim Meyering.
14447
14448 2011-01-23  Bruno Haible  <bruno@clisp.org>
14449
14450         get-rusage-as: Improve on NetBSD.
14451         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
14452         /proc, like on FreeBSD.
14453
14454 2011-01-23  Jim Meyering  <meyering@redhat.com>
14455
14456         xreadlink.h: remove unnecessary #include
14457         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
14458
14459         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
14460         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
14461
14462 2011-01-23  Bruno Haible  <bruno@clisp.org>
14463
14464         get-rusage-as: Fix bug.
14465         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
14466         original limit when aborting the first loop.
14467
14468 2011-01-23  Bruno Haible  <bruno@clisp.org>
14469
14470         wctype: Ensure valid C syntax.
14471         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
14472         unconditionally, instead of gl_NEXT_HEADERS conditionally.
14473
14474 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
14475
14476         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
14477         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
14478         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
14479         as they are needed only for configure's test case.
14480         This removes two unnecessary symbols from config.h.
14481
14482         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
14483         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
14484         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
14485         AC_CHECK_HEADERS_ONCE on a header that we also invoke
14486         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
14487         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
14488         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
14489         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14490         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
14491         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14492         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
14493         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14494         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14495         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14496         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14497         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14498         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
14499         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
14500
14501 2011-01-21  Eric Blake  <eblake@redhat.com>
14502
14503         maintainer-makefile: work with older git for submodule check
14504         * top/maint.mk (public-submodule-commit): Rewrite to avoid
14505         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
14506         Reported by Matthias Bolte.
14507
14508         bootstrap: minor portability fixes
14509         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
14510         (usage): Omit leading capital and trailing . on help phrases, per
14511         GNU Coding Standards.
14512         (check_versions, top level): Prefix messages with script name.
14513
14514 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
14515
14516         bootstrap: support --no-git option
14517         * build-aux/bootstrap: Add --no-git option, to be used when
14518         --gnulib-srcdir points to the exact desired checkout.
14519
14520 2011-01-21  Eric Blake  <eblake@redhat.com>
14521
14522         strerror_r-posix: work with glibc 2.13
14523         * lib/strerror_r.c (strerror_r): Fix return type.
14524
14525 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14526             Bruno Haible  <bruno@clisp.org>
14527
14528         uN_strstr: New unit tests.
14529         * modules/unistr/u8-strstr-tests: New file.
14530         * modules/unistr/u16-strstr-tests: New file.
14531         * modules/unistr/u32-strstr-tests: New file.
14532         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
14533         * tests/unistr/test-u8-strstr.c: New file.
14534         * tests/unistr/test-u16-strstr.c: New file.
14535         * tests/unistr/test-u32-strstr.c: New file.
14536
14537 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14538             Bruno Haible  <bruno@clisp.org>
14539
14540         Make uN_strstr functions O(n) worst-case.
14541         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
14542         16-bit and 32-bit unit cases, use the unibyte algorithm from
14543         lib/mbsstr.c.
14544         * lib/unistr/u8-strstr.c: Include <string.h>.
14545         (UNIT_IS_UINT8_T): New macro.
14546         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
14547         (U_STRLEN, U_STRNLEN): New macros.
14548         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
14549         (U_STRLEN, U_STRNLEN): New macros.
14550         * modules/unistr/u8-strstr (Depends-on): Add strstr.
14551         (configure.ac): Update required libunistring version.
14552         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
14553         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
14554         malloca.
14555         (configure.ac): Update required libunistring version.
14556         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
14557         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
14558         malloca.
14559         (configure.ac): Update required libunistring version.
14560
14561 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14562             Bruno Haible  <bruno@clisp.org>
14563
14564         Prepare for faster uN_strstr functions.
14565         * lib/str-kmp.h: Support definable UNITs.
14566         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
14567         needle_len argument.
14568         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
14569         * lib/mbscasestr.c (mbscasestr): Likewise.
14570
14571 2011-01-21  Pádraig Brady <P@draigBrady.com>
14572
14573         malloca-tests: make faster by unsetting MALLOC_PERTURB_
14574         * tests/test-malloca.c (main): Unset the environment variable
14575         to greatly speed up the test.
14576         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
14577         * modules/malloca-tests: Depend on unsetenv.
14578
14579 2011-01-21  Pádraig Brady <P@draigBrady.com>
14580
14581         ignore-value: remove stdint dependency
14582         * lib/ignore-value.h: Remove <stdint.h>
14583         * modules/ignore-value: Remove stdint dependency.
14584
14585 2011-01-21  Jim Meyering  <meyering@redhat.com>
14586
14587         maint.mk: adjust variable name to be consistent with other gl_ vars
14588         * top/maint.mk (gl_public_submodule_commit): Rename the variable
14589         to be lower case.
14590
14591 2011-01-20  Jim Meyering  <meyering@redhat.com>
14592
14593         maint.mk: make "check" depend on public-submodule-commit by default
14594         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
14595
14596 2011-01-20  Bruno Haible  <bruno@clisp.org>
14597
14598         mbfile, mbiter: Complete change from 2008-12-21.
14599         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
14600         * m4/mbiter.m4 (gl_MBITER): Likewise.
14601
14602 2011-01-20  Jim Meyering  <meyering@redhat.com>
14603
14604         init.sh: insert space between each function name and "()"
14605         * tests/init.sh: Make it a little easier to see that a function's
14606         name is "warn_", and not "warn" when looking at the first part of
14607         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
14608
14609 2011-01-20  Jim Meyering  <meyering@redhat.com>
14610
14611         mountlist: clean up code formatting
14612         * lib/mountlist.c (read_file_system_list): Split a long line,
14613         correct bracing style, use NULL in place of "(struct statfs *)0",
14614         don't parenthesize return value, add spaces around "=" and after
14615         ";-in-for-stmt".
14616
14617 2011-01-14  Markus Duft <mduft@gentoo.org>
14618
14619         mountlist: add support for Interix
14620         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
14621         Apply statvfs to all entries of /dev/fs.
14622         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
14623         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
14624
14625 2011-01-20  Jim Meyering  <meyering@redhat.com>
14626
14627         maint.mk: improve the public-submodule-commit rule
14628         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
14629         to suppress printing of its commands... unless V=1.
14630         Add git submodule's --quiet option to suppress printing of e.g.,
14631         "Entering gnulib" output.
14632         "cd" into $(srcdir) before running git submodule.
14633
14634 2011-01-20  Bruno Haible  <bruno@clisp.org>
14635
14636         include_next: Fix bug introduced on 2011-01-18.
14637         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
14638         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
14639         ac_cv_header_... variable if the second argument is not 'check'.
14640         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
14641         gl_NEXT_HEADERS_INTERNAL.
14642
14643 2011-01-20  Bruno Haible  <bruno@clisp.org>
14644
14645         Allow the user to avoid the GNULIB_TEST_* macros.
14646         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
14647         Suggested by Paul Eggert.
14648
14649 2011-01-14  Jim Meyering  <meyering@redhat.com>
14650
14651         bootstrap: avoid failure when there is no .gitmodules file
14652         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
14653         has been assigned to, even when its value is the empty string.
14654         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
14655         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
14656         Reported by John W. Eaton <jwe@gnu.org>.
14657
14658 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
14659
14660         assume <ctype.h>, ..., <time.h> exist
14661         For years gnulib has been assuming the existence of the headers
14662         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
14663         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
14664         them, since they don't appear to be needed.
14665         * README (Portability guidelines): Document this.
14666         * lib/flock.c: Assume <fcntl.h> exists.
14667         * lib/regex_internal.h: Assume <locale.h> exists.
14668         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
14669         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
14670         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
14671         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
14672         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
14673         * m4/regex.m4 (gl_REGEX): Likewise.
14674         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
14675         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
14676         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
14677         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
14678         * tests/test-argp.c: Likewise.
14679         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
14680
14681         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
14682         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
14683         AA_APPLE_UNIVERSAL_BUILD.  See
14684         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
14685         * NEWS: Document this.
14686
14687 2011-01-19  Eric Blake  <eblake@redhat.com>
14688
14689         c-stack: assume stack overflow if SA_SIGINFO unsupported
14690         * lib/c-stack.c (SIGACTION_WORKS): Rename...
14691         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
14692         sigaction will work.
14693         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
14694         behavior match Linux.
14695         * tests/test-c-stack.c (main): Prefer NULL for pointers.
14696
14697         stdbool-tests: accomodate Haiku
14698         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
14699
14700         binary-io: fix O_TEXT on Haiku
14701         * modules/binary-io (Depends-on): Add fcntl-h.
14702         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
14703         than blindly undefining O_TEXT.
14704         Reported by Scott McCreary.
14705
14706 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14707
14708         include_next: do not check for standard headers like stddef.h
14709
14710         I found this problem when modifying Emacs to use gnulib.
14711         I noticed that it added HAVE_STDDEF_H to config.h, even though
14712         gnulib always assumes <stddef.h> exists as per README and this
14713         symbol is unnecessary.
14714         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
14715         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
14716         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
14717         faster for headers like stddef.h that are known to exist.
14718         (gl_CHECK_NEXT_HEADERS): Use it.
14719         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
14720         rather than gl_CHECK_NEXT_HEADERS.
14721         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
14722         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
14723
14724 2011-01-18  Eric Blake  <eblake@redhat.com>
14725
14726         ansi-c++-opt: skip C++ dependency style if C++ is unused
14727         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
14728         tests when we know C++ compilation is not desired.
14729         Reported by Scott McCreary.
14730
14731 2011-01-18  Bruno Haible  <bruno@clisp.org>
14732
14733         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
14734         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
14735         (main): Perform test also when getrlimit and setrlimit don't exist or
14736         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
14737         limiting the address space size using setrlimit, compare the address
14738         space size before and after the the test.
14739         * tests/test-dprintf-posix2.c: Likewise.
14740         * tests/test-fprintf-posix3.sh: Update skip messages.
14741         * tests/test-dprintf-posix2.sh: Likewise.
14742         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
14743         * modules/dprintf-posix-tests (Depends-on): Likewise.
14744         Reported by Bruce Korb <bkorb@gnu.org> and
14745         Gary V. Vaughan <gary@gnu.org>.
14746
14747 2011-01-18  Bruno Haible  <bruno@clisp.org>
14748
14749         get-rusage-as: Improvement for Cygwin.
14750         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
14751         areas that are merely reserved.
14752
14753 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14754
14755         strftime: remove dependencies on multibyte modules
14756
14757         strftime depended on mbrlen, mbsinit, and wchar, but these modules
14758         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
14759         only if __osf__ is defined, and I suspect OSF doesn't need these
14760         other modules.  If my guess is wrong, we'll need to come up with a
14761         variant of strftime that doesn't need the multibyte modules.
14762
14763         I discovered this problem when attempting modify Emacs to use the
14764         strftime module.  With the previous gnulib, this caused Emacs to
14765         need 31 new files, ranging from lib/config.charset to
14766         m4/wint_t.m4.  This was overkill and I expect would be offputting
14767         to the Emacs maintainers.  After this change, only 6 new files are
14768         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
14769         stdbool.m4, and tm_gmtoff.m4.
14770
14771         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
14772         Suggested by Bruno Haible in
14773         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
14774         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
14775         and do not check for wchar.h.
14776         * modules/strftime (Files): Remove m4/mbstate_t.m4.
14777         (Depends-on): Remove mbrlen, mbsinit, wchar.
14778
14779 2011-01-18  Bruno Haible  <bruno@clisp.org>
14780
14781         Tests for module 'get-rusage-as'.
14782         * modules/get-rusage-as-tests: New file.
14783         * tests/test-get-rusage-as.c: New file.
14784
14785         New module 'get-rusage-as'.
14786         * modules/get-rusage-as: New file.
14787         * lib/resource-ext.h: New file.
14788         * lib/get-rusage-as.c: New file.
14789
14790 2011-01-17  Eric Blake  <eblake@redhat.com>
14791
14792         sigaction: relax license from LGPLv3+ to LGPLv2+
14793         * modules/sigaction (License): Relax to LGPLv2+.
14794
14795 2011-01-14  Bruno Haible  <bruno@clisp.org>
14796
14797         filemode: Make function declarations usable in C++ mode.
14798         * lib/filemode.h: Enclose function declarations in extern "C" block.
14799         Reported by John W. Eaton <jwe@gnu.org>.
14800
14801 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
14802
14803         save-cwd: no longer include "xgetcwd.h"
14804         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
14805         This avoids a compilation failure in projects that use save-cwd
14806         without also using the xgetcwd module.
14807
14808 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
14809
14810         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
14811         This is so that a program like Emacs, which needs only dtoastr,
14812         does not have to bother with distributing and compiling ftoastr
14813         and ldtoastr.
14814         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
14815         * modules/dtoastr, modules/ldtoastr: New files.
14816         * modules/ftoastr: Now works just for 'float'.
14817         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
14818         (Makefile.am): Remove ftoastr.h (not needed and no effect),
14819         dtoastr.c, ldtoastr.c.
14820
14821 2011-01-11  Jim Meyering  <meyering@redhat.com>
14822
14823         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
14824         There is no need to work around the lack of the fchdir function,
14825         since gnulib can now provide a replacement when required.
14826         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
14827         * modules/save-cwd (Depends-on): Add fchdir.
14828
14829 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
14830
14831         openat, save-cwd: avoid xmalloc
14832
14833         This removes a direct (but undocumented) dependency of openat on
14834         xalloc, along with an indirect dependency via save-cwd.  It also
14835         removes a dependency of save-cwd on xgetcwd, and thereby
14836         indirectly on xalloc.  This change causes the openat substitute
14837         to fall back on save_cwd when memory is tight, and for save_cwd to
14838         fail instead of dying when memory is tight, but that's good enough.
14839         Problem and initial idea for fix reported by Bastien Roucaries in
14840         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
14841
14842         * lib/openat-proc.c: Include stdlib.h (for malloc), not
14843         xalloc.h (for xmalloc).
14844         (openat_proc_name): Use malloc, not xmalloc.
14845         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
14846         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
14847
14848         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
14849         This avoids heap allocation for file names whose lengths are in
14850         the range 512..1023, with the upper bound increasing to at most
14851         4031 depending on the platform's PATH_MAX.  (We do not want
14852         pathmax.h here as it might supply a non-constant PATH_MAX.)
14853         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
14854         Perhaps they should be moved to malloca.h?
14855         (OPENAT_BUFFER_SIZE): Use them.
14856
14857 2011-01-10  Bruno Haible  <bruno@clisp.org>
14858
14859         doc: Update users.txt.
14860         * users.txt: Add recutils.
14861
14862 2011-01-09  Karl Berry  <karl@gnu.org>
14863
14864         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
14865
14866         * doc/configmake.texi: New file.
14867         * doc/gnulib.texi: Include it.
14868         * modules/configmake: Move documentation from here.
14869
14870 2011-01-09  Bruno Haible  <bruno@clisp.org>
14871
14872         Update to Unicode 6.0.0.
14873         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
14874         (get_lbp): Update for Unicode 6.0.0.
14875         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
14876         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
14877         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
14878         U+11001, U+11038..U+11046. Remove U+06DE.
14879         (uc_width): Fix bounds of planes.
14880         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14881         lib/uniwidth/width.c.
14882         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
14883         trailing whitespace removed.
14884         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
14885         without comments, but with the original copyright notice.
14886         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
14887         * lib/unicase/ignorable.h: Likewise.
14888         * lib/unicase/tocasefold.h: Likewise.
14889         * lib/unicase/tolower.h: Likewise.
14890         * lib/unicase/totitle.h: Likewise.
14891         * lib/unicase/toupper.h: Likewise.
14892         * lib/unictype/bidi_of.h: Likewise.
14893         * lib/unictype/blocks.h: Likewise.
14894         * lib/unictype/categ_C.h: Likewise.
14895         * lib/unictype/categ_Cn.h: Likewise.
14896         * lib/unictype/categ_L.h: Likewise.
14897         * lib/unictype/categ_Ll.h: Likewise.
14898         * lib/unictype/categ_Lm.h: Likewise.
14899         * lib/unictype/categ_Lo.h: Likewise.
14900         * lib/unictype/categ_Lu.h: Likewise.
14901         * lib/unictype/categ_M.h: Likewise.
14902         * lib/unictype/categ_Mc.h: Likewise.
14903         * lib/unictype/categ_Me.h: Likewise.
14904         * lib/unictype/categ_Mn.h: Likewise.
14905         * lib/unictype/categ_N.h: Likewise.
14906         * lib/unictype/categ_Nd.h: Likewise.
14907         * lib/unictype/categ_No.h: Likewise.
14908         * lib/unictype/categ_P.h: Likewise.
14909         * lib/unictype/categ_Po.h: Likewise.
14910         * lib/unictype/categ_S.h: Likewise.
14911         * lib/unictype/categ_Sc.h: Likewise.
14912         * lib/unictype/categ_Sk.h: Likewise.
14913         * lib/unictype/categ_Sm.h: Likewise.
14914         * lib/unictype/categ_So.h: Likewise.
14915         * lib/unictype/categ_of.h: Likewise.
14916         * lib/unictype/combining.h: Likewise.
14917         * lib/unictype/ctype_alnum.h: Likewise.
14918         * lib/unictype/ctype_alpha.h: Likewise.
14919         * lib/unictype/ctype_graph.h: Likewise.
14920         * lib/unictype/ctype_lower.h: Likewise.
14921         * lib/unictype/ctype_print.h: Likewise.
14922         * lib/unictype/ctype_punct.h: Likewise.
14923         * lib/unictype/ctype_upper.h: Likewise.
14924         * lib/unictype/decdigit.h: Likewise.
14925         * lib/unictype/digit.h: Likewise.
14926         * lib/unictype/numeric.h: Likewise.
14927         * lib/unictype/pr_alphabetic.h: Likewise.
14928         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
14929         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
14930         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
14931         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
14932         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
14933         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
14934         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
14935         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
14936         * lib/unictype/pr_case_ignorable.h: Likewise.
14937         * lib/unictype/pr_cased.h: Likewise.
14938         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
14939         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
14940         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
14941         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
14942         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
14943         * lib/unictype/pr_combining.h: Likewise.
14944         * lib/unictype/pr_composite.h: Likewise.
14945         * lib/unictype/pr_currency_symbol.h: Likewise.
14946         * lib/unictype/pr_decimal_digit.h: Likewise.
14947         * lib/unictype/pr_deprecated.h: Likewise.
14948         * lib/unictype/pr_format_control.h: Likewise.
14949         * lib/unictype/pr_grapheme_base.h: Likewise.
14950         * lib/unictype/pr_grapheme_extend.h: Likewise.
14951         * lib/unictype/pr_grapheme_link.h: Likewise.
14952         * lib/unictype/pr_id_continue.h: Likewise.
14953         * lib/unictype/pr_id_start.h: Likewise.
14954         * lib/unictype/pr_ideographic.h: Likewise.
14955         * lib/unictype/pr_lowercase.h: Likewise.
14956         * lib/unictype/pr_math.h: Likewise.
14957         * lib/unictype/pr_numeric.h: Likewise.
14958         * lib/unictype/pr_other_alphabetic.h: Likewise.
14959         * lib/unictype/pr_other_id_continue.h: Likewise.
14960         * lib/unictype/pr_other_math.h: Likewise.
14961         * lib/unictype/pr_punctuation.h: Likewise.
14962         * lib/unictype/pr_sentence_terminal.h: Likewise.
14963         * lib/unictype/pr_terminal_punctuation.h: Likewise.
14964         * lib/unictype/pr_unassigned_code_value.h: Likewise.
14965         * lib/unictype/pr_unified_ideograph.h: Likewise.
14966         * lib/unictype/pr_uppercase.h: Likewise.
14967         * lib/unictype/pr_xid_continue.h: Likewise.
14968         * lib/unictype/pr_xid_start.h: Likewise.
14969         * lib/unictype/scripts.h: Likewise.
14970         * lib/unictype/scripts_byname.gperf: Likewise.
14971         * lib/unictype/sy_java_ident.h: Likewise.
14972         * lib/unigbrk/gbrkprop.h: Likewise.
14973         * lib/unilbrk/lbrkprop1.h: Likewise.
14974         * lib/unilbrk/lbrkprop2.h: Likewise.
14975         * lib/uninorm/decomposition-table2.h: Likewise.
14976         * lib/uniwbrk/wbrkprop.h: Likewise.
14977         * tests/unicase/test-cased.c: Likewise.
14978         * tests/unicase/test-ignorable.c: Likewise.
14979         * tests/unicase/test-uc_tolower.c: Likewise.
14980         * tests/unicase/test-uc_totitle.c: Likewise.
14981         * tests/unicase/test-uc_toupper.c: Likewise.
14982         * tests/unictype/test-categ_C.c: Likewise.
14983         * tests/unictype/test-categ_Cn.c: Likewise.
14984         * tests/unictype/test-categ_L.c: Likewise.
14985         * tests/unictype/test-categ_Ll.c: Likewise.
14986         * tests/unictype/test-categ_Lm.c: Likewise.
14987         * tests/unictype/test-categ_Lo.c: Likewise.
14988         * tests/unictype/test-categ_Lu.c: Likewise.
14989         * tests/unictype/test-categ_M.c: Likewise.
14990         * tests/unictype/test-categ_Mc.c: Likewise.
14991         * tests/unictype/test-categ_Me.c: Likewise.
14992         * tests/unictype/test-categ_Mn.c: Likewise.
14993         * tests/unictype/test-categ_N.c: Likewise.
14994         * tests/unictype/test-categ_Nd.c: Likewise.
14995         * tests/unictype/test-categ_No.c: Likewise.
14996         * tests/unictype/test-categ_P.c: Likewise.
14997         * tests/unictype/test-categ_Po.c: Likewise.
14998         * tests/unictype/test-categ_S.c: Likewise.
14999         * tests/unictype/test-categ_Sc.c: Likewise.
15000         * tests/unictype/test-categ_Sk.c: Likewise.
15001         * tests/unictype/test-categ_Sm.c: Likewise.
15002         * tests/unictype/test-categ_So.c: Likewise.
15003         * tests/unictype/test-ctype_alnum.c: Likewise.
15004         * tests/unictype/test-ctype_alpha.c: Likewise.
15005         * tests/unictype/test-ctype_graph.c: Likewise.
15006         * tests/unictype/test-ctype_lower.c: Likewise.
15007         * tests/unictype/test-ctype_print.c: Likewise.
15008         * tests/unictype/test-ctype_punct.c: Likewise.
15009         * tests/unictype/test-ctype_upper.c: Likewise.
15010         * tests/unictype/test-decdigit.h: Likewise.
15011         * tests/unictype/test-digit.h: Likewise.
15012         * tests/unictype/test-numeric.h: Likewise.
15013         * tests/unictype/test-pr_alphabetic.c: Likewise.
15014         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15015         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
15016         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
15017         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15018         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15019         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15020         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15021         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15022         * tests/unictype/test-pr_case_ignorable.c: Likewise.
15023         * tests/unictype/test-pr_cased.c: Likewise.
15024         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
15025         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
15026         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
15027         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
15028         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
15029         * tests/unictype/test-pr_combining.c: Likewise.
15030         * tests/unictype/test-pr_composite.c: Likewise.
15031         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15032         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15033         * tests/unictype/test-pr_deprecated.c: Likewise.
15034         * tests/unictype/test-pr_format_control.c: Likewise.
15035         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15036         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15037         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15038         * tests/unictype/test-pr_id_continue.c: Likewise.
15039         * tests/unictype/test-pr_id_start.c: Likewise.
15040         * tests/unictype/test-pr_ideographic.c: Likewise.
15041         * tests/unictype/test-pr_lowercase.c: Likewise.
15042         * tests/unictype/test-pr_math.c: Likewise.
15043         * tests/unictype/test-pr_numeric.c: Likewise.
15044         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15045         * tests/unictype/test-pr_other_id_continue.c: Likewise.
15046         * tests/unictype/test-pr_other_math.c: Likewise.
15047         * tests/unictype/test-pr_punctuation.c: Likewise.
15048         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15049         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15050         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15051         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15052         * tests/unictype/test-pr_uppercase.c: Likewise.
15053         * tests/unictype/test-pr_xid_continue.c: Likewise.
15054         * tests/unictype/test-pr_xid_start.c: Likewise.
15055         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15056         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15057         changes.
15058         * lib/unictype/categ_Cc.h: Likewise.
15059         * lib/unictype/categ_Cf.h: Likewise.
15060         * lib/unictype/categ_Co.h: Likewise.
15061         * lib/unictype/categ_Cs.h: Likewise.
15062         * lib/unictype/categ_Lt.h: Likewise.
15063         * lib/unictype/categ_Nl.h: Likewise.
15064         * lib/unictype/categ_Pc.h: Likewise.
15065         * lib/unictype/categ_Pd.h: Likewise.
15066         * lib/unictype/categ_Pe.h: Likewise.
15067         * lib/unictype/categ_Pf.h: Likewise.
15068         * lib/unictype/categ_Pi.h: Likewise.
15069         * lib/unictype/categ_Ps.h: Likewise.
15070         * lib/unictype/categ_Z.h: Likewise.
15071         * lib/unictype/categ_Zl.h: Likewise.
15072         * lib/unictype/categ_Zp.h: Likewise.
15073         * lib/unictype/categ_Zs.h: Likewise.
15074         * lib/unictype/ctype_blank.h: Likewise.
15075         * lib/unictype/ctype_cntrl.h: Likewise.
15076         * lib/unictype/ctype_digit.h: Likewise.
15077         * lib/unictype/ctype_space.h: Likewise.
15078         * lib/unictype/ctype_xdigit.h: Likewise.
15079         * lib/unictype/mirror.h: Likewise.
15080         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15081         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15082         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15083         * lib/unictype/pr_bidi_control.h: Likewise.
15084         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15085         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15086         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15087         * lib/unictype/pr_bidi_pdf.h: Likewise.
15088         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15089         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15090         * lib/unictype/pr_dash.h: Likewise.
15091         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15092         * lib/unictype/pr_diacritic.h: Likewise.
15093         * lib/unictype/pr_extender.h: Likewise.
15094         * lib/unictype/pr_hex_digit.h: Likewise.
15095         * lib/unictype/pr_hyphen.h: Likewise.
15096         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15097         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15098         * lib/unictype/pr_ignorable_control.h: Likewise.
15099         * lib/unictype/pr_iso_control.h: Likewise.
15100         * lib/unictype/pr_join_control.h: Likewise.
15101         * lib/unictype/pr_left_of_pair.h: Likewise.
15102         * lib/unictype/pr_line_separator.h: Likewise.
15103         * lib/unictype/pr_logical_order_exception.h: Likewise.
15104         * lib/unictype/pr_non_break.h: Likewise.
15105         * lib/unictype/pr_not_a_character.h: Likewise.
15106         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15107         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15108         * lib/unictype/pr_other_id_start.h: Likewise.
15109         * lib/unictype/pr_other_lowercase.h: Likewise.
15110         * lib/unictype/pr_other_uppercase.h: Likewise.
15111         * lib/unictype/pr_paired_punctuation.h: Likewise.
15112         * lib/unictype/pr_paragraph_separator.h: Likewise.
15113         * lib/unictype/pr_pattern_syntax.h: Likewise.
15114         * lib/unictype/pr_pattern_white_space.h: Likewise.
15115         * lib/unictype/pr_private_use.h: Likewise.
15116         * lib/unictype/pr_quotation_mark.h: Likewise.
15117         * lib/unictype/pr_radical.h: Likewise.
15118         * lib/unictype/pr_soft_dotted.h: Likewise.
15119         * lib/unictype/pr_space.h: Likewise.
15120         * lib/unictype/pr_titlecase.h: Likewise.
15121         * lib/unictype/pr_variation_selector.h: Likewise.
15122         * lib/unictype/pr_white_space.h: Likewise.
15123         * lib/unictype/pr_zero_width.h: Likewise.
15124         * lib/unictype/sy_c_ident.h: Likewise.
15125         * lib/unictype/sy_c_whitespace.h: Likewise.
15126         * lib/unictype/sy_java_whitespace.h: Likewise.
15127         * lib/uninorm/composition-table.gperf: Likewise.
15128         * lib/uninorm/decomposition-table1.h: Likewise.
15129         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
15130         LB8.
15131         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15132         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15133         * modules/unictype/*: Bump version number of expected libunistring
15134         version.
15135
15136 2011-01-09  Bruno Haible  <bruno@clisp.org>
15137
15138         Update to Unicode 5.2.0.
15139         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
15140         trailing whitespace removed.
15141
15142 2011-01-09  Bruno Haible  <bruno@clisp.org>
15143
15144         New Unicode character properties, from Unicode 5.2.0.
15145         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
15146         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
15147         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
15148         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
15149         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
15150         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
15151         uc_is_property_cased, uc_is_property_case_ignorable,
15152         uc_is_property_changes_when_lowercased,
15153         uc_is_property_changes_when_uppercased,
15154         uc_is_property_changes_when_titlecased,
15155         uc_is_property_changes_when_casefolded,
15156         uc_is_property_changes_when_casemapped): New declarations.
15157         * lib/unictype/pr_byname.gperf: Add the new properties.
15158         * modules/unictype/property-byname (Depends-on): Depend on the new
15159         properties modules.
15160         * modules/unictype/property-all (Depends-on): Likewise.
15161         * MODULES.html.sh (Unicode string functions): Add
15162         unictype/property-case-ignorable, unictype/property-cased,
15163         unictype/property-changes-when-casefolded,
15164         unictype/property-changes-when-casemapped,
15165         unictype/property-changes-when-lowercased,
15166         unictype/property-changes-when-titlecased,
15167         unictype/property-changes-when-uppercased.
15168
15169         New module 'unictype/property-changes-when-casemapped'.
15170         * modules/unictype/property-changes-when-casemapped: New file.
15171         * lib/unictype/pr_changes_when_casemapped.c: New file.
15172         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
15173         generated by gen-uni-tables.
15174         * modules/unictype/property-changes-when-casemapped-tests: New file.
15175         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
15176         automatically generated by gen-uni-tables.
15177
15178         New module 'unictype/property-changes-when-casefolded'.
15179         * modules/unictype/property-changes-when-casefolded: New file.
15180         * lib/unictype/pr_changes_when_casefolded.c: New file.
15181         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
15182         generated by gen-uni-tables.
15183         * modules/unictype/property-changes-when-casefolded-tests: New file.
15184         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
15185         automatically generated by gen-uni-tables.
15186
15187         New module 'unictype/property-changes-when-titlecased'.
15188         * modules/unictype/property-changes-when-titlecased: New file.
15189         * lib/unictype/pr_changes_when_titlecased.c: New file.
15190         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
15191         generated by gen-uni-tables.
15192         * modules/unictype/property-changes-when-titlecased-tests: New file.
15193         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
15194         automatically generated by gen-uni-tables.
15195
15196         New module 'unictype/property-changes-when-uppercased'.
15197         * modules/unictype/property-changes-when-uppercased: New file.
15198         * lib/unictype/pr_changes_when_uppercased.c: New file.
15199         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
15200         generated by gen-uni-tables.
15201         * modules/unictype/property-changes-when-uppercased-tests: New file.
15202         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
15203         automatically generated by gen-uni-tables.
15204
15205         New module 'unictype/property-changes-when-lowercased'.
15206         * modules/unictype/property-changes-when-lowercased: New file.
15207         * lib/unictype/pr_changes_when_lowercased.c: New file.
15208         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
15209         generated by gen-uni-tables.
15210         * modules/unictype/property-changes-when-lowercased-tests: New file.
15211         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
15212         automatically generated by gen-uni-tables.
15213
15214         New module 'unictype/property-case-ignorable'.
15215         * modules/unictype/property-case-ignorable: New file.
15216         * lib/unictype/pr_case_ignorable.c: New file.
15217         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
15218         by gen-uni-tables.
15219         * modules/unictype/property-case-ignorable-tests: New file.
15220         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
15221         generated by gen-uni-tables.
15222
15223         New module 'unictype/property-cased'.
15224         * modules/unictype/property-cased: New file.
15225         * lib/unictype/pr_cased.c: New file.
15226         * lib/unictype/pr_cased.h: New file, automatically generated by
15227         gen-uni-tables.
15228         * modules/unictype/property-cased-tests: New file.
15229         * tests/unictype/test-pr_cased.c: New file, automatically generated by
15230         gen-uni-tables.
15231
15232 2011-01-09  Bruno Haible  <bruno@clisp.org>
15233
15234         Update to Unicode 5.2.0.
15235         * lib/gen-uni-tables.c (output_predicate, output_category,
15236         output_combclass, output_bidi_category, output_decimal_digit_test,
15237         output_decimal_digit, output_digit_test, output_digit,
15238         output_numeric_test, output_numeric, output_mirror, output_scripts,
15239         output_scripts_byname, output_blocks, output_ident_category): Fix
15240         comment header.
15241         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
15242         get_wbp.
15243         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
15244         items.
15245         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
15246         Changes_When_Lowercased, Changes_When_Uppercased,
15247         Changes_When_Titlecased, Changes_When_Casefolded,
15248         Changes_When_Casemapped.
15249         (is_property_alphabetic, is_property_default_ignorable_code_point):
15250         Update for Unicode 5.2.0.
15251         (is_property_cased, is_property_case_ignorable,
15252         is_property_changes_when_lowercased,
15253         is_property_changes_when_uppercased,
15254         is_property_changes_when_titlecased,
15255         is_property_changes_when_casefolded,
15256         is_property_changes_when_casemapped): New functions.
15257         (output_properties): Output also the properties cased, case_ignorable,
15258         changes_when_lowercased, changes_when_uppercased,
15259         changes_when_titlecased, changes_when_casefolded,
15260         changes_when_casemapped.
15261         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
15262         Unicode TR#11 revision 17 -> 19.
15263         (LBP_CP): New enumeration value.
15264         (LBP_*): Adjust values accordingly.
15265         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15266         TR#14 revision 22 -> 24.
15267         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
15268         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
15269         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15270         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
15271         is_WBP_MIDLETTER.
15272         (output_composition_tables): Allow for 24 bits instead of 16 bits in
15273         the code1 and code2 of each composition rule.
15274         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
15275         * lib/unicase/ignorable.h: Likewise.
15276         * lib/unicase/tocasefold.h: Likewise.
15277         * lib/unicase/tolower.h: Likewise.
15278         * lib/unicase/totitle.h: Likewise.
15279         * lib/unicase/toupper.h: Likewise.
15280         * lib/unictype/bidi_of.h: Likewise.
15281         * lib/unictype/blocks.h: Likewise.
15282         * lib/unictype/categ_C.h: Likewise.
15283         * lib/unictype/categ_Cf.h: Likewise.
15284         * lib/unictype/categ_Cn.h: Likewise.
15285         * lib/unictype/categ_L.h: Likewise.
15286         * lib/unictype/categ_Ll.h: Likewise.
15287         * lib/unictype/categ_Lm.h: Likewise.
15288         * lib/unictype/categ_Lo.h: Likewise.
15289         * lib/unictype/categ_Lu.h: Likewise.
15290         * lib/unictype/categ_M.h: Likewise.
15291         * lib/unictype/categ_Mc.h: Likewise.
15292         * lib/unictype/categ_Mn.h: Likewise.
15293         * lib/unictype/categ_N.h: Likewise.
15294         * lib/unictype/categ_Nd.h: Likewise.
15295         * lib/unictype/categ_Nl.h: Likewise.
15296         * lib/unictype/categ_No.h: Likewise.
15297         * lib/unictype/categ_P.h: Likewise.
15298         * lib/unictype/categ_Pd.h: Likewise.
15299         * lib/unictype/categ_Po.h: Likewise.
15300         * lib/unictype/categ_S.h: Likewise.
15301         * lib/unictype/categ_Sc.h: Likewise.
15302         * lib/unictype/categ_So.h: Likewise.
15303         * lib/unictype/categ_of.h: Likewise.
15304         * lib/unictype/combining.h: Likewise.
15305         * lib/unictype/ctype_alnum.h: Likewise.
15306         * lib/unictype/ctype_alpha.h: Likewise.
15307         * lib/unictype/ctype_graph.h: Likewise.
15308         * lib/unictype/ctype_lower.h: Likewise.
15309         * lib/unictype/ctype_print.h: Likewise.
15310         * lib/unictype/ctype_punct.h: Likewise.
15311         * lib/unictype/ctype_upper.h: Likewise.
15312         * lib/unictype/decdigit.h: Likewise.
15313         * lib/unictype/digit.h: Likewise.
15314         * lib/unictype/numeric.h: Likewise.
15315         * lib/unictype/pr_alphabetic.h: Likewise.
15316         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15317         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15318         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15319         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15320         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15321         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15322         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15323         * lib/unictype/pr_combining.h: Likewise.
15324         * lib/unictype/pr_composite.h: Likewise.
15325         * lib/unictype/pr_currency_symbol.h: Likewise.
15326         * lib/unictype/pr_dash.h: Likewise.
15327         * lib/unictype/pr_decimal_digit.h: Likewise.
15328         * lib/unictype/pr_deprecated.h: Likewise.
15329         * lib/unictype/pr_diacritic.h: Likewise.
15330         * lib/unictype/pr_extender.h: Likewise.
15331         * lib/unictype/pr_grapheme_base.h: Likewise.
15332         * lib/unictype/pr_grapheme_extend.h: Likewise.
15333         * lib/unictype/pr_grapheme_link.h: Likewise.
15334         * lib/unictype/pr_id_continue.h: Likewise.
15335         * lib/unictype/pr_id_start.h: Likewise.
15336         * lib/unictype/pr_ideographic.h: Likewise.
15337         * lib/unictype/pr_ignorable_control.h: Likewise.
15338         * lib/unictype/pr_logical_order_exception.h: Likewise.
15339         * lib/unictype/pr_lowercase.h: Likewise.
15340         * lib/unictype/pr_numeric.h: Likewise.
15341         * lib/unictype/pr_other_alphabetic.h: Likewise.
15342         * lib/unictype/pr_punctuation.h: Likewise.
15343         * lib/unictype/pr_sentence_terminal.h: Likewise.
15344         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15345         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15346         * lib/unictype/pr_unified_ideograph.h: Likewise.
15347         * lib/unictype/pr_uppercase.h: Likewise.
15348         * lib/unictype/pr_xid_continue.h: Likewise.
15349         * lib/unictype/pr_xid_start.h: Likewise.
15350         * lib/unictype/pr_zero_width.h: Likewise.
15351         * lib/unictype/scripts.h: Likewise.
15352         * lib/unictype/scripts_byname.gperf: Likewise.
15353         * lib/unictype/sy_java_ident.h: Likewise.
15354         * lib/unigbrk/gbrkprop.h: Likewise.
15355         * lib/unilbrk/lbrkprop1.h: Likewise.
15356         * lib/unilbrk/lbrkprop2.h: Likewise.
15357         * lib/unilbrk/lbrktables.h: Likewise.
15358         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
15359         LBP_CP. Implement rule LB30.
15360         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
15361         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
15362         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
15363         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
15364         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
15365         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
15366         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
15367         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
15368         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
15369         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
15370         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
15371         bits instead of 16 bits in the code1 and code2 of each composition
15372         rule.
15373         (uc_composition): Update for Unicode 5.2.0.
15374         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
15375         * lib/uninorm/decomposition-table2.h: Likewise.
15376         * lib/uniwbrk/wbrkprop.h: Likewise.
15377         * tests/unicase/test-cased.c: Likewise.
15378         * tests/unicase/test-ignorable.c: Likewise.
15379         * tests/unicase/test-uc_tolower.c: Likewise.
15380         * tests/unicase/test-uc_totitle.c: Likewise.
15381         * tests/unicase/test-uc_toupper.c: Likewise.
15382         * tests/unictype/test-categ_C.c: Likewise.
15383         * tests/unictype/test-categ_Cf.c: Likewise.
15384         * tests/unictype/test-categ_Cn.c: Likewise.
15385         * tests/unictype/test-categ_L.c: Likewise.
15386         * tests/unictype/test-categ_Ll.c: Likewise.
15387         * tests/unictype/test-categ_Lm.c: Likewise.
15388         * tests/unictype/test-categ_Lo.c: Likewise.
15389         * tests/unictype/test-categ_Lu.c: Likewise.
15390         * tests/unictype/test-categ_M.c: Likewise.
15391         * tests/unictype/test-categ_Mc.c: Likewise.
15392         * tests/unictype/test-categ_Mn.c: Likewise.
15393         * tests/unictype/test-categ_N.c: Likewise.
15394         * tests/unictype/test-categ_Nd.c: Likewise.
15395         * tests/unictype/test-categ_Nl.c: Likewise.
15396         * tests/unictype/test-categ_No.c: Likewise.
15397         * tests/unictype/test-categ_P.c: Likewise.
15398         * tests/unictype/test-categ_Pd.c: Likewise.
15399         * tests/unictype/test-categ_Po.c: Likewise.
15400         * tests/unictype/test-categ_S.c: Likewise.
15401         * tests/unictype/test-categ_Sc.c: Likewise.
15402         * tests/unictype/test-categ_So.c: Likewise.
15403         * tests/unictype/test-ctype_alnum.c: Likewise.
15404         * tests/unictype/test-ctype_alpha.c: Likewise.
15405         * tests/unictype/test-ctype_graph.c: Likewise.
15406         * tests/unictype/test-ctype_lower.c: Likewise.
15407         * tests/unictype/test-ctype_print.c: Likewise.
15408         * tests/unictype/test-ctype_punct.c: Likewise.
15409         * tests/unictype/test-ctype_upper.c: Likewise.
15410         * tests/unictype/test-decdigit.h: Likewise.
15411         * tests/unictype/test-digit.h: Likewise.
15412         * tests/unictype/test-numeric.h: Likewise.
15413         * tests/unictype/test-pr_alphabetic.c: Likewise.
15414         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15415         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15416         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
15417         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15418         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15419         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15420         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15421         * tests/unictype/test-pr_combining.c: Likewise.
15422         * tests/unictype/test-pr_composite.c: Likewise.
15423         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15424         * tests/unictype/test-pr_dash.c: Likewise.
15425         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15426         * tests/unictype/test-pr_deprecated.c: Likewise.
15427         * tests/unictype/test-pr_diacritic.c: Likewise.
15428         * tests/unictype/test-pr_extender.c: Likewise.
15429         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15430         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15431         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15432         * tests/unictype/test-pr_id_continue.c: Likewise.
15433         * tests/unictype/test-pr_id_start.c: Likewise.
15434         * tests/unictype/test-pr_ideographic.c: Likewise.
15435         * tests/unictype/test-pr_ignorable_control.c: Likewise.
15436         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
15437         * tests/unictype/test-pr_lowercase.c: Likewise.
15438         * tests/unictype/test-pr_numeric.c: Likewise.
15439         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15440         * tests/unictype/test-pr_punctuation.c: Likewise.
15441         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15442         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15443         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15444         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15445         * tests/unictype/test-pr_uppercase.c: Likewise.
15446         * tests/unictype/test-pr_xid_continue.c: Likewise.
15447         * tests/unictype/test-pr_xid_start.c: Likewise.
15448         * tests/unictype/test-pr_zero_width.c: Likewise.
15449         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15450         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
15451         changed behaviour: line breaking is now disallowed between a letter
15452         or '=' and '('.
15453         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15454         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15455         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
15456         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
15457         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15458         lib/uniwidth/width.c.
15459         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
15460         without comments, but with the original copyright notice.
15461         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15462         changes.
15463         * lib/unictype/categ_Cc.h: Likewise.
15464         * lib/unictype/categ_Co.h: Likewise.
15465         * lib/unictype/categ_Cs.h: Likewise.
15466         * lib/unictype/categ_Lt.h: Likewise.
15467         * lib/unictype/categ_Me.h: Likewise.
15468         * lib/unictype/categ_Pc.h: Likewise.
15469         * lib/unictype/categ_Pe.h: Likewise.
15470         * lib/unictype/categ_Pf.h: Likewise.
15471         * lib/unictype/categ_Pi.h: Likewise.
15472         * lib/unictype/categ_Ps.h: Likewise.
15473         * lib/unictype/categ_Sk.h: Likewise.
15474         * lib/unictype/categ_Sm.h: Likewise.
15475         * lib/unictype/categ_Z.h: Likewise.
15476         * lib/unictype/categ_Zl.h: Likewise.
15477         * lib/unictype/categ_Zp.h: Likewise.
15478         * lib/unictype/categ_Zs.h: Likewise.
15479         * lib/unictype/ctype_blank.h: Likewise.
15480         * lib/unictype/ctype_cntrl.h: Likewise.
15481         * lib/unictype/ctype_digit.h: Likewise.
15482         * lib/unictype/ctype_space.h: Likewise.
15483         * lib/unictype/ctype_xdigit.h: Likewise.
15484         * lib/unictype/mirror.h: Likewise.
15485         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15486         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15487         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15488         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15489         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15490         * lib/unictype/pr_bidi_control.h: Likewise.
15491         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15492         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15493         * lib/unictype/pr_bidi_pdf.h: Likewise.
15494         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15495         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15496         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15497         * lib/unictype/pr_format_control.h: Likewise.
15498         * lib/unictype/pr_hex_digit.h: Likewise.
15499         * lib/unictype/pr_hyphen.h: Likewise.
15500         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15501         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15502         * lib/unictype/pr_iso_control.h: Likewise.
15503         * lib/unictype/pr_join_control.h: Likewise.
15504         * lib/unictype/pr_left_of_pair.h: Likewise.
15505         * lib/unictype/pr_line_separator.h: Likewise.
15506         * lib/unictype/pr_math.h: Likewise.
15507         * lib/unictype/pr_non_break.h: Likewise.
15508         * lib/unictype/pr_not_a_character.h: Likewise.
15509         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15510         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15511         * lib/unictype/pr_other_id_continue.h: Likewise.
15512         * lib/unictype/pr_other_id_start.h: Likewise.
15513         * lib/unictype/pr_other_lowercase.h: Likewise.
15514         * lib/unictype/pr_other_math.h: Likewise.
15515         * lib/unictype/pr_other_uppercase.h: Likewise.
15516         * lib/unictype/pr_paired_punctuation.h: Likewise.
15517         * lib/unictype/pr_paragraph_separator.h: Likewise.
15518         * lib/unictype/pr_pattern_syntax.h: Likewise.
15519         * lib/unictype/pr_pattern_white_space.h: Likewise.
15520         * lib/unictype/pr_private_use.h: Likewise.
15521         * lib/unictype/pr_quotation_mark.h: Likewise.
15522         * lib/unictype/pr_radical.h: Likewise.
15523         * lib/unictype/pr_soft_dotted.h: Likewise.
15524         * lib/unictype/pr_space.h: Likewise.
15525         * lib/unictype/pr_titlecase.h: Likewise.
15526         * lib/unictype/pr_variation_selector.h: Likewise.
15527         * lib/unictype/pr_white_space.h: Likewise.
15528         * lib/unictype/sy_c_ident.h: Likewise.
15529         * lib/unictype/sy_c_whitespace.h: Likewise.
15530         * lib/unictype/sy_java_whitespace.h: Likewise.
15531         * modules/uni*/*: Bump version number of expected libunistring version.
15532         Reported by Simon Josefsson.
15533
15534 2011-01-09  Karl Heuer  <kwzh@gnu.org>
15535
15536         useless-if-before-free: fix typo in --help and make the internal,
15537         automatic version date update process work once again.
15538         --help output contained a NUL character instead of the
15539         backslash-zero that was intended.  Also, the "must lie within
15540         the first 8 lines" line is on line 9, and hence not getting
15541         automatically updated.
15542         * build-aux/useless-if-before-free: Fix the former by adding a
15543         backslash, and the latter by condensing the three lines of what-it-does
15544         to a single line, leaving one line of slack for the future.
15545
15546 2011-01-09  Bruno Haible  <bruno@clisp.org>
15547
15548         uniwidth/width: Fix width of U+1D173..U+1D17A.
15549         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
15550         symbolic_width, output_width_property_test): New functions.
15551         (main): Invoke output_nonspacing_property, output_width_property_test.
15552         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
15553         U+1D173..U+1D17A.
15554         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
15555         1.
15556         * modules/uniwidth/*: Bump version number of expected libunistring
15557         version.
15558         * modules/unilbrk/*: Likewise.
15559
15560 2011-01-08  Bruno Haible  <bruno@clisp.org>
15561
15562         uninorm tests: Preserve copyright of Unicode data file.
15563         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
15564         Mention modifications.
15565
15566 2011-01-08  Bruno Haible  <bruno@clisp.org>
15567
15568         gen-uni-tables: Prepare for Unicode 5.2.0.
15569         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
15570         (debug_output_lbp, output_lbp): Update.
15571
15572 2011-01-08  Bruno Haible  <bruno@clisp.org>
15573
15574         unilbrk: Clarify gen-uni-tables.c code.
15575         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
15576         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
15577         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
15578
15579 2011-01-07  Bruno Haible  <bruno@clisp.org>
15580
15581         strtod: Restore errno when successfully parsing Infinity or NaN.
15582         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
15583         restore the original errno.
15584
15585 2011-01-07  Bruno Haible  <bruno@clisp.org>
15586
15587         remove test: Avoid failure on HP-UX 11.
15588         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
15589
15590 2011-01-07  Bruno Haible  <bruno@clisp.org>
15591
15592         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
15593         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
15594         error code.
15595
15596 2011-01-07  Pádraig Brady <P@draigBrady.com>
15597
15598         ignore-value: fixup comments, and add Eric Blake
15599         as an author since he rewrote the macros.
15600         * lib/ignore-value.h (ignore_value):  State that
15601         we now support aggregates.  Also specify exactly
15602         when the GCC warn_unused_result feature was added.
15603
15604 2011-01-06  Eric Blake  <eblake@redhat.com>
15605
15606         ignore-value: support aggregate types
15607         * lib/ignore-value.h (ignore_value): Provide separate gcc
15608         definition.
15609         * modules/ignore-value-tests: New test module.
15610         * tests/test-ignore-value.c: New test.
15611
15612         maint.mk: improve sc_prohibit_strcmp regex
15613         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
15614         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
15615         definition of STRNEQ.
15616
15617         signal: work around Haiku issue with SIGBUS
15618         * lib/siglist.h: Add comment.
15619         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
15620         strsignal's favoring of SIGSEGV.
15621         * tests/test-signal.c (main): Avoid test failure.
15622         * doc/posix-headers/signal.texi (signal.h): Document the issue.
15623         Reported by Scott McCreary.
15624
15625         maint.mk: add pre-release check to ensure submodule commits are public
15626         * top/maint.mk (public-submodule-commit): New rule.
15627         (submodule-checks): New variable.
15628         (alpha beta stable): Depend on the variable.
15629
15630 2011-01-05  Pádraig Brady <P@draigBrady.com>
15631         and Jim Meyering  <meyering@redhat.com>
15632
15633         ignore-value: make ignore_value more generic; deprecate ignore_ptr
15634         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
15635         (ATTRIBUTE_DEPRECATED): Define.
15636         (_ignore_case): New function.
15637         (ignore_value): New macro, to replace the old function.
15638         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
15639         * modules/ignore-value (Depends-on): Add stdint.
15640
15641 2011-01-04  Eric Blake  <eblake@redhat.com>
15642
15643         doc: regenerate INSTALL
15644         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
15645         @firstparagraphindent support, now that autoconf dropped it.
15646         (INSTALL_PRELUDE): Reinstate old macro.
15647         * doc/install.texi: Resync from autoconf.
15648         * doc/INSTALL: Reflect recent autoconf update.
15649         * doc/INSTALL.ISO: Likewise.
15650         * doc/INSTALL.UTF-8: Likewise.
15651         Reported by Karl Berry.
15652
15653 2011-01-04  Bruce Korb  <address@hidden>
15654
15655         git-version-gen: avoid a sub-shell
15656         * build-aux/git-version-gen: Redirect stderr in `...` via
15657         "exec 2>...", rather than via an added sub-shell.
15658
15659 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
15660
15661         git-version-gen: use (...) rather than sh -c '...'
15662         * build-aux/git-version-gen: Rather than hard-coding a shell's name
15663         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
15664
15665 2011-01-03  Jim Meyering  <meyering@redhat.com>
15666
15667         git-version-gen: convert leading TABs to spaces
15668         * build-aux/git-version-gen: Expand leading TABs.
15669
15670         git-version-gen: handle failed "git rev-list"
15671         * build-aux/git-version-gen: Rather than leaking a "fatal" error
15672         from git and proceeding as if it had succeeded but printed no SHA1
15673         checksums, suppress the diagnostic and handle the failure.
15674         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
15675
15676         git-version-gen: include command name in one more diagnostic
15677         * build-aux/git-version-gen: When the required .tarball-version file
15678         was missing or unreadable, you might see the diagnostic from "cat",
15679         but no trace of the name of the invoking script.  Now, you still see
15680         the diagnostic from cat, but also get one from "git-version-gen: ".
15681         Inspired by a patch from Bruce Korb.
15682
15683         update-copyright: adjust test to match changed code
15684         * tests/test-update-copyright.sh: Change test's expected output
15685         to match new actual output.
15686
15687 2011-01-02  Bruno Haible  <bruno@clisp.org>
15688
15689         getlogin_r: Avoid test failure on HP-UX 11.
15690         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
15691         ERANGE when the second argument is zero.
15692         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
15693         portability problem.
15694
15695 2011-01-02  Bruce Korb  <bkorb@gnu.org>
15696
15697         * build-aux/update-copyright: doc Simon's changes
15698
15699 2011-01-02  Simon Josefsson  <simon@josefsson.org>
15700
15701         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
15702         environment variable.
15703
15704 2011-01-02  Bruno Haible  <bruno@clisp.org>
15705
15706         unigbrk: Avoid gcc warnings.
15707         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
15708         unused variable.
15709         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
15710         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
15711         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
15712         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
15713         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
15714         Change type of first argument to 'const char *'.
15715         (main): Remove unused variable.
15716         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
15717         type of first argument to 'const char *'.
15718         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
15719         Likewise.
15720         (main): Change type of variable 's'.
15721         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
15722         to 'int'.
15723
15724 2011-01-02  Bruno Haible  <bruno@clisp.org>
15725
15726         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
15727         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
15728         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
15729         bug.
15730         * lib/pwrite.c: Undo 2010-12-31 patch.
15731         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
15732
15733 2011-01-02  Bruno Haible  <bruno@clisp.org>
15734
15735         pread: Fix test whether it works.
15736         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
15737
15738 2011-01-02  Bruno Haible  <bruno@clisp.org>
15739
15740         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
15741         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
15742         ends in "6". Don't require a specific month name. Try also the locale
15743         names found on HP-UX 11 and Solaris 7.
15744
15745 2011-01-02  Bruno Haible  <bruno@clisp.org>
15746
15747         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
15748         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
15749         C linkage.
15750         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
15751
15752 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
15753
15754         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
15755         for consistency, since the "cluster" term is not used elsewhere.
15756         * lib/unigbrk.in.h: Update name.
15757         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
15758         * lib/unigbrk/u16-grapheme-next.c: Update name.
15759         * lib/unigbrk/u16-grapheme-prev.c: Update name.
15760         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
15761         * lib/unigbrk/u32-grapheme-next.c: Update name.
15762         * lib/unigbrk/u32-grapheme-prev.c: Update name.
15763         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
15764         * lib/unigbrk/u8-grapheme-next.c: Update name.
15765         * lib/unigbrk/u8-grapheme-prev.c: Update name.
15766         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
15767         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
15768         Suggested by Bruno Haible.
15769
15770 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
15771
15772         Remove module 'u8-grapheme-len' as too redundant with
15773         'u8-grapheme-next'.
15774         * modules/unigbrk/u8-grapheme-len: Delete file.
15775         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
15776         * lib/unigbrk.in.h: Remove prototype for deleted function.
15777         * lib/unigbrk/u8-grapheme-len.c: Delete file.
15778         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
15779
15780         Remove module 'u16-grapheme-len' as too redundant with
15781         'u16-grapheme-next'.
15782         * modules/unigbrk/u16-grapheme-len: Delete file.
15783         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
15784         * lib/unigbrk.in.h: Remove prototype for deleted function.
15785         * lib/unigbrk/u16-grapheme-len.c: Delete file.
15786         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
15787
15788         Remove module 'u32-grapheme-len' as too redundant with
15789         'u32-grapheme-next'.
15790         * modules/unigbrk/u32-grapheme-len: Delete file.
15791         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
15792         * lib/unigbrk.in.h: Remove prototype for deleted function.
15793         * lib/unigbrk/u32-grapheme-len.c: Delete file.
15794         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
15795
15796         Suggested by Bruno Haible.
15797
15798 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
15799
15800         * unigbrk.in.h: Fix typo: "ben" => "been".
15801         Reported by Bruno Haible.
15802
15803 2011-01-01  Jim Meyering  <meyering@redhat.com>
15804
15805         maint: update almost all copyright ranges to include 2011
15806         Run the new "make update-copyright" rule.
15807
15808 2011-01-01  Jim Meyering  <meyering@redhat.com>
15809
15810         maint: update-copyright: exempt doc/INSTALL*
15811         * Makefile (update-copyright): Also exclude doc/INSTALL*,
15812         since they are generated.  Suggested by Bruno Haible.
15813
15814 2011-01-01  Jim Meyering  <meyering@redhat.com>
15815
15816         maint: refine the update-copyright rule
15817         * Makefile (update-copyright): Also exclude any file that includes
15818         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
15819         code that merely generates the comment.
15820
15821 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
15822
15823         New module 'u8-grapheme-len'.
15824         * modules/unigbrk/u8-grapheme-len: New file.
15825         * modules/unigbrk/u8-grapheme-len-tests: New file.
15826         * lib/unigbrk.in.h: Add prototype for new function.
15827         * lib/unigbrk/u8-grapheme-len.c: New file.
15828         * tests/unigbrk/test-u8-grapheme-len.c: New file.
15829
15830         New module 'u16-grapheme-len'.
15831         * modules/unigbrk/u16-grapheme-len: New file.
15832         * modules/unigbrk/u16-grapheme-len-tests: New file.
15833         * lib/unigbrk.in.h: Add prototype for new function.
15834         * lib/unigbrk/u16-grapheme-len.c: New file.
15835         * tests/unigbrk/test-u16-grapheme-len.c: New file.
15836
15837         New module 'u32-grapheme-len'.
15838         * modules/unigbrk/u32-grapheme-len: New file.
15839         * modules/unigbrk/u32-grapheme-len-tests: New file.
15840         * lib/unigbrk.in.h: Add prototype for new function.
15841         * lib/unigbrk/u32-grapheme-len.c: New file.
15842         * tests/unigbrk/test-u32-grapheme-len.c: New file.
15843
15844         New module 'u8-grapheme-next'.
15845         * modules/unigbrk/u8-grapheme-next: New file.
15846         * modules/unigbrk/u8-grapheme-next-tests: New file.
15847         * lib/unigbrk.in.h: Add prototype for new function.
15848         * lib/unigbrk/u8-grapheme-next.c: New file.
15849         * tests/unigbrk/test-u8-grapheme-next.c: New file.
15850
15851         New module 'u16-grapheme-next'.
15852         * modules/unigbrk/u16-grapheme-next: New file.
15853         * modules/unigbrk/u16-grapheme-next-tests: New file.
15854         * lib/unigbrk.in.h: Add prototype for new function.
15855         * lib/unigbrk/u16-grapheme-next.c: New file.
15856         * tests/unigbrk/test-u16-grapheme-next.c: New file.
15857
15858         New module 'u32-grapheme-next'.
15859         * modules/unigbrk/u32-grapheme-next: New file.
15860         * modules/unigbrk/u32-grapheme-next-tests: New file.
15861         * lib/unigbrk.in.h: Add prototype for new function.
15862         * lib/unigbrk/u32-grapheme-next.c: New file.
15863         * tests/unigbrk/test-u32-grapheme-next.c: New file.
15864
15865         New module 'u8-grapheme-prev'.
15866         * modules/unigbrk/u8-grapheme-prev: New file.
15867         * modules/unigbrk/u8-grapheme-prev-tests: New file.
15868         * lib/unigbrk.in.h: Add prototype for new function.
15869         * lib/unigbrk/u8-grapheme-prev.c: New file.
15870         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
15871
15872         New module 'u16-grapheme-prev'.
15873         * modules/unigbrk/u16-grapheme-prev: New file.
15874         * modules/unigbrk/u16-grapheme-prev-tests: New file.
15875         * lib/unigbrk.in.h: Add prototype for new function.
15876         * lib/unigbrk/u16-grapheme-prev.c: New file.
15877         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
15878
15879         New module 'u32-grapheme-prev'.
15880         * modules/unigbrk/u32-grapheme-prev: New file.
15881         * modules/unigbrk/u32-grapheme-prev-tests: New file.
15882         * lib/unigbrk.in.h: Add prototype for new function.
15883         * lib/unigbrk/u32-grapheme-prev.c: New file.
15884         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
15885
15886         New module 'u8-grapheme-breaks'.
15887         * modules/unigbrk/u8-grapheme-breaks: New file.
15888         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
15889         * lib/unigbrk.in.h: Add prototype for new function.
15890         * lib/unigbrk/u8-grapheme-breaks.c: New file.
15891         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
15892
15893         New module 'u16-grapheme-breaks'.
15894         * modules/unigbrk/u16-grapheme-breaks: New file.
15895         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
15896         * lib/unigbrk.in.h: Add prototype for new function.
15897         * lib/unigbrk/u16-grapheme-breaks.c: New file.
15898         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
15899
15900         New module 'u32-grapheme-breaks'.
15901         * modules/unigbrk/u32-grapheme-breaks: New file.
15902         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
15903         * lib/unigbrk.in.h: Add prototype for new function.
15904         * lib/unigbrk/u32-grapheme-breaks.c: New file.
15905         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
15906
15907         New module 'ulc-grapheme-breaks'.
15908         * modules/unigbrk/ulc-grapheme-breaks: New file.
15909         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
15910         * m4/locale-ar.m4: New file.
15911         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
15912         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
15913         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
15914
15915 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
15916
15917         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
15918         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
15919         modified how this file was generated before I initially submitted
15920         the module, but failed to regenerate it.  This meant that several
15921         of the level2 entries were wrong.
15922         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
15923         Remove the division-by-2 that is folded into the table now that
15924         gbrkprop.h has been regenerated properly.  Now -1 entries are
15925         handled correctly.
15926
15927         New module 'unigbrk/uc-gbrk-prop-tests'.
15928         * modules/unigbrk/uc-gbrk-prop-tests: New file.
15929         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
15930         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
15931         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
15932
15933 2011-01-01  Bruno Haible  <bruno@clisp.org>
15934
15935         Avoid use of hexadecimal escapes.
15936         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
15937         instead of hexadecimal escapes.
15938
15939 2011-01-01  Jim Meyering  <meyering@redhat.com>
15940
15941         maint: new rule to update copyright year ranges
15942         * Makefile (update-copyright): New rule.
15943
15944         maint: indent with TABs in Makefile
15945         * Makefile: Expand leading sequences of spaces to TABs
15946
15947         version-etc: update the copyright year it reports
15948         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
15949
15950 2010-12-31  Bruno Haible  <bruno@clisp.org>
15951
15952         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
15953         * lib/isfinite.c (zerof, zerod, zerol): New variables.
15954         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
15955         zero.
15956
15957 2010-12-31  Bruno Haible  <bruno@clisp.org>
15958
15959         pwrite: Work around HP-UX 11.11 bug.
15960         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
15961         works and set REPLACE_PWRITE if not.
15962         * lib/pwrite.c (pwrite): Add an implementation that uses the system
15963         function.
15964         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
15965
15966 2010-12-31  Bruno Haible  <bruno@clisp.org>
15967
15968         pread: Work around HP-UX 11 bugs.
15969         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
15970         and set REPLACE_PREAD if not.
15971         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
15972
15973 2010-12-31  Eric Blake  <eblake@redhat.com>
15974
15975         nl_langinfo: fix YESEXPR on Irix 6.5
15976         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
15977         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
15978         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
15979         it.
15980
15981 2010-12-31  Bruno Haible  <bruno@clisp.org>
15982
15983         iconv: Document HP-UX 11 bug.
15984         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
15985
15986 2010-12-31  Bruno Haible  <bruno@clisp.org>
15987
15988         ldexpl: Fix link error on HP-UX 11.
15989         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
15990         LDEXPL_LIBM, using $ISNANL_LIBM.
15991
15992 2010-12-31  Eric Blake  <eblake@redhat.com>
15993
15994         ftello: avoid compilation failure with SunStudio c89
15995         * lib/ftello.c (ftello): Use lseek, not llseek.
15996
15997         tests: avoid failing coreutils tests on cygwin
15998         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
15999         (create_exe_shims_): Return 0 when skipping.
16000
16001 2010-12-31  Bruno Haible  <bruno@clisp.org>
16002
16003         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
16004         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
16005
16006 2010-12-31  Bruno Haible  <bruno@clisp.org>
16007
16008         waitpid: Fix link error in C++ mode.
16009         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
16010
16011 2010-12-31  Bruno Haible  <bruno@clisp.org>
16012
16013         isnan: Use GCC built-ins when possible.
16014         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
16015         __builtin_isnan.
16016         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
16017         (isnan): Define using GCC built-ins for GCC >= 4.0.
16018
16019 2010-12-31  Bruno Haible  <bruno@clisp.org>
16020
16021         isnand: Fix mistake.
16022         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
16023         __builtin_isnand.
16024
16025 2010-12-31  Bruno Haible  <bruno@clisp.org>
16026
16027         open: Avoid C++ error on HP-UX 11.
16028         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
16029
16030 2010-12-31  Bruno Haible  <bruno@clisp.org>
16031
16032         time_r: Add missing declarations on HP-UX 11.
16033         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
16034         instead of HAVE_LOCALTIME_R.
16035         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
16036         HAVE_LOCALTIME_R always.
16037         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
16038         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
16039         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
16040         HAVE_LOCALTIME_R.
16041         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
16042         * doc/posix-functions/localtime_r.texi: Likewise.
16043
16044 2010-12-29  Eric Blake  <eblake@redhat.com>
16045
16046         mountlist: tweak previous commit
16047         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
16048         Reported by Paul Eggert.
16049
16050         mountlist: fix local drive detection on cygwin
16051         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
16052         that works for cygwin.
16053
16054 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
16055
16056         ftoastr, snprintf: ftoastr + snprintf module
16057         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
16058         since the snprintf module now should be good enough here.
16059         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
16060         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
16061         and gl_MODULE_INDICATOR([snprintf]), but the former enables
16062         GNULIB_SNPRINTF only for the test directory, and the latter
16063         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
16064         seems to suffice by itself.
16065
16066 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16067
16068         alloca: one step towards thread-safety
16069         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
16070         need for a static variable.  All callers changed.  This does not
16071         make the alloca replacement thread-safe, but it's one step.
16072
16073         tests: minor indenting change
16074         * tests/init.sh: Sync from coreutils housekeeping patch
16075         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
16076         to keep lines within 80 columns.
16077
16078 2010-12-28  Jim Meyering  <meyering@redhat.com>
16079
16080         regex: don't infloop on persistent failing calloc
16081         * lib/regexec.c (build_trtable): Return failure indication upon
16082         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
16083         In glibc, this was fixed for version 2.13:
16084         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
16085
16086 2010-12-28  Bruno Haible  <bruno@clisp.org>
16087             Paul Eggert <eggert@cs.ucla.edu>
16088
16089         linkat: Make implementation robust against system behaviour variations.
16090         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
16091         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
16092         way, and to -2 if it needs a generic runtime test.
16093         * lib/linkat.c (solaris_optimized_link_immediate,
16094         solaris_optimized_link_follow): New functions.
16095         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
16096         (check_same_link): Use it.
16097
16098 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
16099
16100         New module 'unigbrk/base'.
16101         * modules/unigbrk/base: New file.
16102         * lib/unigbrk.in.h: New file.
16103
16104         New module 'unigbrk/uc-gbrk-prop'.
16105         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
16106         * modules/unigbrk/uc-gbrk-prop: New file.
16107         * lib/unigbrk/gbrkprop.h: New file.
16108         * lib/unigbrk/uc-gbrk-prop.c: New file.
16109
16110         New module 'unigbrk/uc-is-grapheme-break'.
16111         * modules/unigbrk/uc-is-grapheme-break: New file.
16112         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
16113         * lib/unigbrk/uc-is-grapheme-break.c: New file.
16114         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
16115         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
16116         * tests/unigbrk/GraphemeBreakTest.txt: New file.
16117
16118         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
16119
16120 2010-12-27  Bruno Haible  <bruno@clisp.org>
16121
16122         linkat test: Avoid failure on Solaris 11 2010-11.
16123         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
16124
16125 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16126
16127         utimens: work around glibc rounding bug on more platforms
16128         * lib/utimens.c (fdutimens): Work around rounding bug even if
16129         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
16130         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
16131
16132 2010-12-27  Bruno Haible  <bruno@clisp.org>
16133
16134         select tests: Improve comments.
16135         * tests/test-select.c (do_select): Add comments.
16136
16137 2010-12-27  Bruno Haible  <bruno@clisp.org>
16138
16139         select tests: Safer way of handling timeout.
16140         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
16141         at every invocation.
16142
16143 2010-12-27  Bruno Haible  <bruno@clisp.org>
16144
16145         select tests: Use 'bool' where appropriate.
16146         * tests/test-select.c (connect_to_socket): Change argument type to
16147         'bool'.
16148
16149 2010-12-27  Bruno Haible  <bruno@clisp.org>
16150
16151         select tests: Use existing modules.
16152         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
16153         (configure.ac): Don't test for unistd.h.
16154         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
16155         declared in <unistd.h>.
16156
16157 2010-12-27  Bruno Haible  <bruno@clisp.org>
16158
16159         mbrtowc: Work around a Solaris 7 bug.
16160         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
16161         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
16162         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
16163         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
16164         MBRTOWC_NULL_ARG1_BUG.
16165         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
16166         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
16167         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
16168         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
16169
16170 2010-12-27  Jim Meyering  <meyering@redhat.com>
16171
16172         read-file.c: tweak syntax
16173         * lib/read-file.c (fread_file): Remove space after "*" in function
16174         definitions.
16175
16176 2010-12-27  Bruno Haible  <bruno@clisp.org>
16177
16178         times test: Avoid gcc warnings on OSF/1.
16179         * tests/test-times.c (main): Cast printf arguments from clock_t to
16180         'long int'.
16181
16182 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16183
16184         utimens: work around glibc rounding bug on older Linux kernels
16185         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
16186         on Linux with a glibc whose utimes might not work, then work
16187         around a longstanding glibc bug involving rounding rather than
16188         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
16189         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16190
16191 2010-12-26  Bruno Haible  <bruno@clisp.org>
16192
16193         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
16194         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
16195         _GL_CXXALIAS_SYS.
16196         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16197
16198 2010-12-26  Bruno Haible  <bruno@clisp.org>
16199
16200         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
16201         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
16202         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
16203         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
16204         looking for the declaration.
16205         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
16206         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
16207         problem.
16208         * doc/posix-functions/inet_pton.texi: Likewise.
16209
16210 2010-12-26  Bruno Haible  <bruno@clisp.org>
16211
16212         arpa_inet: Use the common idioms with C++ support.
16213         * lib/arpa_inet.in.h: Include c++defs.h.
16214         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
16215         support.
16216         * modules/arpa_inet (Depends-on): Add c++defs.
16217         (Makefile.am): Substitute the contents of c++defs.h.
16218         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
16219         * modules/arpa_inet-c++-tests: New file.
16220         * tests/test-arpa_inet-c++.cc: New file.
16221
16222 2010-12-25  Bruno Haible  <bruno@clisp.org>
16223
16224         Fix more C++ link errors on Solaris 8.
16225         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
16226         $(LIB_EACCESS).
16227         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
16228         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
16229         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
16230         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
16231         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
16232
16233 2010-12-25  Bruno Haible  <bruno@clisp.org>
16234
16235         printf-posix: Fix link error when a non-GCC compiler is used.
16236         * lib/stdio.in.h (printf): When not using GCC, override printf
16237         correctly.
16238         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16239
16240 2010-12-25  Bruno Haible  <bruno@clisp.org>
16241
16242         strerror_r-posix: Update doc.
16243         * doc/posix-functions/strerror_r.texi: Update doc about the return
16244         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
16245
16246 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
16247
16248         utimens: simplify the logic of the previous change
16249         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
16250         This should not affect whether the test succeeds or fails.
16251
16252         utimens: configure better on hosts with NFS clock skew
16253         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
16254         uses the clock of the local host.  It might use the clock of the
16255         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
16256         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16257
16258 2010-12-25  Bruno Haible  <bruno@clisp.org>
16259
16260         ptsname test: Avoid failure on Solaris.
16261         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
16262         open a pseudo-terminal; don't use BSD-style ptys.
16263         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
16264
16265 2010-12-25  Bruno Haible  <bruno@clisp.org>
16266
16267         ptsname: Avoid ERANGE failure on some systems.
16268         * lib/ptsname.c (buffer): Increase size.
16269
16270 2010-12-25  Bruno Haible  <bruno@clisp.org>
16271
16272         rename, renameat: Avoid test failures at NFS mounted locations.
16273         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
16274         so that subsequent mkdir calls succeed.
16275
16276 2010-12-25  Bruno Haible  <bruno@clisp.org>
16277
16278         iswblank: Fix C++ link error on Solaris 8.
16279         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
16280         _GL_FUNCDECL_SYS.
16281
16282 2010-12-25  Bruno Haible  <bruno@clisp.org>
16283
16284         unistd: Fix C++ link error on Solaris 8.
16285         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
16286
16287 2010-12-25  Bruno Haible  <bruno@clisp.org>
16288
16289         readlink doc: Mention an old glibc bug.
16290         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
16291
16292 2010-12-25  Bruno Haible  <bruno@clisp.org>
16293
16294         fcntl-h: Fix for use of C++ on glibc systems.
16295         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
16296         also on glibc systems in C++ mode.
16297         Reported by Gary V. Vaughan <gary@gnu.org>.
16298
16299 2010-12-25  Bruno Haible  <bruno@clisp.org>
16300
16301         roundl-ieee: Make it work on OSF/1 5.1 with cc.
16302         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
16303
16304 2010-12-25  Bruno Haible  <bruno@clisp.org>
16305
16306         truncl-ieee: Make it work on OSF/1 5.1 with cc.
16307         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
16308         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
16309         test whether truncl works according to ISO C 99 with IEC 60559.
16310         * m4/truncl-ieee.m4: New file.
16311         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
16312         m4/signbit.m4.
16313         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
16314
16315 2010-12-25  Bruno Haible  <bruno@clisp.org>
16316
16317         ceill-ieee: Make it work on OSF/1 5.1 with cc.
16318         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
16319         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
16320         test whether ceill works according to ISO C 99 with IEC 60559.
16321         * m4/ceill-ieee.m4: New file.
16322         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
16323         m4/signbit.m4.
16324         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
16325
16326 2010-12-25  Bruno Haible  <bruno@clisp.org>
16327
16328         Ensure all prerequisites of <wchar.h> are included.
16329         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
16330         before <wchar.h>.
16331         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
16332         gl_MBRLEN_NUL_RETVAL): Likewise.
16333         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
16334         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
16335         AC_FUNC_MBRTOWC): Likewise.
16336         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
16337         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
16338         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
16339         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
16340         Likewise.
16341         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
16342         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
16343         (gl_WCHAR_H): Improve comments.
16344         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
16345
16346 2010-12-25  Bruno Haible  <bruno@clisp.org>
16347
16348         strtok_r: Fix C syntax error in autoconf macro.
16349         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
16350         characters in test program.
16351
16352 2010-12-24  Bruno Haible  <bruno@clisp.org>
16353
16354         ceil, trunc, round: Fix gcc warnings.
16355         * lib/ceil.c (MIN): Undefine before redefining.
16356         * lib/trunc.c (MIN): Likewise.
16357         * lib/round.c (MIN): Likewise.
16358         Include <math.h> first.
16359
16360 2010-12-24  Bruno Haible  <bruno@clisp.org>
16361
16362         select tests: Avoid failures on OSF/1 5.1.
16363         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
16364         failure of closing the last socket; it may fail with ECONNRESET.
16365
16366 2010-12-24  Eric Blake  <eblake@redhat.com>
16367
16368         stdint: avoid HP-UX 10.20 preprocessor bug
16369         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
16370         than #if.
16371         * tests/test-floor2.c (main): Likewise.
16372         Reported by Peter O'Gorman.
16373
16374         pipe: make obsoletion transition easier
16375         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
16376         * modules/pipe (Files): Include revived file.
16377         (Include): Drop reference, to mirror getdate's behavior.
16378
16379 2010-12-24  Bruno Haible  <bruno@clisp.org>
16380
16381         sys_socket: Hide mismatch of declarations on NonStop Kernel.
16382         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
16383         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
16384         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16385
16386 2010-12-24  Bruno Haible  <bruno@clisp.org>
16387
16388         gethostname: Ensure declaration on NonStop Kernel.
16389         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
16390         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16391
16392 2010-12-24  Bruno Haible  <bruno@clisp.org>
16393
16394         sys_select: Ensure all necessary types on NonStop Kernel.
16395         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
16396         include <sys/time.h>.
16397         * doc/posix-headers/sys_select.texi: Mention that it's missing on
16398         NonStop Kernel.
16399         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16400
16401 2010-12-24  Bruno Haible  <bruno@clisp.org>
16402
16403         sys_select: Remove unneeded include.
16404         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
16405         have <sys/select.h>.
16406
16407 2010-12-24  Bruno Haible  <bruno@clisp.org>
16408
16409         gethostname: Provide a fallback for HOST_NAME_MAX.
16410         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
16411         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
16412         instead.
16413         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16414
16415 2010-12-24  Bruno Haible  <bruno@clisp.org>
16416
16417         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
16418         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
16419         (SA_RESTART): Likewise.
16420         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16421
16422 2010-12-24  Bruno Haible  <bruno@clisp.org>
16423
16424         signal: Define NSIG.
16425         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
16426         * tests/test-signal.c (nsig): New variable.
16427         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16428
16429 2010-12-24  Bruno Haible  <bruno@clisp.org>
16430
16431         rename, renameat: Avoid test failures on OSF/1 5.1.
16432         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
16433         alternative error codes.
16434         * tests/test-renameat.c (main): Likewise.
16435
16436 2010-12-24  Bruno Haible  <bruno@clisp.org>
16437
16438         *printf: Detect large precisions bug on Solaris 10/SPARC.
16439         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
16440         by Paul Eggert.
16441         * tests/test-snprintf-posix.h (test_function): Add this test code here
16442         too.
16443         * tests/test-sprintf-posix.h (test_function): Likewise.
16444         * tests/test-vasnprintf-posix.c (test_function): Likewise.
16445         * tests/test-vasprintf-posix.c (test_function): Likewise.
16446         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
16447         around by gnulib.
16448         * doc/posix-functions/printf.texi: Likewise.
16449         * doc/posix-functions/snprintf.texi: Likewise.
16450         * doc/posix-functions/sprintf.texi: Likewise.
16451         * doc/posix-functions/vfprintf.texi: Likewise.
16452         * doc/posix-functions/vprintf.texi: Likewise.
16453         * doc/posix-functions/vsnprintf.texi: Likewise.
16454         * doc/posix-functions/vsprintf.texi: Likewise.
16455         * doc/posix-functions/dprintf.texi: Undo last commit.
16456         * doc/posix-functions/vdprintf.texi: Likewise.
16457
16458 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16459
16460         tests: port test-fdutimensat.c to Solaris 8
16461         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
16462         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
16463         On Solaris 8, it fails with errno == ENOSYS, because there is no
16464         futimens (so it can't use the fd), and there is no lutimens (so it
16465         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
16466
16467         vsnprintf: make more consistent with snprintf; doc fixes
16468
16469         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
16470         the byte count return problem was promoted from the snprintf-posix
16471         to the snprintf module.
16472         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16473         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
16474         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
16475         * tests/test-snprintf.c (main): Check the byte count returned.
16476         * tests/test-vsnprintf.c (main): Likewise.
16477
16478 2010-12-23  Eric Blake  <eblake@redhat.com>
16479
16480         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
16481         * modules/sigpipe (License): Relax license.
16482
16483 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16484
16485         doc: document Solaris printf bug with large float precisions
16486         * doc/posix-functions/dprintf.texi (dprintf):
16487         * doc/posix-functions/fprintf.texi (fprintf):
16488         * doc/posix-functions/printf.texi (printf):
16489         * doc/posix-functions/snprintf.texi (snprintf):
16490         * doc/posix-functions/sprintf.texi (sprintf):
16491         * doc/posix-functions/vdprintf.texi (vdprintf):
16492         * doc/posix-functions/vfprintf.texi (vfprintf):
16493         * doc/posix-functions/vprintf.texi (vprintf):
16494         * doc/posix-functions/vsnprintf.texi (vsnprintf):
16495         * doc/posix-functions/vsprintf.texi (vsprintf):
16496         Mention that these functions mishandle large floating point
16497         precisions on Solaris 10.  The same bug is also present in Solaris
16498         8, and I assume earlier.  This causes "cd gnulib-tests; make
16499         check" to fail on Solaris 8 (and I assume, later) when building
16500         the latest coreutils, in test-vasprintf-posix's call to
16501         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
16502         the wide flavors (e.g., wprintf) so this patch just updates the
16503         documentation for the narrow ones.
16504
16505         test-posixtm.c: add two tests
16506         * tests/test-posixtm.c: Add two tests, to highlight the
16507         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
16508         around this bug; this is merely to document it.
16509
16510 2010-12-22  Bruno Haible  <bruno@clisp.org>
16511
16512         getlogin_r: Work around portability problem on OSF/1.
16513         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
16514         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
16515         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
16516         test for a truncated result.
16517         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
16518         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
16519         * modules/getlogin_r (Depends-on): Add memchr.
16520         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
16521
16522 2010-12-22  Bruno Haible  <bruno@clisp.org>
16523
16524         ptsname: Avoid test failure on OSF/1 5.1.
16525         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
16526         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
16527         (same_slave): New function.
16528         (main): Use it to compare ptsname's result with the expected file name.
16529
16530 2010-12-22  Bruno Haible  <bruno@clisp.org>
16531
16532         Port extended stdio modules to HP NonStop Kernel.
16533         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
16534         macros.
16535         * lib/fbufmode.c: Update comments.
16536         * lib/fflush.c: Likewise.
16537         * lib/fpurge.c: Likewise.
16538         * lib/freadable.c: Likewise.
16539         * lib/freadahead.c: Likewise.
16540         * lib/freading.c: Likewise.
16541         * lib/freadptr.c: Likewise.
16542         * lib/freadseek.c: Likewise.
16543         * lib/fseeko.c: Likewise.
16544         * lib/fseterr.c: Likewise.
16545         * lib/fwritable.c: Likewise.
16546         * lib/fwriting.c: Likewise.
16547         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16548
16549 2010-12-22  Bruno Haible  <bruno@clisp.org>
16550
16551         ttyname_r: Work around bug on OSF/1 5.1.
16552         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
16553         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
16554         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
16555         present.
16556         * lib/ttyname_r.c (ttyname_r): Update comments.
16557
16558 2010-12-22  Bruno Haible  <bruno@clisp.org>
16559
16560         round: Implement result sign according to IEEE 754.
16561         * lib/round.c (MIN, MINUS_ZERO): New macros.
16562         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
16563         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
16564         * tests/test-round-ieee.c (main): Likewise.
16565         * tests/test-roundl-ieee.c (main): Likewise.
16566
16567         trunc: Implement result sign according to IEEE 754.
16568         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
16569         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
16570         * tests/test-trunc2.c: Include minus-zero.h.
16571         (MINUS_ZERO): New macro.
16572         (trunc_reference): Keep in sync with lib/trunc.c.
16573         * tests/test-truncf2.c: Include minus-zero.h.
16574         (MINUS_ZERO): New macro.
16575         (truncf_reference): Keep in sync with lib/trunc.c.
16576         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
16577         * tests/test-trunc-ieee.c (main): Likewise.
16578         * tests/test-truncl-ieee.c (main): Likewise.
16579
16580         ceil: Implement result sign according to IEEE 754.
16581         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
16582         (FUNC): Return -0.0 for -1 < x < 0.
16583         * tests/test-ceil2.c: Include minus-zero.h.
16584         (MINUS_ZERO): New macro.
16585         (ceil_reference): Keep in sync with lib/ceil.c.
16586         * tests/test-ceilf2.c: Include minus-zero.h.
16587         (MINUS_ZERO): New macro.
16588         (ceilf_reference): Keep in sync with lib/ceil.c.
16589         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
16590         * tests/test-ceil-ieee.c (main): Likewise.
16591         * tests/test-ceill-ieee.c (main): Likewise.
16592
16593         floor: Implement result sign according to IEEE 754.
16594         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
16595         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
16596         * tests/test-floorf2.c (floorf_reference): Likewise.
16597         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
16598         * tests/test-floor-ieee.c (main): Likewise.
16599         * tests/test-floorl-ieee.c (main): Likewise.
16600
16601 2010-12-22  Bruno Haible  <bruno@clisp.org>
16602
16603         getaddrinfo: Update doc.
16604         * doc/posix-functions/gai_strerror.texi: Return type is also different
16605         on AIX and HP-UX.
16606
16607 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16608
16609         getaddrinfo, inet_ntop: Update doc for Solaris.
16610         * doc/posix-functions/gai_strerror.texi: Return type is also an
16611         issue on Solaris 9 and earlier.
16612         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
16613         on Solaris 10 and earlier.
16614
16615 2010-12-21  Bruno Haible  <bruno@clisp.org>
16616
16617         New module 'roundl-ieee'.
16618         * modules/roundl-ieee: New file.
16619         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
16620         test whether roundl works according to ISO C 99 with IEC 60559.
16621         * m4/roundl-ieee.m4: New file.
16622         * modules/roundl-ieee-tests: New file.
16623         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
16624         * tests/test-roundl.c (main): Remove signbit tests.
16625         * modules/roundl-tests (Depends-on): Remove signbit.
16626         * doc/posix-functions/roundl.texi: Mention the new module.
16627
16628 2010-12-21  Bruno Haible  <bruno@clisp.org>
16629
16630         New module 'truncl-ieee'.
16631         * modules/truncl-ieee: New file.
16632         * modules/truncl-ieee-tests: New file.
16633         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
16634         * tests/test-truncl.c (main): Remove signbit tests.
16635         * modules/truncl-tests (Depends-on): Remove signbit.
16636         * doc/posix-functions/truncl.texi: Mention the new module.
16637
16638 2010-12-21  Bruno Haible  <bruno@clisp.org>
16639
16640         New module 'ceill-ieee'.
16641         * modules/ceill-ieee: New file.
16642         * modules/ceill-ieee-tests: New file.
16643         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
16644         * tests/test-ceill.c (main): Remove signbit tests.
16645         * modules/ceill-tests (Depends-on): Remove signbit.
16646         * doc/posix-functions/ceill.texi: Mention the new module.
16647
16648 2010-12-21  Bruno Haible  <bruno@clisp.org>
16649
16650         New module 'floorl-ieee'.
16651         * modules/floorl-ieee: New file.
16652         * modules/floorl-ieee-tests: New file.
16653         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
16654         * tests/test-floorl.c (main): Remove signbit tests.
16655         * modules/floorl-tests (Depends-on): Remove signbit.
16656         * doc/posix-functions/floorl.texi: Mention the new module.
16657
16658 2010-12-21  Bruno Haible  <bruno@clisp.org>
16659
16660         New module 'round-ieee'.
16661         * modules/round-ieee: New file.
16662         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
16663         whether round works according to ISO C 99 with IEC 60559.
16664         * m4/round-ieee.m4: New file.
16665         * modules/round-ieee-tests: New file.
16666         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
16667         * tests/test-round1.c (main): Remove signbit tests.
16668         * modules/round-tests (Depends-on): Remove 'signbit'.
16669         * doc/posix-functions/round.texi: Mention the new module.
16670
16671 2010-12-21  Bruno Haible  <bruno@clisp.org>
16672
16673         New module 'trunc-ieee'.
16674         * modules/trunc-ieee: New file.
16675         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
16676         whether trunc works according to ISO C 99 with IEC 60559.
16677         * m4/trunc-ieee.m4: New file.
16678         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
16679         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
16680         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
16681         * modules/trunc-ieee-tests: New file.
16682         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
16683         * tests/test-trunc1.c (main): Remove signbit tests.
16684         * modules/trunc-tests (Depends-on): Remove 'signbit'.
16685         * doc/posix-functions/trunc.texi: Mention the new module.
16686
16687 2010-12-21  Bruno Haible  <bruno@clisp.org>
16688
16689         New module 'ceil-ieee'.
16690         * modules/ceil-ieee: New file.
16691         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
16692         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
16693         ISO C 99 with IEC 60559.
16694         * m4/ceil-ieee.m4: New file.
16695         * modules/ceil (Files): Add lib/ceil.c.
16696         (Depends-on): Add 'float'.
16697         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16698         * lib/math.in.h (ceil): New declaration.
16699         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
16700         REPLACE_CEIL.
16701         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
16702         * modules/ceil-ieee-tests: New file.
16703         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
16704         * tests/test-math-c++.cc: Check the signature of 'ceil'.
16705         * doc/posix-functions/ceil.texi: Mention the new module.
16706
16707 2010-12-21  Bruno Haible  <bruno@clisp.org>
16708
16709         New module 'floor-ieee'.
16710         * modules/floor-ieee: New file.
16711         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
16712         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
16713         ISO C 99 with IEC 60559.
16714         * m4/floor-ieee.m4: New file.
16715         * modules/floor (Files): Add lib/floor.c.
16716         (Depends-on): Add 'float'.
16717         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16718         * lib/math.in.h (floor): New declaration.
16719         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
16720         REPLACE_FLOOR.
16721         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
16722         * modules/floor-ieee-tests: New file.
16723         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
16724         * tests/test-math-c++.cc: Check the signature of 'floor'.
16725         * doc/posix-functions/floor.texi: Mention the new module.
16726
16727 2010-12-21  Bruno Haible  <bruno@clisp.org>
16728
16729         New module 'roundf-ieee'.
16730         * modules/roundf-ieee: New file.
16731         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
16732         test whether roundf works according to ISO C 99 with IEC 60559.
16733         * m4/roundf-ieee.m4: New file.
16734         * modules/roundf-ieee-tests: New file.
16735         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
16736         * tests/test-roundf1.c (main): Remove signbit tests.
16737         * modules/roundf-tests (Depends-on): Remove 'signbit'.
16738         * doc/posix-functions/roundf.texi: Mention the new module.
16739
16740 2010-12-21  Bruno Haible  <bruno@clisp.org>
16741
16742         New module 'truncf-ieee'.
16743         * modules/truncf-ieee: New file.
16744         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
16745         test whether truncf works according to ISO C 99 with IEC 60559.
16746         * m4/truncf-ieee.m4: New file.
16747         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
16748         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
16749         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
16750         * modules/truncf-ieee-tests: New file.
16751         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
16752         * tests/test-truncf1.c (main): Remove signbit tests.
16753         * modules/truncf-tests (Depends-on): Remove 'signbit'.
16754         * doc/posix-functions/truncf.texi: Mention the new module.
16755
16756 2010-12-21  Bruno Haible  <bruno@clisp.org>
16757
16758         New module 'ceilf-ieee'.
16759         * modules/ceilf-ieee: New file.
16760         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
16761         test whether ceilf works according to ISO C 99 with IEC 60559.
16762         * m4/ceilf-ieee.m4: New file.
16763         * modules/ceilf-ieee-tests: New file.
16764         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
16765         * tests/test-ceilf1.c (main): Remove signbit tests.
16766         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
16767         * doc/posix-functions/ceilf.texi: Mention the new module.
16768
16769 2010-12-21  Bruno Haible  <bruno@clisp.org>
16770
16771         New module 'floorf-ieee'.
16772         * modules/floorf-ieee: New file.
16773         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
16774         test whether floorf works according to ISO C 99 with IEC 60559.
16775         * m4/floorf-ieee.m4: New file.
16776         * modules/floorf-ieee-tests: New file.
16777         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
16778         * tests/test-floorf1.c (main): Remove signbit tests.
16779         * modules/floorf-tests (Depends-on): Remove 'signbit'.
16780         * doc/posix-functions/floorf.texi: Mention the new module.
16781
16782 2010-12-21  Bruno Haible  <bruno@clisp.org>
16783
16784         Support for minus zero in autoconf macros.
16785         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
16786         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
16787         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
16788         * tests/minus-zero.h: Update comments.
16789
16790 2010-12-21  Bruno Haible  <bruno@clisp.org>
16791
16792         Tests for module 'ceil'.
16793         * modules/ceil-tests: New file.
16794         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
16795         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
16796
16797 2010-12-21  Bruno Haible  <bruno@clisp.org>
16798
16799         Tests for module 'floor'.
16800         * modules/floor-tests: New file.
16801         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
16802         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
16803
16804 2010-12-21  Bruno Haible  <bruno@clisp.org>
16805
16806         math: Fix indentation.
16807         * lib/math.in.h (floorf): Fix indentation.
16808
16809 2010-12-21  Bruno Haible  <bruno@clisp.org>
16810
16811         Fix cross-compilation guesses on Solaris.
16812         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
16813         not match "solaris2.10".
16814         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
16815         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
16816         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
16817
16818 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
16819
16820         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
16821         This fixes a problem observed with the latest coreutils snapshot
16822         that caused a test to fail on Solaris 8.  src/csplit.c's call
16823         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
16824         earlier, instead of returning the number of bytes that would have
16825         been generated; this causes csplit to incorrectly report memory
16826         exhaustion.
16827         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
16828         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
16829         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
16830         comments to match.
16831         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
16832         Fix typo in matching older versions of Solaris: "solaris2.10"
16833         is matched by the shell pattern "solaris2.[0-9]*".  This matters
16834         only for guessing while cross-compiling.
16835         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
16836
16837 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
16838
16839         ftoastr: fix comment again
16840         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
16841         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
16842         Also, simplify example a bit by using flags = 0.
16843
16844 2010-12-20  Bruno Haible  <bruno@clisp.org>
16845
16846         round*, trunc*: Update documentation regarding glibc.
16847         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
16848         * doc/posix-functions/round.texi: Likewise.
16849         * doc/posix-functions/roundl.texi: Likewise.
16850         * doc/posix-functions/truncf.texi: Likewise.
16851         * doc/posix-functions/trunc.texi: Likewise.
16852         * doc/posix-functions/truncl.texi: Likewise.
16853
16854 2010-12-20  Bruno Haible  <bruno@clisp.org>
16855
16856         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
16857         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
16858         * doc/posix-functions/round.texi: Likewise.
16859         * doc/posix-functions/roundl.texi: Likewise.
16860
16861 2010-12-20  Bruno Haible  <bruno@clisp.org>
16862
16863         ttyname_r: Add missing declaration on HP-UX 11.
16864         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
16865         HAVE_TTYNAME_R.
16866         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
16867         declared. Set HAVE_TTYNAME_R always.
16868         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16869         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
16870         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
16871         HAVE_TTYNAME_R.
16872         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
16873
16874 2010-12-20  Bruno Haible  <bruno@clisp.org>
16875
16876         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
16877         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
16878         * doc/posix-functions/getlogin_r.texi: Likewise.
16879         * tests/test-getlogin.c: Include <errno.h>.
16880         (main): Avoid test failure on HP-UX 11.11.
16881         * tests/test-getlogin_r.c (main): Likewise.
16882
16883 2010-12-20  Bruno Haible  <bruno@clisp.org>
16884
16885         getlogin_r: Add missing declaration on HP-UX 11.
16886         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
16887         declared also when it exists as a function.
16888         * doc/posix-functions/getlogin_r.texi: Document this workaround.
16889
16890 2010-12-20  Bruno Haible  <bruno@clisp.org>
16891
16892         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
16893         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
16894         through wcrtomb.
16895
16896 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
16897
16898         ftoastr: fix comment
16899         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
16900         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
16901
16902 2010-12-19  Bruno Haible  <bruno@clisp.org>
16903
16904         isnan: Ensure it is a macro.
16905         * lib/math.in.h (isnan): Define as a macro if not already a macro.
16906         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
16907         Solaris.
16908
16909 2010-12-19  Bruno Haible  <bruno@clisp.org>
16910
16911         ldexpl test: Fix link error on OSF/1 5.1.
16912         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
16913
16914 2010-12-19  Bruno Haible  <bruno@clisp.org>
16915
16916         wctype: Make it work in C++ mode on OSF/1 5.1.
16917         * lib/wctype.in.h (iswblank): Declare but not define here.
16918         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
16919         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
16920         * modules/wctype (Files): Add lib/iswblank.c.
16921
16922 2010-12-19  Bruno Haible  <bruno@clisp.org>
16923
16924         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
16925         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
16926         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
16927
16928 2010-12-19  Bruno Haible  <bruno@clisp.org>
16929
16930         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
16931         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
16932         _POSIX_PII_SOCKET.
16933         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
16934         * doc/posix-functions/recvfrom.texi: Likewise.
16935         * doc/posix-functions/send.texi: Likewise.
16936         * doc/posix-functions/sendto.texi: Likewise.
16937
16938 2010-12-19  Bruno Haible  <bruno@clisp.org>
16939
16940         tcgetsid: Add missing declaration on OSF/1 5.1.
16941         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
16942         HAVE_TCGETSID.
16943         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
16944         Don't set HAVE_TCGETSID.
16945         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
16946         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
16947         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
16948         HAVE_TCGETSID.
16949         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
16950
16951 2010-12-19  Bruno Haible  <bruno@clisp.org>
16952
16953         stdio: Fix problem with popen() declaration on OSF/1 5.1.
16954         * lib/stdio.in.h: During the include_next statement, let recursive
16955         includes of this file include only the system header file.
16956
16957 2010-12-19  Bruno Haible  <bruno@clisp.org>
16958
16959         iconv_open: Fix regression from 2010-12-04.
16960         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
16961         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
16962
16963 2010-12-19  Bruno Haible  <bruno@clisp.org>
16964
16965         stdbool test: Avoid a gcc warning.
16966         * tests/test-stdbool.c (main): Fail if e1 is false.
16967         Reported by Jim Meyering.
16968
16969 2010-12-19  Jim Meyering  <meyering@redhat.com>
16970
16971         setenv: restore to working order
16972         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
16973         mistakenly removed.
16974         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
16975         HAVE_SETENV.
16976         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
16977         HAVE_SETENV.
16978
16979 2010-12-19  Bruno Haible  <bruno@clisp.org>
16980
16981         Document some different function declarations on OSF/1 5.1.
16982         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
16983         * doc/posix-functions/inet_ntop.texi: Likewise.
16984         * doc/posix-functions/gethostname.texi: Likewise.
16985         * lib/unistd.in.h (gethostname): Update comment.
16986
16987 2010-12-19  Bruno Haible  <bruno@clisp.org>
16988
16989         doc: Mention vasprintf-posix module.
16990         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
16991         the 'vasprintf-posix' module.
16992         * doc/glibc-functions/vasprintf.texi: Likewise.
16993
16994 2010-12-19  Bruno Haible  <bruno@clisp.org>
16995
16996         unsetenv: Add missing declaration on OSF/1 5.1.
16997         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
16998         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
16999         Don't set HAVE_UNSETENV. In the test program, set _BSD.
17000         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
17001         not HAVE_UNSETENV.
17002         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
17003         HAVE_UNSETENV.
17004         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
17005
17006 2010-12-19  Bruno Haible  <bruno@clisp.org>
17007
17008         setenv: Add missing declaration on OSF/1 5.1.
17009         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
17010         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
17011         declared. Don't set HAVE_SETENV.
17012         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
17013         not HAVE_SETENV.
17014         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
17015         HAVE_SETENV.
17016         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
17017
17018 2010-12-19  Bruno Haible  <bruno@clisp.org>
17019
17020         nl_langinfo tests: Avoid gcc warning.
17021         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
17022
17023 2010-12-19  Bruno Haible  <bruno@clisp.org>
17024
17025         mknod: Avoid error in C++ mode on OSF/1 with GCC.
17026         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
17027         _GL_CXXALIAS_SYS.
17028
17029 2010-12-19  Bruno Haible  <bruno@clisp.org>
17030
17031         stdbool: Relax test.
17032         * tests/test-stdbool.c (e): Don't require that casts from a variable's
17033         address to 'bool' work in static initializer, for compilers other than
17034         GCC.
17035
17036 2010-12-19  Bruno Haible  <bruno@clisp.org>
17037
17038         ftello: Add missing declaration on OSF/1 5.1.
17039         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
17040         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
17041         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
17042         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
17043         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
17044
17045 2010-12-19  Bruno Haible  <bruno@clisp.org>
17046
17047         fseeko: Add missing declaration on OSF/1 5.1.
17048         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
17049         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
17050         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
17051         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
17052         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
17053
17054 2010-12-19  Bruno Haible  <bruno@clisp.org>
17055
17056         fchdir: Add missing declaration on OSF/1 5.1.
17057         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
17058         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
17059         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
17060         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
17061         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
17062
17063 2010-12-19  Bruno Haible  <bruno@clisp.org>
17064
17065         relocatable-prog-wrapper: Separate from relocatable-prog.
17066         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
17067         uninstall-relocwrapper rule here.
17068         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
17069         Reported by Ian Beckwith <ianb@erislabs.net>.
17070
17071 2010-12-19  Bruno Haible  <bruno@clisp.org>
17072
17073         unistr/u8-mbsnlen: Add missing dependency.
17074         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
17075         Reported by Ian Beckwith <ianb@erislabs.net>.
17076
17077 2010-12-19  Bruno Haible  <bruno@clisp.org>
17078
17079         iconv: Make it possible again to use this module without 'iconv-h'.
17080         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
17081         if it is not defined.
17082         Reported by Ian Beckwith <ianb@erislabs.net>.
17083
17084 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
17085
17086         acl: port to Solaris 8 when copying from tmpfs to ufs
17087         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
17088         error number.  Problem observed on Solaris 8 with latest
17089         coreutils, with "mv A B", where A is on a tmpfs file system and B
17090         is on a ufs file system.  This caused coreutils' mv/part-symlink
17091         test to fail.
17092
17093         tests: set fail=0 at start
17094         * tests/init.sh (setup_): Move fail=0 initialization here ...
17095         (mktempd_): ... from here, so that tests can rely on fail being
17096         set to 0 initially.  This fixes a problem in coreutils; see:
17097         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
17098
17099 2010-12-18  Bruno Haible  <bruno@clisp.org>
17100
17101         memmem-simple: Stylistic changes.
17102         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
17103         Fix preprocessor directive indentation.
17104
17105 2010-12-15  Pádraig Brady <P@draigBrady.com>
17106
17107         memmem, memmem-simple: reorganize and expand empty needle check
17108         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
17109         functional checks to memmem-simple so that one has a fully functional
17110         memmem by using just this module.
17111         Restrict the performance only check to the memmem module.
17112         Also expand the empty needle check to ensure the correct
17113         pointer is returned, not just a non NULL pointer.
17114         * doc/glibc-functions/memmem.texi: Rearrange the portability
17115         documentation to correlate with the rearranged checks.
17116         Clarify exactly how the memmem and memmem-simple modules
17117         relate to each other.
17118
17119 2010-12-15  Pádraig Brady <P@draigBrady.com>
17120             Bruno Haible  <bruno@clisp.org>
17121
17122         Improve cross-compilation guesses for uClibc.
17123         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
17124         that uClibc does not have the glibc bug.
17125         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
17126         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
17127
17128 2010-12-14  Eric Blake  <eblake@redhat.com>
17129
17130         configmake: provide fallbacks for oldest supported autotools
17131         * m4/configmake.m4: New file.
17132         * modules/configmake (Files): Ship it.
17133         (configure.ac): Use it to guarantee fallbacks.
17134
17135 2010-12-13  Pádraig Brady <P@draigBrady.com>
17136
17137         read-file: Improve handling of large files
17138         * lib/read-file.c (fread_file): Minimize realloc()s
17139         for regular files, and better manage sizes around SIZE_MAX.
17140
17141 2010-12-13  Eric Blake  <eblake@redhat.com>
17142
17143         cloexec, fcntl: relax license
17144         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
17145         consent from all contributors.
17146         * modules/fcntl (License): Likewise.
17147
17148 2010-12-10  Bruno Haible  <bruno@clisp.org>
17149
17150         Tests for module 'pipe-posix'.
17151         * modules/pipe-posix-tests: New file.
17152         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
17153
17154 2010-12-10  Bruno Haible  <bruno@clisp.org>
17155
17156         pipe-posix: Make it work in C++ mode.
17157         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
17158         (pipe): Use common idiom, not a macro definition.
17159         * lib/pipe.c: New file.
17160         * m4/pipe.m4: New file.
17161         * modules/pipe-posix (Description): Enhance.
17162         (Files): Add lib/pipe.c, m4/pipe.m4.
17163         (configure.ac): Invoke gl_FUNC_PIPE.
17164         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
17165         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
17166         * tests/test-unistd-c++.cc: Check the signature of pipe.
17167
17168 2010-12-10  Bruno Haible  <bruno@clisp.org>
17169
17170         Rename module 'pipe' to 'spawn-pipe'.
17171         * modules/spawn-pipe: New file, renamed from modules/pipe.
17172         (Files, configure.ac, Makefile.am): Update.
17173         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
17174         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
17175         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
17176         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
17177         "spawn-pipe.h" instead of "pipe.h".
17178         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
17179         to gl_SPAWN_PIPE.
17180         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
17181         (Files, Makefile.am): Update.
17182         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
17183         Update.
17184         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
17185         Include "spawn-pipe.h" instead of "pipe.h".
17186         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
17187         * lib/javacomp.c: Likewise.
17188         * lib/javaversion.c: Likewise.
17189         * lib/pipe-filter-gi.c: Likewise.
17190         * lib/pipe-filter-ii.c: Likewise.
17191         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
17192         * modules/javacomp (Depends-on): Likewise.
17193         * modules/javaversion (Depends-on): Likewise.
17194         * modules/pipe-filter-gi (Depends-on): Likewise.
17195         * modules/pipe-filter-ii (Depends-on): Likewise.
17196         * MODULES.html.sh (Executing programs): Update.
17197         * NEWS: Mention the change.
17198
17199 2010-12-10  Eric Blake  <eblake@redhat.com>
17200
17201         pipe-posix: new module
17202         * modules/pipe-posix: New file.
17203         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
17204         (gl_UNISTD_H): Check for declaration.
17205         * modules/unistd (Makefile.am): Substitute it.
17206         * lib/unistd.in.h (pipe): Provide it for mingw.
17207         * doc/posix-functions/pipe.texi (pipe): Update documentation.
17208         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
17209
17210 2010-12-07  Bruno Haible  <bruno@clisp.org>
17211
17212         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
17213         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
17214         u8_strcmp_gnu.
17215         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
17216
17217 2010-12-06  Bruno Haible  <bruno@clisp.org>
17218
17219         Update internal documentation.
17220         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
17221
17222 2010-12-04  Bruno Haible  <bruno@clisp.org>
17223
17224         Put more information about failed tests into the test return codes.
17225         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
17226         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
17227         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
17228         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
17229         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
17230         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17231         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17232         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
17233         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
17234         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17235         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
17236         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
17237         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
17238         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17239         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
17240         returns a bit mask.
17241         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
17242         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
17243         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
17244         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
17245         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
17246         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
17247         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
17248         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
17249         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
17250         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
17251         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17252         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
17253         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17254         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
17255         * m4/link.m4 (gl_FUNC_LINK): Likewise.
17256         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
17257         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
17258         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
17259         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17260         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
17261         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17262         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
17263         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
17264         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17265         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17266         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
17267         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
17268         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
17269         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
17270         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
17271         gl_PRINTF_PRECISION): Likewise.
17272         * m4/regex.m4 (gl_REGEX): Likewise.
17273         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
17274         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17275         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
17276         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17277         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
17278         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17279         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17280         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
17281         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17282         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17283         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
17284         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
17285         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
17286         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
17287         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17288         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17289         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
17290         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
17291         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
17292         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
17293         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
17294         enumerated value.
17295         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
17296
17297 2010-12-04  Bruno Haible  <bruno@clisp.org>
17298
17299         Update for Solaris 11 2010-11.
17300         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
17301         Express, released in November 2010.
17302
17303 2010-12-04  Bruno Haible  <bruno@clisp.org>
17304
17305         nproc: Relax license.
17306         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
17307         and Paul Eggert.
17308         Requested by Ludovic Courtès <ludo@gnu.org>.
17309
17310 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
17311
17312         utimecmp: fine-grained src to nearby coarse-grained dest
17313
17314         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
17315         and the source is on a file system with higher-resolution time
17316         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
17317         not work, and the time stamps are close together, the algorithm to
17318         determine the exact resolution from the read-back mtime was buggy:
17319         it had a "!=" where it should have had an "==".  This bug has been
17320         in the code ever since it was introduced to gnulib.
17321         Problem reported by Dan Jacobson in
17322         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
17323
17324 2010-11-30  Bruno Haible  <bruno@clisp.org>
17325
17326         strerror_r-posix: Fix autoconf test.
17327         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
17328
17329 2010-11-28  Bruno Haible  <bruno@clisp.org>
17330             Paul Eggert  <eggert@cs.ucla.edu>
17331
17332         Tests for module 'getdomainname'.
17333         * modules/getdomainname-tests: New file.
17334         * tests/test-getdomainname.c: New file, based on
17335         tests/test-gethostname.c.
17336
17337 2010-11-28  Bruno Haible  <bruno@clisp.org>
17338             Paul Eggert  <eggert@cs.ucla.edu>
17339
17340         getdomainname: Use the system function when possible.
17341         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
17342         (getdomainname): Replace if needed. Provide the declaration if it is
17343         missing. Don't use _GL_CXXALIAS_SYS_CAST.
17344         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
17345         (getdomainname): When the system has getdomainname, call the system
17346         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
17347         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
17348         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
17349         found in libnsl. Look for the declaration also in <netdb.h>. Replace
17350         the function if its second argument is of type 'int' or if it is found
17351         in libnsl.
17352         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
17353         <sys/systeminfo.h> and sysinfo().
17354         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
17355         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17356         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
17357         HAVE_GETDOMAINNAME.
17358         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
17359         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
17360         * doc/glibc-functions/getdomainname.texi: Document the problems with
17361         the getdomainname declaration.
17362
17363 2010-11-28  Bruno Haible  <bruno@clisp.org>
17364
17365         sys_socket: Ensure ss_family field on AIX.
17366         * lib/sys_socket.in.h (ss_family): New macro definition.
17367         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
17368         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
17369         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
17370         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17371         * modules/sys_socket (Makefile.am): Substitute
17372         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17373         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
17374
17375 2010-11-27  Bruno Haible  <bruno@clisp.org>
17376
17377         readline: Improve configure output.
17378         * m4/readline.m4 (gl_FUNC_READLINE): Make the
17379         "checking for readline..." result understandable.
17380
17381 2010-11-27  Bruno Haible  <bruno@clisp.org>
17382
17383         *printf-posix: Detect a bug on Solaris 10/x86.
17384         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
17385         for floating-point output.
17386         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
17387         directive.
17388         * tests/test-snprintf-posix.h (test_function): Likewise.
17389         * tests/test-sprintf-posix.h (test_function): Likewise.
17390         * tests/test-vasprintf-posix.c (test_function): Likewise.
17391         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
17392         * doc/posix-functions/printf.texi: Likewise.
17393         * doc/posix-functions/snprintf.texi: Likewise.
17394         * doc/posix-functions/sprintf.texi: Likewise.
17395         * doc/posix-functions/vfprintf.texi: Likewise.
17396         * doc/posix-functions/vprintf.texi: Likewise.
17397         * doc/posix-functions/vsnprintf.texi: Likewise.
17398         * doc/posix-functions/vsprintf.texi: Likewise.
17399         * doc/glibc-functions/obstack_printf.texi: Likewise.
17400         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
17401
17402 2010-11-27  Bruno Haible  <bruno@clisp.org>
17403
17404         Fix link error when module libunistring-optional is in use.
17405         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
17406         * modules/striconveha-tests (Makefile.am): Likewise.
17407
17408 2010-11-27  Bruno Haible  <bruno@clisp.org>
17409
17410         regex: Mention link dependencies.
17411         * modules/regex (Link): New section.
17412         * modules/rpmatch (Link): Likewise.
17413         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
17414
17415 2010-11-27  Bruno Haible  <bruno@clisp.org>
17416
17417         ftoastr: Fix compilation error on Solaris.
17418         * lib/ftoastr.c: Include <config.h>.
17419
17420 2010-11-27  Bruno Haible  <bruno@clisp.org>
17421
17422         getloadavg: Update documentation.
17423         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
17424
17425 2010-11-27  Bruno Haible  <bruno@clisp.org>
17426
17427         sys_socket: Fix test whether the functions are declared.
17428         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
17429         not <sys/select.h>.
17430
17431 2010-11-27  Bruno Haible  <bruno@clisp.org>
17432
17433         getpass: Make sure to get system declaration on some platforms.
17434         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
17435         gl_USE_SYSTEM_EXTENSIONS.
17436         * modules/getpass (Depends-on): Add extensions.
17437
17438 2010-11-26  Bruno Haible  <bruno@clisp.org>
17439
17440         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
17441         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
17442         'iconv' module is present.
17443         (ICONV_CONST): New macro.
17444         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
17445         ICONV_CONST.
17446         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
17447         set ICONV_CONST.
17448         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
17449         here.
17450         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
17451         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
17452         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
17453         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
17454         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
17455         present.
17456
17457 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
17458
17459         ftoastr: comment fix
17460         * lib/ftoastr.c: "little" -> "little or no" in comment
17461
17462 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
17463
17464         stdint: port to GCC 4.3 + OSX + Octave
17465         On this platform, stdint.h is buggy and defines int64_t to long
17466         long int.  The replacement defined it to long int, causing
17467         problems with C++ style name mangling.  Instead, trust the system
17468         definition if INT64_MAX is defined, and likewise for the unsigned
17469         variant.   Problem reported by Jarno Rajahalme in
17470         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
17471         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
17472         and don't mess with int64_t and INT64_MAX in this case.
17473         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
17474
17475 2010-11-24  Bruno Haible  <bruno@clisp.org>
17476
17477         doc: Corrections regarding MacOS X 10.4 and 10.5.
17478         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
17479         MacOS X.
17480         Reported by Simon Josefsson.
17481
17482 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
17483
17484         Uninstall ".bin" files installed by relocwrapper.
17485         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
17486         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
17487         unless it is already there.
17488
17489 2010-11-21  Bruno Haible  <bruno@clisp.org>
17490
17491         Update for NetBSD 5.0.
17492         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17493         NetBSD; the test fails on NetBSD 5.0.
17494         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17495         about NetBSD.
17496
17497 2010-11-21  Bruno Haible  <bruno@clisp.org>
17498
17499         Update for HP-UX 11.23 and HP-UX 11.31.
17500         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
17501         HP-UX.
17502
17503 2010-11-21  Bruno Haible  <bruno@clisp.org>
17504
17505         Update for MacOS X 10.5.
17506         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17507         MacOS X; the test fails on MacOS X 10.5.8.
17508         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17509         about MacOS X.
17510
17511 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
17512
17513         bootstrap: add bootstrap_sync option.
17514         See discussion at
17515         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
17516         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
17517         * build-aux/bootstrap: Accept --bootstrap-sync to update
17518         bootstrap if it is not identical to the local gnulib's
17519         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
17520         enable this by default.  Accept --no-bootstrap-sync to disable
17521         it.
17522
17523 2010-11-20  Bruno Haible  <bruno@clisp.org>
17524
17525         Ensure that <features.h> is included before __GLIBC__ is tested.
17526         * lib/printf-parse.h: Include <features.h>.
17527         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
17528         Reported by Mike Frysinger <vapier@gentoo.org>.
17529
17530         Ensure that <features.h> is included before __GLIBC__ is tested.
17531         * lib/wchar.in.h: Include <features.h>.
17532         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
17533         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
17534         Reported by Mike Frysinger <vapier@gentoo.org>.
17535
17536         Ensure that <features.h> is included before __GLIBC__ is tested.
17537         * lib/arpa_inet.in.h: Include <features.h>.
17538         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
17539         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
17540         Reported by Mike Frysinger <vapier@gentoo.org>.
17541
17542         Ensure that <features.h> is included before __GLIBC__ is tested.
17543         * build-aux/link-warning.h: Include <features.h>.
17544         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
17545         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
17546         Reported by Mike Frysinger <vapier@gentoo.org>.
17547
17548         Ensure that <features.h> is included before __GLIBC__ is tested.
17549         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
17550         Reported by Mike Frysinger <vapier@gentoo.org>.
17551
17552 2010-11-20  Bruno Haible  <bruno@clisp.org>
17553
17554         memmem: Fix autoconf test.
17555         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
17556
17557 2010-11-20  Bruno Haible  <bruno@clisp.org>
17558
17559         Port to uClibc.
17560         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
17561         * lib/fcntl.in.h: Likewise.
17562         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
17563         * lib/mbrtowc.c (mbrtowc): Likewise.
17564         * lib/relocatable.c (find_shared_library_fullname): Likewise.
17565         * lib/strerror_r.c: Likewise.
17566         * lib/unistr/u8-strnlen.c: Likewise.
17567         * lib/vasnprintf.c (decimal_point_char): Likewise.
17568         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
17569         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
17570         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
17571         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
17572         * tests/test-sigaction.c (handler, main): Likewise.
17573         * lib/freading.h: Treat uClibc like a non-glibc platform.
17574         * lib/freading.c: Likewise.
17575         * lib/gettext.h: Likewise.
17576         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
17577         Likewise.
17578         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
17579         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
17580         * lib/propername.c (proper_name_utf8): Likewise.
17581         * lib/spawn.in.h: Likewise.
17582         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
17583         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
17584         mem_cd_iconveh_internal): Likewise.
17585         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
17586         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
17587         strstr, strcasestr): Likewise.
17588         * lib/unicodeio.c (unicode_to_mb): Likewise.
17589         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
17590         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
17591         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
17592         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
17593         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
17594         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
17595         * lib/unistr/u8-stpncpy.c: Likewise.
17596         * lib/vasnprintf.c (VASNPRINTF): Likewise.
17597         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
17598         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17599         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17600         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
17601         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
17602         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
17603         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
17604         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17605         Likewise.
17606         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
17607         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17608         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
17609         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17610         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17611         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17612         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17613         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
17614         * tests/test-getopt.h (OPTIND_MIN): Likewise.
17615         * tests/test-striconveha.c (main): Likewise.
17616         * tests/test-vasnprintf-posix.c (test_function): Likewise.
17617         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
17618         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
17619         * doc/posix-functions/getline.texi: Likewise.
17620         Reported by Mike Frysinger <vapier@gentoo.org>.
17621
17622 2010-11-20  Bruno Haible  <bruno@clisp.org>
17623
17624         nproc: Fix condition.
17625         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
17626         HAVE_PTHREAD_AFFINITY_NP.
17627
17628 2010-11-20  Bruno Haible  <bruno@clisp.org>
17629
17630         Fix a comment.
17631         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
17632
17633 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
17634
17635         ftoastr: don't assume snprintf
17636         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
17637         Implement a subset of snprintf here, by using sprintf safely.
17638         * modules/ftoastr (Depends-on): Remove snprintf.
17639
17640 2010-11-19  Jim Meyering  <meyering@redhat.com>
17641
17642         test-rename.h: fix compilation failure
17643         * tests/test-rename.h (test_rename): Add omitted "}".
17644
17645 2010-11-17  Jim Meyering  <meyering@redhat.com>
17646
17647         maint.mk: add a URL discussing the no-@acronym policy
17648         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
17649
17650 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
17651
17652         ftoastr: depend on snprintf, improve comments
17653         * lib/ftoastr.c: Also mention Loitsch's draft.
17654         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
17655         needed in the current implementation, but it might simplify
17656         speeding up the code later.
17657         * modules/ftoastr: Depend on snprintf; this improves portability.
17658         Suggested by Bruno Haible in the same email.
17659
17660         ftoastr: port to hosts lacking strtof and strtold
17661         Problem reported by Bruno Haible in
17662         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
17663         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
17664         environment and strtold (and presumably strtof) are not available.
17665         * modules/ftoastr (Files): Add m4/c-strtod.m4.
17666         (configure.ac): Require gl_C99_STRTOLD.
17667
17668 2010-11-18  Bruno Haible  <bruno@clisp.org>
17669
17670         c-strtold: Avoid link error on AIX 7.
17671         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
17672         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
17673         (gl_C_STRTOLD): Test whether strtold_l exists.
17674         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17675
17676 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
17677
17678         intprops: new macro INT_BITS_STRLEN_BOUND
17679         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
17680         ftoastr.h.  This exposes an internal of intprops.h that was formerly
17681         not exposed.  Also, it uses a slightly tighter bound than before;
17682         though this makes no practical difference, we might as well be as
17683         tight as we easily can.
17684
17685         ftoastr: new module, for lossless conversion of floats to short strings
17686         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
17687         * modules/ftoastr: New files.
17688
17689 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
17690
17691         bootstrap: port to Solaris sed
17692         * build-aux/bootstrap (get_version): Port to Solaris sed.
17693         See Ralf Wildenhues's note in
17694         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
17695
17696 2010-11-14  Jim Meyering  <meyering@redhat.com>
17697
17698         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
17699         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
17700         and move definition closer to sole use.
17701
17702 2010-11-13  Jim Meyering  <meyering@redhat.com>
17703
17704         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
17705         Now we require at least autoconf-2.59, which means the work-around
17706         is no longer needed.
17707         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
17708         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
17709         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
17710         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
17711         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
17712
17713 2010-11-13  Bruno Haible  <bruno@clisp.org>
17714
17715         rename, renameat: Avoid test failures at NFS mounted locations.
17716         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
17717         functions.
17718         (test_rename): Use assert_nonexistent.
17719         * tests/test-rename.c: Include <dirent.h>.
17720         * tests/test-renameat.c: Likewise.
17721         Reported by Gary V. Vaughan <gary@gnu.org>.
17722
17723         rename, renameat: Document Linux bug with NFS
17724         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
17725         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
17726         * doc/posix-functions/renameat.texi: Likewise.
17727         Suggested by Eric Blake.
17728
17729 2010-11-13  Bruno Haible  <bruno@clisp.org>
17730
17731         rename test: Add comments.
17732         * tests/test-rename.h (test_rename): Add structure and comments.
17733
17734 2010-11-13  Eric Blake  <eblake@redhat.com>
17735
17736         maintainer-makefile: cover a few more files
17737         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
17738         scripts generated within C files, for libvirt.
17739
17740 2010-11-13  Bruno Haible  <bruno@clisp.org>
17741
17742         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
17743         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
17744         character, return the number of bytes that belong together, not always
17745         1.
17746         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
17747         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
17748         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
17749         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
17750         number of bytes of an invalid character.
17751         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
17752         (main): Invoke it.
17753         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
17754         results.
17755         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
17756         malformed byte sequences.
17757         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
17758         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
17759         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
17760         Reported by Ben Pfaff and Paolo Bonzini.
17761
17762 2010-11-13  Bruno Haible  <bruno@clisp.org>
17763
17764         openat: Work around glibc bug with fchownat() and empty file names.
17765         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
17766         (gl_FUNC_FCHOWNAT): Invoke it.
17767         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
17768         * doc/posix-functions/fchownat.texi: Document the glibc bug.
17769         Reported by Gary V. Vaughan <gary@gnu.org>.
17770
17771 2010-11-13  Bruno Haible  <bruno@clisp.org>
17772
17773         openat: Ensure autoconf macro ordering.
17774         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
17775         gl_USE_SYSTEM_EXTENSIONS.
17776         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
17777
17778 2010-11-13  Bruno Haible  <bruno@clisp.org>
17779
17780         Update comments.
17781         * lib/unistr/u8-check.c: Update file name in comments.
17782         * lib/unistr/u8-mblen.c: Likewise.
17783         * lib/unistr/u8-prev.c: Likewise.
17784         * lib/unistr/u8-strmblen.c: Likewise.
17785         * lib/unistr/u8-strmbtouc.c: Likewise.
17786
17787 2010-11-13  Jim Meyering  <meyering@redhat.com>
17788
17789         tests: avoid test failure on Solaris 10 due to lack of PATH export
17790         * tests/test-update-copyright.sh: Don't forget to export PATH.
17791
17792         init.sh: ensure that IFS is defined, just in case...
17793         * tests/init.sh (setup_): Ensure that IFS is defined,
17794         so that saving and restoring it works as expected.  This
17795         appears to be useful at least for an old version of dash
17796         from a long time ago (RH 6).  See here for details:
17797         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
17798
17799         maint.mk: tighten "test a == b" check
17800         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
17801         test to files that contain something like #!/bin/sh.
17802         Without this, coreutils would get two false positives in
17803         the comments of C source files.
17804
17805 2010-11-12  Eric Blake  <eblake@redhat.com>
17806
17807         bootstrap: fix typo in previous attempt
17808         * build-aux/bootstrap (buildreq): Correct the grouping.
17809         Reported by Paul Eggert.
17810
17811         maintainer-makefile: prohibit test x == x
17812         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
17813         Based on a report by Matthias Bolte.
17814
17815         bootstrap: allow FreeBSD gzip
17816         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
17817         which has no '.' and goes to stderr.
17818         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
17819         Reported by Matthias Bolte.
17820
17821         maintainer-makefile: check for i18n setup
17822         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
17823         will likely work.
17824
17825 2010-11-12  Bruno Haible  <bruno@clisp.org>
17826
17827         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
17828         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
17829         * lib/nanosleep.c (nanosleep): Likewise.
17830
17831 2010-11-11  Bruno Haible  <bruno@clisp.org>
17832
17833         fcntl-h: Fix for use of C++ on glibc systems.
17834         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
17835         also on glibc systems in C++ mode.
17836         Reported by Gary V. Vaughan <gary@gnu.org>.
17837
17838 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
17839
17840         mknod: avoid false failure with dash
17841         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
17842
17843 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
17844
17845         unlink: Fix "is it should" typo in diagnostic.
17846         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
17847         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
17848
17849 2010-11-11  Bruno Haible  <bruno@clisp.org>
17850
17851         Tests for module 'strerror_r-posix'.
17852         * modules/strerror_r-posix-tests: New file.
17853         * tests/test-strerror_r.c: New file.
17854         * tests/test-string-c++.cc: Check the signature of strerror_r.
17855
17856         New module 'strerror_r-posix'.
17857         * lib/string.in.h (strerror_r): New declaration.
17858         * lib/strerror_r.c: New file.
17859         * m4/strerror_r.m4: New file.
17860         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
17861         of strerror_r.
17862         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
17863         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
17864         * modules/strerror_r-posix: New file.
17865         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
17866         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
17867         * doc/posix-functions/strerror_r.texi: Mention the new module and the
17868         portability problems.
17869
17870 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
17871
17872         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
17873         line is also considered for output. Quoted function name in shell
17874         command, so temporary files for functions like MyClass::operator()
17875         are removed correctly without errors.
17876
17877 2010-11-09  Bruno Haible  <bruno@clisp.org>
17878
17879         * doc/posix-functions/strerror.texi: List more failing platforms.
17880
17881         * doc/posix-functions/strerror.texi: Add a comment.
17882
17883 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
17884
17885         fdopendir: fix bug on MacOS X when low on file descriptors
17886
17887         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
17888         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
17889         All callers changed.
17890         (fdopendir): Invoke save_cwd at the top level, not after using
17891         multiple dup() calls to use up file descriptors.  Then retry
17892         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
17893         less than the maximum number of open file descriptors, because
17894         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
17895         on Mac OS X 10.6.4 for tar 1.24
17896         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
17897         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
17898         and for tar 1.25
17899         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
17900
17901 2010-11-07  Bruno Haible  <bruno@clisp.org>
17902
17903         vasnprintf: Support I flag on glibc systems.
17904         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
17905         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
17906         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
17907         snprintf function.
17908         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
17909         glibc systems.
17910         * tests/test-vasnprintf-posix3.c: New file.
17911         * modules/vasnprintf-posix-tests (Files): Add it.
17912         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
17913
17914 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
17915
17916         [html] Fix copy/paste bug: Use unique name for compiler warnings.
17917         * MODULES.html.sh: For compiler warnings, use name
17918         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
17919
17920 2010-11-05  Eric Blake  <eblake@redhat.com>
17921
17922         ceil, floor: avoid spurious failure with icc
17923         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
17924         [denormals-as-zero] when optimizing without -mieee-fp option.
17925         * tests/test-floorf2.c (floorf_reference): Likewise.
17926         * tests/test-ceilf1.c (dummy): New function.
17927         (main): Use it to outsmart icc's optimization.
17928         * tests/test-floorf1.c (dummy, main): Likewise.
17929
17930         tests: require working signbit
17931         * modules/ceilf-tests (Depends-on): Add signbit.
17932         * modules/ceill-tests (Depends-on): Likewise.
17933         * modules/floorf-tests (Depends-on): Likewise.
17934         * modules/floorl-tests (Depends-on): Likewise.
17935         * modules/round-tests (Depends-on): Likewise.
17936         * modules/roundf-tests (Depends-on): Likewise.
17937         * modules/roundl-tests (Depends-on): Likewise.
17938         * modules/trunc-tests (Depends-on): Likewise.
17939         * modules/truncf-tests (Depends-on): Likewise.
17940         * modules/truncl-tests (Depends-on): Likewise.
17941
17942         strtod: work around icc bug
17943         * lib/strtod.c (minus_zero): Define to working value.
17944         (strtod): Use it to avoid icc bug.
17945
17946         copysign: enhance tests
17947         * modules/copysign-tests (Files): Add minus-zero.h.
17948         * tests/test-copysign.c (main): Also test zeros.
17949
17950 2010-11-04  Eric Blake  <eblake@redhat.com>
17951
17952         ceil, floor, round, trunc: enhance tests of -0
17953         * tests/test-ceilf1.c (main): Ensure correct sign of result.
17954         * tests/test-ceill.c (main): Likewise.
17955         * tests/test-floorf1.c (main): Likewise.
17956         * tests/test-floorl.c (main): Likewise.
17957         * tests/test-round1.c (main): Likewise.
17958         * tests/test-roundf1.c (main): Likewise.
17959         * tests/test-roundl.c (main): Likewise.
17960         * tests/test-trunc1.c (main): Likewise.
17961         * tests/test-truncf1.c (main): Likewise.
17962         * tests/test-truncl.c (main): Likewise.
17963
17964 2010-11-04  Eric Blake  <eblake@redhat.com>
17965
17966         frexp, tests: work around ICC bug with -zero
17967         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
17968         works with more compilers.
17969         * tests/minus-zero.h: New file.
17970         * modules/ceilf-tests (Files): Include it.
17971         * modules/ceill-tests (Files): Likewise.
17972         * modules/floorf-tests (Files): Likewise.
17973         * modules/floorl-tests (Files): Likewise.
17974         * modules/frexp-nolibm-tests (Files): Likewise.
17975         * modules/frexp-tests (Files): Likewise.
17976         * modules/frexpl-nolibm-tests (Files): Likewise.
17977         * modules/frexpl-tests (Files): Likewise.
17978         * modules/isnan-tests (Files): Likewise.
17979         * modules/isnand-nolibm-tests (Files): Likewise.
17980         * modules/isnand-tests (Files): Likewise.
17981         * modules/isnanf-nolibm-tests (Files): Likewise.
17982         * modules/isnanf-tests (Files): Likewise.
17983         * modules/isnanl-nolibm-tests (Files): Likewise.
17984         * modules/isnanl-tests (Files): Likewise.
17985         * modules/round-tests (Files): Likewise.
17986         * modules/roundf-tests (Files): Likewise.
17987         * modules/roundl-tests (Files): Likewise.
17988         * modules/ldexpl-tests (Files): Likewise.
17989         * modules/signbit-tests (Files): Likewise.
17990         * modules/snprintf-posix-tests (Files): Likewise.
17991         * modules/sprintf-posix-tests (Files): Likewise.
17992         * modules/strtod-tests (Files): Likewise.
17993         * modules/trunc-tests (Files): Likewise.
17994         * modules/truncf-tests (Files): Likewise.
17995         * modules/truncl-tests (Files): Likewise.
17996         * modules/vsnprintf-posix-tests (Files): Likewise.
17997         * modules/vsprintf-posix-tests (Files): Likewise.
17998         * modules/vasnprintf-posix-tests (Files): Likewise.
17999         * modules/vasprintf-posix-tests (Files): Likewise.
18000         * tests/test-ceilf1.c (main): Use it.
18001         * tests/test-ceill.c (main): Likewise.
18002         * tests/test-floorf1.c (main): Likewise.
18003         * tests/test-floorl.c (main): Likewise.
18004         * tests/test-frexp.c (main): Likewise.
18005         * tests/test-frexpl.c (main): Likewise.
18006         * tests/test-isnan.c (main): Likewise.
18007         * tests/test-isnand.h (main): Likewise.
18008         * tests/test-isnanf.h (main): Likewise.
18009         * tests/test-isnanl.h (main): Likewise.
18010         * tests/test-ldexpl.c (main): Likewise.
18011         * tests/test-round.c (main): Likewise.
18012         * tests/test-roundf.c (main): Likewise.
18013         * tests/test-roundl.c (main): Likewise.
18014         * tests/test-signbit.c (test_signbitf, test_signbitd)
18015         (test_signbitl): Likewise.
18016         * tests/test-snprintf-posix.h (test_function): Likewise.
18017         * tests/test-sprintf-posix.h (test_function): Likewise.
18018         * tests/test-strtod.c (main): Likewise.
18019         * tests/test-trunc1.c (main): Likewise.
18020         * tests/test-truncf1.c (main): Likewise.
18021         * tests/test-truncl.c (main): Likewise.
18022
18023         isnanl: work around icc bug
18024         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
18025
18026 2010-11-03  Eric Blake  <eblake@redhat.com>
18027
18028         tests: fix compiler warnings
18029         * tests/test-getopt.h (test_getopt): Fix condition.
18030         * tests/test-getopt_long.h (test_getopt_long): Likewise.
18031         * tests/test-pipe2.c (main): Likewise.
18032         * tests/test-quotearg-simple.c (main): Avoid icc warning.
18033
18034         utimens: fix broken m4 test
18035         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
18036
18037 2010-10-28  Bruno Haible  <bruno@clisp.org>
18038
18039         posix_spawn*, getdtablesize: Relax license.
18040         * modules/posix_spawn (License): Change to LGPLv2+.
18041         * modules/posix_spawnp (License): Likewise.
18042         * modules/posix_spawn-internal (License): Likewise.
18043         * modules/posix_spawnattr_init (License): Likewise.
18044         * modules/posix_spawnattr_getflags (License): Likewise.
18045         * modules/posix_spawnattr_setflags (License): Likewise.
18046         * modules/posix_spawnattr_getpgroup (License): Likewise.
18047         * modules/posix_spawnattr_setpgroup (License): Likewise.
18048         * modules/posix_spawnattr_getschedparam (License): Likewise.
18049         * modules/posix_spawnattr_setschedparam (License): Likewise.
18050         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
18051         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
18052         * modules/posix_spawnattr_getsigdefault (License): Likewise.
18053         * modules/posix_spawnattr_setsigdefault (License): Likewise.
18054         * modules/posix_spawnattr_getsigmask (License): Likewise.
18055         * modules/posix_spawnattr_setsigmask (License): Likewise.
18056         * modules/posix_spawnattr_destroy (License): Likewise.
18057         * modules/posix_spawn_file_actions_init (License): Likewise.
18058         * modules/posix_spawn_file_actions_addclose (License): Likewise.
18059         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
18060         * modules/posix_spawn_file_actions_addopen (License): Likewise.
18061         * modules/posix_spawn_file_actions_destroy (License): Likewise.
18062         * modules/getdtablesize (License): Likewise.
18063         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
18064
18065 2010-10-26  Bruno Haible  <bruno@clisp.org>
18066
18067         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
18068         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
18069         Cygwin and mingw.
18070         Suggested by Eric Blake.
18071
18072 2010-10-26  Bruno Haible  <bruno@clisp.org>
18073
18074         stdio: Work around compilation error due to renameat() on Solaris 10.
18075         * lib/stdio.in.h: Include <unistd.h> on Solaris.
18076         * lib/renameat.c: Don't include <unistd.h> here.
18077         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
18078         Reported by Paul Eggert and Eric Blake.
18079
18080 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
18081
18082         renameat: port to Solaris 10, which declares renameat in unistd.h
18083
18084         * lib/renameat.c: Include unistd.h before stdio.h, because
18085         Solaris 10 declares renameat in unistd.h.  Problem encountered
18086         when building GNU tar 1.24 on Solaris 10.
18087
18088 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18089
18090         fdopendir: fix C89 compilation
18091         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
18092         compilers.
18093
18094 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
18095
18096         inttostr: simplify by removing unnecessary redundancy
18097         * lib/anytostr.c: Don't include verify.h.
18098         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
18099         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
18100         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
18101         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
18102         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
18103         Likewise.
18104         * modules/inttostr (Depends-on): Remove 'verify'.
18105
18106 2010-10-23  Bruno Haible  <bruno@clisp.org>
18107
18108         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
18109         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
18110         Reported by Eric Blake.
18111
18112 2010-10-23  Bruno Haible  <bruno@clisp.org>
18113
18114         Tests: Fix LOCALE_JA on MirBSD 10.
18115         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
18116         to an UTF-8 locale.
18117         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
18118         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18119         Reported by Eric Blake.
18120
18121 2010-10-21  Bruno Haible  <bruno@clisp.org>
18122
18123         nl_langinfo test: Avoid test failure on NetBSD 5.
18124         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
18125         Reported by Eric Blake.
18126
18127 2010-10-21  Eric Blake  <eblake@redhat.com>
18128
18129         c-stack: work around libsigsegv 2.8 bug
18130         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
18131         overflow on at least PowerPC64.
18132
18133 2010-10-17  Bruno Haible  <bruno@clisp.org>
18134
18135         userspec: Drop redundant file.
18136         * modules/userspec (Files): Remove lib/inttostr.h.
18137
18138 2010-10-17  Bruno Haible  <bruno@clisp.org>
18139
18140         nl_langinfo tests: Silence some warnings.
18141         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
18142         Reported by Jim Meyering.
18143
18144 2010-10-17  Bruno Haible  <bruno@clisp.org>
18145
18146         Make use of GCC's attribute __alloc_size__.
18147         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
18148         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
18149         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
18150         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
18151         __alloc_size__.
18152         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
18153         Suggested by Jim Meyering.
18154
18155 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
18156
18157         bootstrap: anchor .gitignore entries.
18158         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
18159         with...
18160         (insert_vc_ignore): ... this new function, which prepends `/' to
18161         all .gitignore entries before passing them to
18162         insert_sorted_if_absent.
18163
18164 2010-10-16  Bruno Haible  <bruno@clisp.org>
18165
18166         nextafter: Fix configure check.
18167         * modules/nextafter (configure.ac): Correct expected prototype.
18168
18169 2010-10-16  Bruno Haible  <bruno@clisp.org>
18170
18171         termios: Update documentation.
18172         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
18173
18174 2010-10-16  Bruno Haible  <bruno@clisp.org>
18175
18176         tests: Make them compile with TinyCC.
18177         * tests/test-strstr.c (main): Remove parentheses around array
18178         initializer.
18179
18180 2010-10-15  Eric Blake  <eblake@redhat.com>
18181
18182         ignore-value: make header idempotent
18183         * lib/ignore-value.h: Add double-inclusion guards.
18184         Reported by Stefan Berger.
18185
18186 2010-10-15  Jim Meyering  <meyering@redhat.com>
18187
18188         GNUmakefile: handle "stable" target, not "major"
18189         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
18190         lists in maint.mk and announce-gen.  Without this, "make stable"
18191         would fail to ensure that $(VERSION) is up to date.
18192
18193 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
18194
18195         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
18196         & co.
18197
18198 2010-10-14  Bruno Haible  <bruno@clisp.org>
18199
18200         vasnprintf: Don't set errno to 0.
18201         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
18202         block that sets it to 0.
18203         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
18204
18205 2010-10-14  Bruno Haible  <bruno@clisp.org>
18206
18207         socketlib: Fix.
18208         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
18209         gl_PREREQ_SYS_H_WINSOCK2.
18210         Reported by Ian Beckwith <ianb@erislabs.net>.
18211
18212 2010-10-13  Jim Meyering  <meyering@redhat.com>
18213
18214         test-select-stdin.c: avoid warn_unused_result warnings
18215         * tests/test-select-stdin.c: Include "macros.h".
18216         ASSERT that read and fflush succeed.
18217
18218 2010-10-13  Jim Meyering  <meyering@redhat.com>
18219
18220         git-version-gen: do require git-VC'd files in cwd
18221         * build-aux/git-version-gen: Reject a git version string
18222         if there are no commits associated with the current directory.
18223         This avoids an unlikely false-positive (unrelated dir whose parent
18224         repository also contains a tag matching v*), as pointed out
18225         by Giuseppe Scrivano in
18226         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
18227
18228 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
18229
18230         argv-iter: omit nonconforming declaration
18231         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
18232         enum arg_iter_err declaration, which doesn't conform to C99.
18233         Solaris 10 cc warns about this.
18234
18235 2010-10-13  Eric Blake  <eblake@redhat.com>
18236
18237         termios: fix compilation on mingw
18238         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
18239         (gl_TERMIOS_H): Adjust it on mingw.
18240         * modules/termios (Makefile.am): Substitute new key.
18241         * lib/termios.in.h (includes): Make include_next conditional.
18242         * doc/posix-headers/termios.texi (termios.h): Update
18243         documentation.
18244         Reported by Daniel P. Berrange.
18245
18246 2010-10-13  Jim Meyering  <meyering@redhat.com>
18247
18248         git-version-gen: don't require that .git/ be in the current dir
18249         * build-aux/git-version-gen: Adjust this script so that it works
18250         when run from any working directory beneath the top-level .git/-
18251         containing directory.  Inspired by a patch from Giuseppe Scrivano,
18252         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
18253
18254         test-select: avoid warn_unused_result warnings
18255         * tests/test-select.c: Include "macros.h".
18256         ASSERT that each call to read, write, and pipe succeeds.
18257         While not technically required, also check each "close".
18258         * modules/select-tests (Files): Add tests/macros.h.
18259
18260         test-symlinkat: remove declaration of unused local
18261         * tests/test-symlinkat.c (main): Remove unused local, "buf".
18262
18263         test-inttostr: avoid shadowing warnings
18264         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
18265         and use malloc rather than the stack for the same reason as
18266         mentioned in the comment justifying the other allocation.
18267
18268 2010-10-11  Bruno Haible  <bruno@clisp.org>
18269
18270         stdlib: Allow multiple gnulib generated replacements to coexist.
18271         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
18272         Reported by Sam Steingold <sds@gnu.org>.
18273
18274 2010-10-11  Jim Meyering  <meyering@redhat.com>
18275
18276         fix a documentation typo
18277         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
18278
18279 2010-10-11  Eric Blake  <eblake@redhat.com>
18280
18281         futimens: work around Solaris 11 bug
18282         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
18283         * tests/test-futimens.h (test_futimens): Enhance, rather than
18284         weaken test.
18285         * doc/posix-functions/futimens.texi (futimens): Document the bug.
18286
18287 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
18288
18289         Indentation.
18290         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
18291         higher-level operators more to the left.
18292
18293 2010-10-11  Jim Meyering  <meyering@redhat.com>
18294
18295         test-futimens: avoid unwarranted test failure on Solaris 5.11
18296         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
18297         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
18298         because it tries to dereference the NULL name argument.
18299
18300 2010-10-11  Bruno Haible  <bruno@clisp.org>
18301
18302         Indentation.
18303         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
18304         indentation.
18305
18306 2010-10-11  Jim Meyering  <meyering@redhat.com>
18307
18308         spawn.in.h: make indentation consistent with parentheses
18309         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
18310         Make indentation consistent with parentheses.
18311
18312 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
18313
18314         Fix mismatched parens in previous commit
18315         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
18316         parens.
18317
18318 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
18319
18320         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
18321
18322         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
18323         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
18324         * lib/malloca.c: Include "verify.h".
18325         (verify1): Remove, replacing with a verify call.
18326         * lib/relocwrapper.c (verify1): Likewise.
18327         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
18328         Likewise.
18329         * modules/malloca (Depends-on): Add 'verify'.
18330         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
18331         * modules/vasnprintf (Depends-on): Add 'verify'.
18332         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18333         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18334         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18335         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18336         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18337         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18338         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18339
18340         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
18341
18342         Formerly the style was sometimes 2*X - 1, because the C standard
18343         was wrongly thought to disallow ?: in integral constant expressions.
18344         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
18345         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
18346         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18347         * lib/stdint.in.h (_verify_intmax_size): Likewise.
18348         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
18349         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
18350         verify that time_t cannot be floating.
18351
18352 2010-10-08  Eric Blake  <eblake@redhat.com>
18353
18354         time: enforce recent POSIX ruling that time_t is integral
18355         * lib/time.in.h (__time_t_must_be_integral): Detect any
18356         problematic systems, allowing the rest of gnulib to assume POSIX.
18357
18358 2010-10-08  Jim Meyering  <meyering@redhat.com>
18359
18360         fdopendir: fix a bug on systems lacking openat and /proc support
18361         OpenBSD 4.7 is one such system.  The most noticeable effect was
18362         failure of any application making nontrivial use of fts: rm, du,
18363         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
18364           ./rm: traversal failed: `a': Bad file descriptor
18365         Debugging that, you see that even though FD 6 was closed just
18366         prior to the opendir call in fd_clone_opendir, its resulting
18367         dir->dd_fd was 8, rather than the expected value of 6:
18368
18369         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
18370         93                close (fd);
18371         (gdb) n
18372         94                dir = fd_clone_opendir (dupfd);
18373         (gdb) n
18374         95                saved_errno = errno;
18375         (gdb) p dir->dd_fd
18376         $11 = 8
18377
18378         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
18379         The problem is that on OpenBSD, fd_clone_opendir has to resort
18380         to using the old-style save/restore CWD mechanism, due to its
18381         lack of openat/proc support, and *that* would steal the FD (6)
18382         that opendir was supposed to use.
18383
18384         The fix is to squirrel away the desired FD so that save_cwd uses a
18385         different one, and then free the dest FD right before calling opendir.
18386         That guarantees opendir will use the required file descriptor.
18387
18388         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
18389
18390 2010-10-08  Bruno Haible  <bruno@clisp.org>
18391
18392         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
18393         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
18394
18395 2010-10-08  Bruno Haible  <bruno@clisp.org>
18396
18397         nanosleep: Make replacement POSIX compliant.
18398         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
18399         is out of range.
18400         Reported by Jim Meyering.
18401
18402 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
18403
18404         bootstrap: add hook for altering gnulib.mk, for Bison
18405         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
18406         the Bison bootstrapping process can rewrite file names and variables
18407         in this file before later parts of 'bootstrap' use the file.
18408         Bison wants to include lib/gnulib.mk from the top-level makefile,
18409         so it needs the file names in this file to be relative to the top
18410         level, not relative to lib; plus it needs variable names to be
18411         rewritten.
18412         (slurp): Use the new function.
18413
18414         bootstrap: reformat for readability
18415         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
18416
18417 2010-10-08  Eric Blake  <eblake@redhat.com>
18418
18419         docs: update cygwin progress
18420         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
18421         1.7.7.
18422         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
18423         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
18424         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
18425         * doc/posix-functions/carg.texi (carg): Likewise.
18426         * doc/posix-functions/cargf.texi (cargf): Likewise.
18427         * doc/posix-functions/casin.texi (casin): Likewise.
18428         * doc/posix-functions/casinf.texi (casinf): Likewise.
18429         * doc/posix-functions/casinh.texi (casinh): Likewise.
18430         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
18431         * doc/posix-functions/catan.texi (catan): Likewise.
18432         * doc/posix-functions/catanf.texi (catanf): Likewise.
18433         * doc/posix-functions/catanh.texi (catanh): Likewise.
18434         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
18435         * doc/posix-functions/ccos.texi (ccos): Likewise.
18436         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
18437         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
18438         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
18439         * doc/posix-functions/cexp.texi (cexp): Likewise.
18440         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
18441         * doc/posix-functions/cimag.texi (cimag): Likewise.
18442         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
18443         * doc/posix-functions/clog.texi (clog): Likewise.
18444         * doc/posix-functions/clogf.texi (clogf): Likewise.
18445         * doc/posix-functions/conj.texi (conj): Likewise.
18446         * doc/posix-functions/conjf.texi (conjf): Likewise.
18447         * doc/posix-functions/cpow.texi (cpow): Likewise.
18448         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
18449         * doc/posix-functions/cproj.texi (cproj): Likewise.
18450         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
18451         * doc/posix-functions/creal.texi (creal): Likewise.
18452         * doc/posix-functions/crealf.texi (crealf): Likewise.
18453         * doc/posix-functions/csin.texi (csin): Likewise.
18454         * doc/posix-functions/csinf.texi (csinf): Likewise.
18455         * doc/posix-functions/csinh.texi (csinh): Likewise.
18456         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
18457         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
18458         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
18459         * doc/posix-functions/ctan.texi (ctan): Likewise.
18460         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
18461         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
18462         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
18463         * doc/posix-headers/complex.texi (complex.h): Likewise.
18464
18465 2010-10-07  Jim Meyering  <meyering@redhat.com>
18466
18467         parse-datetime: avoid compilation failure on OpenBSD 4.7
18468         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
18469         This works around a compilation failure on OpenBSD 4.7:
18470         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
18471
18472 2010-10-07  Eric Blake  <eblake@redhat.com>
18473
18474         docs: update cygwin progress
18475         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
18476         1.7.6.
18477         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
18478         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
18479         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
18480         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
18481         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
18482         Likewise.
18483         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
18484         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
18485         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
18486         Likewise.
18487         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
18488         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
18489         Likewise.
18490         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
18491         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
18492         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
18493         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
18494         Likewise.
18495         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
18496         Likewise.
18497         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
18498
18499         docs: update parse-datetime history
18500         * doc/parse-datetime.texi (Authors of parse_datetime): Better
18501         documentation of this function's history and alternatives.
18502
18503         cygwin: use more robust version check
18504         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
18505         exclude an eventual cygwin 1.9.1.
18506         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18507         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18508         (gl_FUNC_STRCASESTR): Likewise.
18509         Reported by Bruno Haible.
18510
18511 2010-10-06  Bruno Haible  <bruno@clisp.org>
18512
18513         string, sys_select: Avoid #including large headers unless necessary.
18514         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
18515         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
18516         OSF/1, BeOS, Haiku.
18517         Reported by Jim Meyering.
18518
18519 2010-10-05  Eric Blake  <eblake@redhat.com>
18520
18521         memmem, strstr, strcasestr: fix bug with long periodic needle
18522         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
18523         periodic needle having false positive.
18524         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
18525         and cygwin 1.7.7.
18526         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
18527         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18528         (gl_FUNC_STRCASESTR): Likewise.
18529         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18530         * tests/test-memmem.c (main): Expose the bug.
18531         * tests/test-strcasestr.c (main): Likewise.
18532         * tests/test-strstr.c (main): Likewise.
18533         * tests/test-c-strcasestr.c (main): Likewise.
18534         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
18535         * doc/posix-functions/strstr.texi (strstr): Likewise.
18536         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
18537         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
18538
18539 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18540
18541         parse-datetime: do some more renaming
18542         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
18543         parse_datetime, not get_date.  Mention the renaming.
18544         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
18545         in comments.
18546         * m4/bison.m4: Likewise.
18547
18548 2010-10-05  Eric Blake  <eblake@redhat.com>
18549
18550         parse-datetime: better name than get_date
18551         * NEWS: Reword the deprecation notice.
18552         * modules/get_date: Rename to modules/parse-datetime.
18553         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
18554         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
18555         * lib/get_date.y: Rename to lib/parse-datetime.y.
18556         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
18557         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
18558         * doc/getdate.texi: Provide fallback wrapper.
18559         * lib/getdate.h: Move guts, and wrap...
18560         * lib/parse-datetime.h: ...new file.
18561         * lib/parse-datetime.y (get_date): Rename...
18562         (parse_datetime): ...to this.
18563         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
18564         (gl_PARSE_DATETIME): ...to this.
18565         * doc/posix-functions/getdate.texi (get_date): Provide fallback
18566         documentation.
18567         * modules/getdate (Files): Provide fallback docs and header.
18568         (Notice, Depends-on): Update references.
18569         * tests/test-parse-datetime.c: Likewise.
18570         * DEPENDENCIES: Likewise.
18571         * MODULES.html.sh (Date and time <time.h>): Likewise.
18572         * doc/parse-datetime.texi (Date input formats)
18573         (Authors of parse_datetime): Likewise.
18574         * modules/parse-datetime (Files, configure.ac, Makefile.am)
18575         (Include): Likewise.
18576         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
18577         * gnulib-tool: Likewise.
18578         * m4/bison.m4 (gl_BISON): Likewise.
18579         Suggested by Bruno Haible.
18580
18581 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18582
18583         more ports to Solaris tr, which needs [] around ranges
18584         * gnulib-tool: Solaris tr needs [] around ranges.
18585         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
18586         * tests/test-pipe-filter-gi1.c (main): Likewise.
18587         * tests/test-pipe-filter-ii1.c (main): Likewise.
18588
18589 2010-10-05  Eric Blake  <eblake@redhat.com>
18590
18591         bootstrap: fix Solaris regression
18592         * build-aux/bootstrap (check_versions): Solaris tr still needs []
18593         around ranges.
18594         Reported by Pádraig Brady.
18595
18596         bootstrap: work with pkg-config
18597         * build-aux/bootstrap (check_versions): Also transliterate - in
18598         prerequisite name.
18599         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
18600         prerequisites that were already found, to avoid confusion.
18601         Reported by Justin Clift.
18602
18603         faccessat: remove unused wrappers
18604         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
18605         presence of these wrappers dragged in -lgen on Solaris.
18606         Reported by Clemens Brogi; fix suggested by Paul Eggert.
18607
18608 2010-10-05  Jim Meyering  <meyering@redhat.com>
18609
18610         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
18611         * Makefile (sc_pragma_columns): New syntax-check rule.
18612
18613 2010-10-04  Bruno Haible  <bruno@clisp.org>
18614
18615         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
18616         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
18617         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
18618         Reported by Bruce Korb and Eric Blake.
18619
18620 2010-10-04  Bruno Haible  <bruno@clisp.org>
18621
18622         threadlib: Make option --with-libpth-prefix work.
18623         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
18624         use $LIBPTH, not just -lpth.
18625
18626 2010-10-04  Bruno Haible  <bruno@clisp.org>
18627
18628         Avoid line length limitation from HP NonStop system header files.
18629         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
18630         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
18631         * lib/ctype.in.h: Likewise.
18632         * lib/dirent.in.h: Likewise.
18633         * lib/errno.in.h: Likewise.
18634         * lib/fcntl.in.h: Likewise.
18635         * lib/float.in.h: Likewise.
18636         * lib/getopt.in.h: Likewise.
18637         * lib/iconv.in.h: Likewise.
18638         * lib/inttypes.in.h: Likewise.
18639         * lib/langinfo.in.h: Likewise.
18640         * lib/locale.in.h: Likewise.
18641         * lib/math.in.h: Likewise.
18642         * lib/netdb.in.h: Likewise.
18643         * lib/netinet_in.in.h: Likewise.
18644         * lib/poll.in.h: Likewise.
18645         * lib/pthread.in.h: Likewise.
18646         * lib/pty.in.h: Likewise.
18647         * lib/sched.in.h: Likewise.
18648         * lib/se-selinux.in.h: Likewise.
18649         * lib/search.in.h: Likewise.
18650         * lib/signal.in.h: Likewise.
18651         * lib/spawn.in.h: Likewise.
18652         * lib/stdarg.in.h: Likewise.
18653         * lib/stddef.in.h: Likewise.
18654         * lib/stdint.in.h: Likewise.
18655         * lib/stdio.in.h: Likewise.
18656         * lib/stdlib.in.h: Likewise.
18657         * lib/string.in.h: Likewise.
18658         * lib/strings.in.h: Likewise.
18659         * lib/sys_file.in.h: Likewise.
18660         * lib/sys_ioctl.in.h: Likewise.
18661         * lib/sys_select.in.h: Likewise.
18662         * lib/sys_socket.in.h: Likewise.
18663         * lib/sys_stat.in.h: Likewise.
18664         * lib/sys_time.in.h: Likewise.
18665         * lib/sys_times.in.h: Likewise.
18666         * lib/sys_utsname.in.h: Likewise.
18667         * lib/sys_wait.in.h: Likewise.
18668         * lib/sysexits.in.h: Likewise.
18669         * lib/termios.in.h: Likewise.
18670         * lib/time.in.h: Likewise.
18671         * lib/unistd.in.h: Likewise.
18672         * lib/wchar.in.h: Likewise.
18673         * lib/wctype.in.h: Likewise.
18674         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
18675         * modules/ctype (Makefile.am): Likewise.
18676         * modules/dirent (Makefile.am): Likewise.
18677         * modules/errno (Makefile.am): Likewise.
18678         * modules/fcntl-h (Makefile.am): Likewise.
18679         * modules/float (Makefile.am): Likewise.
18680         * modules/getopt-posix (Makefile.am): Likewise.
18681         * modules/iconv-h (Makefile.am): Likewise.
18682         * modules/inttypes (Makefile.am): Likewise.
18683         * modules/langinfo (Makefile.am): Likewise.
18684         * modules/locale (Makefile.am): Likewise.
18685         * modules/math (Makefile.am): Likewise.
18686         * modules/netdb (Makefile.am): Likewise.
18687         * modules/netinet_in (Makefile.am): Likewise.
18688         * modules/poll-h (Makefile.am): Likewise.
18689         * modules/pthread (Makefile.am): Likewise.
18690         * modules/pty (Makefile.am): Likewise.
18691         * modules/sched (Makefile.am): Likewise.
18692         * modules/search (Makefile.am): Likewise.
18693         * modules/selinux-h (Makefile.am): Likewise.
18694         * modules/signal (Makefile.am): Likewise.
18695         * modules/spawn (Makefile.am): Likewise.
18696         * modules/stdarg (Makefile.am): Likewise.
18697         * modules/stddef (Makefile.am): Likewise.
18698         * modules/stdint (Makefile.am): Likewise.
18699         * modules/stdio (Makefile.am): Likewise.
18700         * modules/stdlib (Makefile.am): Likewise.
18701         * modules/string (Makefile.am): Likewise.
18702         * modules/strings (Makefile.am): Likewise.
18703         * modules/sys_file (Makefile.am): Likewise.
18704         * modules/sys_ioctl (Makefile.am): Likewise.
18705         * modules/sys_select (Makefile.am): Likewise.
18706         * modules/sys_socket (Makefile.am): Likewise.
18707         * modules/sys_stat (Makefile.am): Likewise.
18708         * modules/sys_time (Makefile.am): Likewise.
18709         * modules/sys_times (Makefile.am): Likewise.
18710         * modules/sys_utsname (Makefile.am): Likewise.
18711         * modules/sys_wait (Makefile.am): Likewise.
18712         * modules/sysexits (Makefile.am): Likewise.
18713         * modules/termios (Makefile.am): Likewise.
18714         * modules/time (Makefile.am): Likewise.
18715         * modules/unistd (Makefile.am): Likewise.
18716         * modules/wchar (Makefile.am): Likewise.
18717         * modules/wctype (Makefile.am): Likewise.
18718
18719 2010-10-04  Bruno Haible  <bruno@clisp.org>
18720
18721         read-file tests: Avoid a test failure on NonStop Kernel.
18722         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
18723         a regular file.
18724         Reported by Joachim Schmitz <schmitz@hp.com>.
18725
18726 2010-10-03  Bruno Haible  <bruno@clisp.org>
18727
18728         gnulib-tool: Fixes for --create-testdir with --libtool.
18729         * gnulib-tool (func_get_automake_snippet): Don't augment
18730         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
18731         an executable.
18732         (func_create_testdir): Handle module 'alloca' like func_import.
18733         Reported by Bruce Korb <bruce.korb@gmail.com>.
18734
18735 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
18736
18737         Avoid some lines longer than 80 characters.
18738         * lib/stdint.in.h: Break long comment lines.
18739         * lib/math.in.h: Likewise.
18740         (_GL_NUM_UINT_WORDS): New macro, for readability.
18741         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
18742         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
18743         * lib/stdlib.in.h: Likewise.
18744         * lib/spawn.in.h: Likewise.
18745         * lib/sys_socket.in.h: Update an URL.
18746         * lib/sys_stat.in.h: Break long line.
18747
18748 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
18749
18750         Improve pmccabe2html.
18751         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
18752         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
18753         when the sources change. Remove the line in the HTML about "Used
18754         ranges" (which implied that there might be other unused ranges),
18755         rename "Resume" to "Summary" (easier to understand for more users).
18756         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
18757         styles, and some unnecessary blank lines.
18758
18759 2010-10-03  Bruno Haible  <bruno@clisp.org>
18760             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
18761
18762         acl: Add support for ACLs on NonStop Kernel.
18763         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
18764         Check whether the function aclsort() exists.
18765         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
18766         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
18767         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
18768         (acl_nontrivial [HAVE_ACLSORT]: New function.
18769         (file_has_acl): Implement for NonStop Kernel.
18770         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
18771         (qset_acl): Implement for NonStop Kernel.
18772         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
18773         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
18774         (main): Implement for NonStop Kernel.
18775         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
18776         Kernel. Handle this flavor.
18777         * tests/test-set-mode-acl.sh: Likewise.
18778         * tests/test-copy-acl.sh: Likewise.
18779         * tests/test-copy-file.sh: Likewise.
18780
18781 2010-10-03  Bruno Haible  <bruno@clisp.org>
18782
18783         Info about ACLs on NonStop Kernel.
18784         * doc/acl-resources.txt: Add info about NonStop Kernel.
18785         References by Joachim Schmitz <schmitz@hp.com>.
18786
18787 2010-10-02  Bruno Haible  <bruno@clisp.org>
18788
18789         Define missing EDQUOT on NonStop Kernel.
18790         * lib/errno.in.h (EDQUOT): Assign a value if missing.
18791         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
18792         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
18793         missing.
18794         * doc/posix-headers/errno.texi: Mention the NSK bug.
18795         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
18796         Reported by Joachim Schmitz <schmitz@hp.com>.
18797
18798 2010-10-02  Bruno Haible  <bruno@clisp.org>
18799
18800         Update doc for POSIX:2008.
18801         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
18802         Update URL of POSIX specification.
18803
18804 2010-10-02  Bruno Haible  <bruno@clisp.org>
18805
18806         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
18807         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
18808         from gnulib, not from Automake.
18809
18810 2010-10-02  Bruno Haible  <bruno@clisp.org>
18811
18812         New module 'system-posix'.
18813         * modules/system-posix: New file.
18814         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
18815         module is present.
18816         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
18817         GNULIB_SYSTEM_POSIX.
18818         * modules/stdlib (Depends-on): Remove sys_wait.
18819         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
18820         * doc/posix-functions/system.texi: Mention the new module.
18821         * doc/posix-headers/stdlib.texi: Likewise.
18822         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
18823         define test_sys_wait_macros to a no-op.
18824         Reported by Sam Steingold <sds@gnu.org>.
18825
18826 2010-09-30  Bruno Haible  <bruno@clisp.org>
18827
18828         More renaming from 'getdate' to 'get_date'.
18829         * doc/get_date.texi: Renamed from doc/getdate.texi.
18830         * modules/get_date (Files): Update.
18831         * MODULES.html.sh (Date and time <time.h>): Update.
18832         * DEPENDENCIES: Update.
18833         * gnulib-tool: Update comment.
18834         * m4/bison.m4 (gl_BISON): Likewise.
18835         * m4/get_date.m4 (gl_GET_DATE): Likewise.
18836
18837 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
18838
18839         bootstrap: support ACLOCAL_FLAGS during aclocal
18840         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
18841         can add additional -I dir for third-party .m4 files.
18842
18843 2010-09-30  Eric Blake  <eblake@redhat.com>
18844
18845         bootstrap: use glibtoolize on MacOS
18846         * build-aux/bootstrap (check_versions): Convert libtool into
18847         libtoolize.
18848         (tool search): Move libtool check earlier, and look for
18849         glibtoolize for MacOS.
18850         (gnulib_tool_options): Auto-add --libtool when appropriate.
18851         Reported by Justin Clift.
18852
18853         poll: fix typo that broke test on MacOS
18854         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
18855         Reported by Justin Clift.
18856
18857         getdate: rename to get_date
18858         Note: getdate.h is not renamed, to minimize client impact.
18859         * modules/getdate: Mark obsolete.  Move old contents...
18860         * modules/get_date: ...to new module name.
18861         * modules/getdate-tests: Move...
18862         * modules/get_date-tests: ...here.
18863         * m4/getdate.m4: Move...
18864         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
18865         * lib/getdate.y: Move...
18866         * lib/get_date.y: ...here.
18867         * tests/test-getdate.c: Move...
18868         * tests/test-get_date.c: ...here.
18869         * doc/posix-functions/getdate.texi (getdate): Update name.
18870         * NEWS: Mention the change.
18871
18872 2010-09-29  Bruno Haible  <bruno@clisp.org>
18873
18874         Separate the module 'waitpid' from the module 'sys_wait'.
18875         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
18876         present.
18877         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
18878         gl_MODULE_INDICATOR_FOR_TESTS.
18879         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
18880         * modules/sys_wait (Depends-on): Remove waitpid.
18881         (Makefile.am): Substitute GNULIB_WAITPID.
18882         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
18883         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
18884         signature only if the 'waitpid' module is present.
18885         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
18886         * NEWS: Mention the change.
18887         * modules/grantpt (Depends-on): Add waitpid.
18888         * modules/wait-process (Depends-on): Likewise.
18889
18890 2010-09-29  Bruno Haible  <bruno@clisp.org>
18891
18892         More tests for module 'sys_wait'.
18893         * modules/sys_wait-c++-tests: New file.
18894         * tests/test-sys_wait-c++.cc: New file.
18895         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
18896         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
18897
18898 2010-09-29  Bruno Haible  <bruno@clisp.org>
18899
18900         New module 'waitpid'.
18901         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
18902         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
18903         Don't include <process.h>.
18904         (waitpid): Declare only, using modern idiom.
18905         * m4/waitpid.m4: New file.
18906         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
18907         * modules/waitpid: New file.
18908         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
18909         (Makefile.am): Update.
18910         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
18911
18912 2010-09-28  Bruno Haible  <bruno@clisp.org>
18913
18914         poll: Assume ANSI C.
18915         * lib/poll.c (poll): Use an ANSI C declaration.
18916
18917 2010-09-28  Bruno Haible  <bruno@clisp.org>
18918
18919         poll-h: Create poll.h on all platforms.
18920         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
18921         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
18922         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
18923         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
18924         (gl_REPLACE_POLL_H): Don't set POLL_H.
18925         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
18926         * modules/poll-h (Depends-on): Add include_next.
18927         (Makefile.am): Create poll.h unconditionally. Substitute also
18928         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
18929
18930 2010-09-28  Bruno Haible  <bruno@clisp.org>
18931
18932         Tests for module 'poll-h'.
18933         * modules/poll-h-c++-tests: New file.
18934         * tests/test-poll-h-c++.cc: New file.
18935
18936         Tests for module 'poll-h'.
18937         * modules/poll-h-tests: New file.
18938         * tests/test-poll-h.c: New file.
18939
18940 2010-09-28  Bruno Haible  <bruno@clisp.org>
18941
18942         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
18943         * modules/poll-h (Depends-on): Add 'extensions'.
18944
18945 2010-09-28  Bruno Haible  <bruno@clisp.org>
18946
18947         New module 'poll-h'.
18948         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
18949         (poll): Use modern idiom.
18950         * modules/poll-h: New file.
18951         * modules/poll (Files): Remove lib/poll.in.h.
18952         (Depends-on): Add poll-h.
18953         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
18954         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
18955         * m4/poll_h.m4: New file.
18956         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
18957         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
18958         and invoke gl_REPLACE_POLL_H.
18959         * lib/poll.c: Use common idiom.
18960         * tests/test-poll.c: Likewise.
18961         * doc/posix-headers/poll.texi: Mention the poll-h module.
18962         Suggested by Eric Blake.
18963
18964 2010-09-26  Bruno Haible  <bruno@clisp.org>
18965
18966         sys_wait: Implement WSTOPSIG.
18967         * lib/sys_wait.in.h (WSTOPSIG): New macro.
18968         Reported by Simon Josefsson.
18969
18970 2010-09-26  Simon Josefsson  <simon@josefsson.org>
18971
18972         stdlib, sys_wait: Avoid compilation error on mingw.
18973         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
18974
18975 2010-09-26  Bruno Haible  <bruno@clisp.org>
18976
18977         stdlib tests: Avoid code duplication.
18978         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
18979         * modules/sys_wait-tests (Files): Likewise.
18980         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
18981         * tests/test-stdlib.c: Include test-sys_wait.h.
18982         (main): Invoke test_sys_wait_macros.
18983         * tests/test-sys_wait.c: Include test-sys_wait.h.
18984         (main): Invoke test_sys_wait_macros.
18985
18986 2010-09-25  Simon Josefsson  <simon@josefsson.org>
18987
18988         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
18989         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
18990         sure Windows sockets are working before calling getaddrinfo.
18991         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
18992         * doc/gnulib.texi (Windows sockets): Fix typo.
18993
18994 2010-09-25  Bruno Haible  <bruno@clisp.org>
18995
18996         Tests for module 'regex-quote'.
18997         * modules/regex-quote-tests: New file.
18998         * tests/test-regex-quote.c: New file.
18999
19000         New module 'regex-quote'.
19001         * lib/regex-quote.h: New file.
19002         * lib/regex-quote.c: New file.
19003         * modules/regex-quote: New file.
19004         Suggested by Reuben Thomas <rrt@sc3d.org>.
19005
19006 2010-09-24  Bruno Haible  <bruno@clisp.org>
19007
19008         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
19009         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
19010
19011 2010-09-23  Bruno Haible  <bruno@clisp.org>
19012
19013         setenv: Relax license.
19014         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
19015         Blake.
19016         Requested by Eric Blake.
19017
19018 2010-09-22  Bruno Haible  <bruno@clisp.org>
19019
19020         termios: Relax license.
19021         * modules/termios (License): Change to LGPLv2+.
19022         Requested by Eric Blake.
19023
19024 2010-09-22  Bruno Haible  <bruno@clisp.org>
19025
19026         threadlib: Allow the package to change the default to 'no'.
19027         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
19028         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
19029         Reported by Paul Eggert.
19030
19031 2010-09-22  Pádraig Brady  <P@draigbrady.com>
19032             Bruno Haible  <bruno@clisp.org>
19033
19034         Fix endless loop in mbmemcasecoll.
19035         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
19036         byte.
19037         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
19038
19039 2010-09-22  Bruno Haible  <bruno@clisp.org>
19040
19041         Tests for module 'memcoll'.
19042         * modules/memcoll-tests: New file.
19043         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
19044
19045         memcoll, xmemcoll: Clarify size vs. length.
19046         * modules/memcoll.c (memcoll0): Clarify specification.
19047         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
19048         passed to collate_error.
19049
19050 2010-09-22  Bruno Haible  <bruno@clisp.org>
19051
19052         Tests for module 'memcasecmp'.
19053         * modules/memcasecmp-tests: New file.
19054         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
19055
19056 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19057
19058         * lib/pthread.in.h: Add split double-inclusion guard, and include
19059         system <pthread.h> if there is one.  Use @@-style as in other
19060         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
19061         pthread.h doesn't.
19062         (pthread_mutexattr_destroy, pthread_mutexattr_init):
19063         (pthread_mutexattr_settype, pthread_mutex_trylock):
19064         New static inline functions, if there's no system <pthread.h>.
19065         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
19066         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
19067         Approximate with mutexes if the system lacks spinlocks, as in
19068         MacOS.
19069         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
19070         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
19071         @@-style.  Check for spinlocks separately.
19072         (gl_PTHREAD_DEFAULTS): New macro.
19073         * modules/pthread: Redo to use a more typical style for in.h files.
19074
19075 2010-09-21  Eric Blake  <eblake@redhat.com>
19076
19077         net_if: enhance tests
19078         * tests/test-net_if.c (main): Move signature checks earlier.
19079         Print failures to stderr.
19080         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
19081         Document the bug that we do not yet fix.
19082
19083 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19084
19085         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
19086         about gnulib, not GSS.
19087
19088 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19089
19090         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
19091         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
19092         for Emacs.
19093         * build-aux/pmccabe2html: Make Makefile.am example code more
19094         cut-and-paste friendly.
19095
19096 2010-09-21  Simon Josefsson  <simon@josefsson.org>
19097
19098         * tests/test-net_if.c: New file.
19099         * modules/net_if-tests: New file.
19100
19101 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
19102
19103         pthread: add pthread_spin_destroy
19104         * lib/pthread.in.h (pthread_spin_destroy): New function.
19105
19106 2010-09-19  Bruno Haible  <bruno@clisp.org>
19107
19108         gnulib-tool: Fix --help output.
19109         * gnulib-tool (func_usage): Fix help message.
19110         Reported by Reuben Thomas <rrt@sc3d.org>.
19111
19112 2010-09-18  Jim Meyering  <meyering@redhat.com>
19113
19114         maint.mk: avoid unexpanded \n in two diagnostics
19115         * top/maint.mk (sc_prohibit_always_true_header_tests):
19116         Don't use a literal \n in a halt=... assignment.  It would not be
19117         expanded, and the two \n bytes would appear in the diagnostic output
19118         rather than the desired newline.  Use halt=$$(printf ... instead.
19119         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
19120
19121 2010-09-18  Bruno Haible  <bruno@clisp.org>
19122
19123         netinet_in: Doc tweak.
19124         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
19125         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19126
19127 2010-09-18  Jim Meyering  <meyering@redhat.com>
19128
19129         init.sh: correct an outdated comment
19130         * tests/init.sh (create_exe_shims_):  s/function/alias/
19131
19132         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
19133         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
19134         a file named "*.exe" is removed between the glob expansion and the
19135         processing of that oddly named file.
19136
19137 2010-09-17  Eric Blake  <eblake@redhat.com>
19138
19139         mirbsd: add some more support
19140         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
19141         in BSD family.
19142         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
19143         devices as OpenBSD.
19144         * m4/host-os.m4 (mirbsd): Add MirBSD.
19145
19146         tests: fix unportable assumption on sys/wait.h
19147         * tests/test-sys_wait.c (main): Relax test.
19148         * tests/test-stdlib.c (main): Likewise.
19149
19150         init.sh: accomodate directory with no .exes
19151         * tests/init.sh: Accomodate directory containing only scripts.
19152
19153         tests: avoid compiler warning
19154         * tests/test-stdlib.c (main): Use the variable.
19155
19156         fdutimens, fdutimensat: update signature, again
19157         * lib/utimens.h (gl_futimens): Delete, and move signature...
19158         (fdutimens): ...here.
19159         (fdutimensat): Rearrange signature.
19160         (lutimensat): Rename variable for clarity.
19161         * lib/fdutimensat.c (fdutimensat): Update signature.
19162         * lib/utimens.c (fdutimens): Likewise.
19163         (gl_futimens): Delete.
19164         (utimens, lutimens): Update callers.
19165         * lib/futimens.c (futimens): Likewise.
19166         * tests/test-fdutimensat.c: Likewise.
19167         * tests/test-utimens.c: Likewise.
19168         * tests/test-futimens.h: Update comment.
19169         * NEWS: Mention this.
19170         Suggested by Paul Eggert.
19171
19172 2010-09-17  Bruno Haible  <bruno@clisp.org>
19173
19174         Take over the maintenance of some older macros from Autoconf.
19175         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
19176         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
19177         GNU Autoconf.
19178         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
19179         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
19180
19181 2010-09-17  Eric Blake  <eblake@redhat.com>
19182
19183         fdutimensat: drop atflag validation
19184         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
19185         with valid fd, to close a race scenario where futimens is
19186         unsupported and FILE was replaced by a symlink.
19187         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
19188         accordingly.
19189         Suggested by Paul Eggert.
19190
19191 2010-09-16  Bruno Haible  <bruno@clisp.org>
19192
19193         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
19194         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
19195
19196 2010-09-16  Bruno Haible  <bruno@clisp.org>
19197
19198         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
19199         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
19200         login_tty exists.
19201         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19202
19203 2010-09-16  Bruno Haible  <bruno@clisp.org>
19204
19205         login_tty: Make the replacement code work on BSD systems.
19206         * lib/login_tty.c: Include <sys/ioctl.h>.
19207         (login_tty): Use ioctl TIOCSCTTY when available.
19208         * modules/login_tty (Depends-on): Add sys_ioctl.
19209         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19210
19211 2010-09-16  Bruno Haible  <bruno@clisp.org>
19212
19213         login_tty: Stricter unit test.
19214         * modules/login_tty-tests (Depends-on): Add tcgetsid.
19215         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
19216         and tcgetsid() after login_tty.
19217         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19218
19219 2010-09-16  Bruno Haible  <bruno@clisp.org>
19220
19221         New module 'tcgetsid'.
19222         * lib/tcgetsid.c: New file.
19223         * m4/tcgetsid.m4: New file.
19224         * modules/tcgetsid: New file.
19225         * modules/termios (Depends-on): Add c++defs, warn-on-use.
19226         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
19227         GNULIB_TCGETSID, HAVE_TCGETSID.
19228         * lib/termios.in.h: Include <sys/types.h>.
19229         (tcgetsid): New declaration.
19230         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
19231         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
19232         * doc/posix-functions/tcgetsid.texi: Mention the new module.
19233         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
19234
19235 2010-09-16  Bruno Haible  <bruno@clisp.org>
19236
19237         Tests for module 'termios'.
19238         * modules/termios-c++-tests: New file.
19239         * modules/termios-tests: New file.
19240         * tests/test-termios-c++.cc: New file.
19241         * tests/test-termios.c: New file.
19242
19243         New module 'termios'.
19244         * modules/termios: New file.
19245         * lib/termios.in.h: New file.
19246         * m4/termios_h.m4: New file.
19247         * doc/posix-headers/termios.texi: Mention the new module.
19248
19249 2010-09-16  Eric Blake  <eblake@redhat.com>
19250
19251         fdutimensat: add an atflag parameter
19252         * lib/fdutimensat.c (fdutimensat): Add new parameter.
19253         * lib/utimens.h (fdutimensat): Update prototype.
19254         * tests/test-fdutimensat.c: Adjust test to match.
19255         * NEWS: Document the change.
19256         Suggested by Paul Eggert.
19257
19258 2010-09-16  Bruno Haible  <bruno@clisp.org>
19259
19260         Fix typos in comments.
19261         * lib/striconveh.h: Fix typo in comment.
19262         * lib/login_tty.c (login_tty): Likewise.
19263
19264 2010-09-15  Bruno Haible  <bruno@clisp.org>
19265
19266         stdlib: clarify MirBSD WEXITSTATUS bug
19267         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
19268         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19269
19270 2010-09-15  Eric Blake  <eblake@redhat.com>
19271
19272         stdlib: work around MirBSD WEXITSTATUS bug
19273         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
19274         * modules/stdlib (Depends-on): Add sys_wait.
19275         * tests/test-sys_wait.c (main): Enhance test.
19276         * tests/test-stdlib.c (main): Likewise.
19277         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
19278
19279         docs: mention MacOS issue with WEXITSTATUS(constant)
19280         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
19281         issue.
19282         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19283
19284         strnlen: add tests
19285         * modules/strnlen-tests: New file.
19286         * tests/test-strnlen.c: Likewise.
19287
19288 2010-09-14  Bruno Haible  <bruno@clisp.org>
19289
19290         unistr/base: Avoid link errors when module 'libunistring' is also used.
19291         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
19292         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
19293         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
19294         Declare also when HAVE_LIBUNISTRING is set.
19295         Reported by Pádraig Brady <P@draigbrady.com>.
19296
19297 2010-09-14  Eric Blake  <eblake@redhat.com>
19298
19299         test-rawmemchr: make more robust
19300         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
19301         (Depends-on, configure.ac): Add needed prerequisites to use it.
19302         * modules/memchr-tests (Files, Depends-on, configure.ac):
19303         Likewise, to avoid implicit reliance on memchr module prereqs.
19304         * tests/test-memchr.c (main): Ensure proper masking.
19305         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
19306         reads.
19307
19308         memchr: detect glibc Alpha bug
19309         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
19310         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
19311         Alpha.
19312         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
19313         * tests/test-memchr.c (main): Enhance test.
19314         Reported by Nelson H. F. Beebe.
19315
19316 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19317
19318         fts, getcwd, glob: audit for dirfd returning -1
19319         * lib/fts.c (opendir): Remove #define; no longer used.
19320         (opendirat): New arg PDIR_FD.  All callers changed.
19321         (fts_build, _opendir2): Use new opendirat to avoid the need for
19322         dirfd, or for checking whether dirfd returns a negative value.
19323         Don't use opendir; always use openat followed by fdopendir.
19324         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
19325         it.
19326         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
19327         returns -1 here.
19328         * modules/fts (Depends-on): Remove dirfd.
19329         * modules/getcwd (Depends-on): Likewise.
19330
19331 2010-09-13  Eric Blake  <eblake@redhat.com>
19332
19333         float: fix broken MirBSD header
19334         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
19335         * doc/posix-headers/float.texi (float.h): Document it.
19336
19337 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19338
19339         fts: use O_NOFOLLOW to avoid race condition when opening a directory
19340         * lib/fts.c (opendirat): New arg extra_flags.
19341         (__opendir2): Use it to avoid following symlinks when opening
19342         a directory, if symlinks are not supposed to be followed.  See
19343         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
19344
19345         fdopendir: preserve argument fd before returning
19346         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
19347         (fdopendir_with_dup, fd_clone_opendir): New static functions.
19348         (fdopendir): Use them, arranging for FD to be open to the same
19349         directory that it was when it started.  (It might be temporarily
19350         closed while fdopendir is running, so this not thread- or
19351         signal-safe.)  Be careful to do the right thing even when file
19352         descriptors are scarce and dup fails with errno == EMFILE.  See
19353         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
19354
19355 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
19356
19357         regex: Pass the system regex if its only problem is 32-bit regoff_t.
19358         * NEWS: Document change.
19359         * m4/regex.m4: Disable test for regoff_t size.
19360
19361 2010-09-13  Jim Meyering  <meyering@redhat.com>
19362
19363         fts: don't operate on an invalid file descriptor after failed dup
19364         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
19365         negative file descriptor.
19366
19367 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
19368
19369         savedir: add streamsavedir, deprecate fdsavedir
19370         * NEWS: Mention deprecation of fdsavedir.
19371         * lib/savedir.c (streamsavedir): New extern function, whose name
19372         ends in "savedir" to be consistent with the others.  This differs
19373         from savedirstream in that it doesn't close its argument.  The
19374         next version of GNU tar will use this instead of fdsavedir, to
19375         avoid some race conditions and conserve file descriptors.
19376         (savedirstream): Reimplement as a wrapper around streamsavedir.
19377         (fdsavedir): Add a comment deprecating this function.  As far as
19378         I know, only GNU tar used it, and GNU tar doesn't need it any more.
19379         * lib/savedir.h (streamsavedir): New decl.
19380         (fdsavedir): Add a comment deprecating this.
19381
19382 2010-09-10  Bruno Haible  <bruno@clisp.org>
19383
19384         langinfo: Fix last commit.
19385         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
19386         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
19387         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19388
19389 2010-09-10  Bruno Haible  <bruno@clisp.org>
19390
19391         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
19392         * lib/progreloc.c (O_EXEC): Define fallback.
19393
19394 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
19395
19396         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
19397         * NEWS: Document recent changes to fcntl-h.
19398         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
19399         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
19400         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
19401         Similarly for O_SEARCH; this last was already true, but not documented.
19402         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
19403         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
19404         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
19405         Likewise.
19406         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
19407         is zero, not whether it is defined.
19408         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
19409         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
19410         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
19411
19412 2010-09-10  Bruno Haible  <bruno@clisp.org>
19413
19414         langinfo, nl_langinfo: Fix for IRIX 5.3.
19415         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
19416         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
19417         HAVE_LANGINFO_YESEXPR.
19418         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
19419         HAVE_LANGINFO_YESEXPR.
19420         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
19421         HAVE_LANGINFO_T_FMT_AMPM is 0.
19422         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
19423         HAVE_LANGINFO_YESEXPR is 0.
19424         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
19425         NOEXPR.
19426         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
19427         * doc/posix-functions/nl_langinfo.texi: Likewise.
19428         Reported by Eric Blake.
19429
19430 2010-09-10  Bruno Haible  <bruno@clisp.org>
19431
19432         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
19433         * doc/glibc-functions/login_tty.texi: Mention the include file problem
19434         on FreeBSD 8.0 and OpenBSD 4.6.
19435         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
19436         * m4/pty_h.m4 (gl_PTY_H): Likewise.
19437         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
19438         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
19439         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
19440         ac_includes_default.
19441         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19442
19443 2010-09-09  Eric Blake  <eblake@redhat.com>
19444
19445         strsignal: work around NetBSD bug
19446         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
19447         * lib/string.in.h (includes): Likewise.
19448         * doc/posix-functions/strsignal.texi (strsignal): Document the
19449         bug.
19450         Reported by Nelson H. F. Beebe.
19451
19452         gnulib-tool: work with NetBSD /bin/sh
19453         * gnulib-tool (func_cache_var, func_cache_lookup_module)
19454         (func_get_description, func_get_comment, func_get_status)
19455         (func_get_notice, func_get_applicability, func_get_filelist)
19456         (func_get_dependencies, func_get_autoconf_early_snippet)
19457         (func_get_autoconf_snippet, func_get_automake_snippet)
19458         (func_get_include_directive, func_get_link_directive)
19459         (func_get_license, func_get_maintainer, func_import): Avoid
19460         shell syntax errors from parsing syntax extensions.
19461
19462 2010-09-09  Bruno Haible  <bruno@clisp.org>
19463
19464         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19465         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
19466         a reliable way to determine whether the 'alias' command works.
19467
19468 2010-09-08  Jim Meyering  <meyering@redhat.com>
19469
19470         init.sh: penalize a set-x-impaired shell; don't disqualify it
19471         * tests/init.sh: Too many shells corrupt application stderr when
19472         you set -x, so we can't afford to disqualify them, since at least
19473         on Irix-6.5, that would disqualify all bourne shells.
19474         Instead, use a two-pass approach.
19475         On the first pass, try to find a shell that meets the stricter
19476         condition that set -x does not corrupt stderr.
19477         If no shell meets the stricter condition, retest each candidate
19478         shell, but without that extra condition.  Finally, when
19479         VERBOSE=yes is requested and set -x might cause trouble, simply
19480         issue a warning and refrain from enabling debug output.
19481
19482 2010-09-08  Eric Blake  <eblake@redhat.com>
19483
19484         unsetenv: fix OpenBSD bug
19485         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
19486         * doc/posix-functions/unsetenv.texi (unsetenv): Update
19487         documentation.
19488         Reported by Jim Meyering.
19489
19490         strtod: work around IRIX 6.5 bug
19491         * lib/strtod.c (strtod): Reparse number on shorter string if
19492         exponent parse was invalid.
19493         * tests/test-strtod.c (main): Add check for "0x1p 2".
19494         Reported by Tom G. Christensen.
19495
19496         getopt: optimize previous patch
19497         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
19498         empty variable.  Speed up awk script.
19499         Reported by Paolo Bonzini.
19500
19501 2010-09-08  Jim Meyering  <meyering@redhat.com>
19502
19503         test.sh: disqualify shells for which set -x corrupts stderr
19504         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
19505         and OpenBSD 4.7.  They make it so with "set -x", environment settings
19506         appear in stderr output.  For example, this command:
19507             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
19508         prints "P=1" on those two systems:
19509
19510 2010-09-08  Bruno Haible  <bruno@clisp.org>
19511
19512         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19513         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
19514         commands, because some shells ignore redirections when there is an
19515         error in the command lookup.
19516         Reported by Eric Blake.
19517
19518 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
19519
19520         * lib/regex.h: Fix a mention of `regex_compile' (should be
19521         `re_compile_pattern').
19522         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
19523         (re_set_registers): Correct name of parameter in comment.
19524
19525         * doc/regex.texi: Add documentation for missing syntax flags.
19526         Remove commented-out documentation of defunct syntax option
19527         RE_NO_EMPTY_ALTS.
19528         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
19529         Add documentation of re_set_registers.
19530         Document trick to re-use a pattern buffer by setting fastmap manually.
19531         Update documentation of struct re_pattern_buffer per public members.
19532         Uncomment documentation of equivalence class operators and
19533         collating symbol operators, since they are now implemented,
19534         Explain leftmost-longest matching in relation to alternatives.
19535         Tidy documentation of substring matching.
19536         Remove POSIX documentation, which is done better in
19537         glibc, and refer the reader there. Keep BSD API documentation, as
19538         that is not readily available elsewhere.
19539
19540 2010-09-07  Eric Blake  <eblake@redhat.com>
19541
19542         getopt: handle POSIXLY_CORRECT set but not exported
19543         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
19544         export state of POSIXLY_CORRECT, due to bash set -o posix.
19545         Reported by Dustin J. Mitchell.
19546
19547 2010-09-05  Bruno Haible  <bruno@clisp.org>
19548
19549         gnulib-tool: Highlight the changed options.
19550         * gnulib-tool (func_usage): Display the --import, --add-import,
19551         --remove-import explanations in bold font.
19552
19553 2010-09-06  Karl Berry  <karl@gnu.org>
19554
19555         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
19556
19557 2010-09-05  Bruno Haible  <bruno@clisp.org>
19558
19559         uniwidth/width: Update comment.
19560         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
19561         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
19562
19563 2010-09-05  Bruno Haible  <bruno@clisp.org>
19564
19565         isinf, isnan: Relax license.
19566         * modules/isinf (License): Change from GPL to LGPL, with consent from
19567         Ben Pfaff.
19568         * modules/isnan (License): Likewise.
19569         Requested by Ludovic Courtès.
19570
19571 2010-09-04  Bruno Haible  <bruno@clisp.org>
19572
19573         gnulib-tool: Help migration from --import to --add-import or --update.
19574         * gnulib-tool: Emit a verbose error message when --import is used
19575         without any module name.
19576
19577 2010-09-04  Bruno Haible  <bruno@clisp.org>
19578
19579         Update doc about gnulib-tool.
19580         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
19581         'gnulib-tool --update' in more detail.
19582         Reported by Eric Blake.
19583
19584 2010-09-04  Bruno Haible  <bruno@clisp.org>
19585
19586         gnulib-tool: Change --import. New options --add/remove-import.
19587         * gnulib-tool: New options --add-import, --remove-import.
19588         (func_usage): Document them.
19589         (have_associative): Define always.
19590         (func_import): In import mode, don't merge the specified settings with
19591         the cached settings. Implement remove-import mode.
19592         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
19593         Explain when to use them versus --import.
19594         (Simple update): Use --add-import instead of --import.
19595         * NEWS: Mention the change.
19596
19597 2010-09-04  Bruno Haible  <bruno@clisp.org>
19598
19599         * doc/gnulib-tool.texi (Initial import): Update paragraph about
19600         separate gnulib.mk.
19601
19602 2010-09-04  Bruno Haible  <bruno@clisp.org>
19603
19604         gnulib-tool: Don't talk about CVS any more.
19605         * gnulib-tool (func_usage, func_import): Write "version control"
19606         instead of CVS.
19607
19608 2010-09-04  Jim Meyering  <meyering@redhat.com>
19609
19610         maint.mk: avoid obscure sc_copyright_check failure in coreutils
19611         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
19612         false positives (whose names may be ill-chosen) when searching
19613         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
19614         would cause a false-positive.
19615
19616         avoid coreutils "make distcheck" failure
19617         Coreutils tests with an absolute build directory name that contains
19618         a space.  Not quoting this directory name caused a failure.
19619         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
19620         * tests/test-vc-list-files-cvs.sh: Likewise.
19621
19622 2010-09-04  Bruno Haible  <bruno@clisp.org>
19623
19624         gnulib-tool: Avoid error when run in a package without Makefile.am.
19625         * gnulib-tool: When collecting the m4dirs in a package that does not
19626         have a Makefile.am, eliminate those directories that contain no
19627         gnulib-cache.m4. Fix expression that counts these directories.
19628
19629 2010-09-04  Bruno Haible  <bruno@clisp.org>
19630
19631         update-copyright test: Improve output when perl is missing or too old.
19632         * tests/test-update-copyright.sh: Move test of Perl version down after
19633         the test whether Perl exists. Provide an explanation relating Perl's
19634         error message to Automake's SKIP: message.
19635
19636 2010-09-04  Bruno Haible  <bruno@clisp.org>
19637
19638         Don't augment PATH in TESTS_ENVIRONMENT.
19639         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
19640         set abs_aux_dir instead of augmenting PATH.
19641         * modules/vc-list-files-tests (Makefile.am): Likewise.
19642         * tests/test-update-copyright.sh: Augment PATH here.
19643         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
19644         path_prepend_.
19645         * tests/test-vc-list-files-git.sh: Likewise.
19646
19647 2010-09-04  Jim Meyering  <meyering@redhat.com>
19648
19649         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
19650         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
19651
19652 2010-09-04  Bruno Haible  <bruno@clisp.org>
19653
19654         strdup: Fix compilation error in C++ mode.
19655         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
19656         the macro.
19657
19658 2010-09-04  Bruno Haible  <bruno@clisp.org>
19659
19660         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
19661         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
19662         macro into a function.
19663         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19664
19665 2010-09-04  Bruno Haible  <bruno@clisp.org>
19666
19667         Set PATH_SEPARATOR the same way autoconf does.
19668         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
19669         the value of PATH_SEPARATOR the same way autoconf-generated configure
19670         scripts do.
19671         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
19672         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
19673
19674 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
19675
19676         Set PATH_SEPARATOR the same way autoconf does.
19677         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
19678         the same way autoconf-generated configure scripts do.
19679         * posix-modules: Likewise.
19680
19681 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
19682
19683         hash: fix safe_hasher const typo
19684         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
19685         const; otherwise, there is a type error later.
19686
19687 2010-09-02  Jim Meyering  <meyering@redhat.com>
19688
19689         test-update-copyright.sh: require perl 5.8.0
19690         * tests/test-update-copyright.sh: Require 5.8.0,
19691         which Tom G. Christensen has confirmed is adequate,
19692         while 5.6.1 is not.
19693
19694 2010-09-02  Eric Blake  <eblake@redhat.com>
19695
19696         tests: init.sh improvements for re-exec'ing with zsh
19697         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
19698         -vx through shell re-exec.
19699         Reported by Tom G. Christensen.
19700
19701         wctype: fix typo in previous commit
19702         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
19703         Reported by Ludovic Courtès.
19704
19705 2010-09-02  Jim Meyering  <meyering@redhat.com>
19706
19707         test-update-copyright.sh: skip test if Perl is too old
19708         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
19709         Reported by Tom G. Christensen.
19710
19711 2010-09-02  Bruno Haible  <bruno@clisp.org>
19712
19713         wctype: Avoid compilation error on IRIX 6.5.30.
19714         * lib/wctype.in.h (iswblank): Declare with a replacement if
19715         REPLACE_ISWBLANK is set.
19716         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
19717         declared. Set REPLACE_ISWBLANK.
19718         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
19719         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
19720         * doc/posix-headers/wctype.texi: Likewise.
19721         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19722
19723 2010-09-01  Bruno Haible  <bruno@clisp.org>
19724
19725         New module 'socketlib'.
19726         * modules/socketlib: New file.
19727         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
19728         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
19729         * modules/sockets (Depends-on): Add socketlib.
19730         Suggested by Sam Steingold <sds@gnu.org>.
19731
19732 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
19733
19734         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
19735
19736         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
19737         when one needs search access to a directory but not read access.
19738         On systems where it is available, it works in some cases where
19739         O_RDONLY does not, namely on directories that are searchable but
19740         not readable, and which need only to be searchable.  If O_SEARCH
19741         is not available, fall back to the traditional method of using
19742         O_RDONLY.
19743
19744         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
19745         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
19746         when opening a directory that needs only to be searchable.
19747         * lib/chdir-safer.c (chdir_no_follow): Likewise.
19748         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
19749         * lib/openat-proc.c (openat_proc_name): Likewise.
19750         * lib/openat.c (openat_needs_fchdir): Likewise.
19751         * lib/save-cwd.c (save_cwd): Likewise.
19752         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
19753
19754 2010-08-28  Bruno Haible  <bruno@clisp.org>
19755
19756         New module 'host-cpu-c-abi'.
19757         * modules/host-cpu-c-abi: New file.
19758         * m4/host-cpu-c-abi.m4: New file, based on part of
19759         clisp/src/m4/general.m4.
19760         Requested by Sam Steingold <sds@gnu.org>.
19761
19762 2010-08-31  Eric Blake  <eblake@redhat.com>
19763         and Jim Meyering  <meyering@redhat.com>
19764
19765         hash: factor, and guard against misbehaving hasher function
19766         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
19767         of table->hasher's return value.  Also protect against a hash value
19768         so large that adding it to table->bucket results in a NULL pointer.
19769         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
19770         Use it in place of open-coded check-and-abort.
19771
19772 2010-08-30  Bruno Haible  <bruno@clisp.org>
19773
19774         hash: silence spurious clang warning
19775         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
19776         Reported by Eric Blake.
19777
19778 2010-08-30  Eric Blake  <eblake@redhat.com>
19779
19780         strstr, memmem, strcasestr: avoid leaked shell message
19781         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
19782         FreeBSD.
19783         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
19784         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
19785
19786         tests: silence clang warning
19787         * tests/test-malloca.c (do_allocation): Avoid dead store.
19788
19789 2010-08-29  Bruno Haible  <bruno@clisp.org>
19790
19791         gettext: Fix recent mistake.
19792         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
19793
19794 2010-08-29  Bruno Haible  <bruno@clisp.org>
19795
19796         selinux-h: Offer a --without-selinux option.
19797         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
19798         --without-selinux was specified, skip all tests and define
19799         HAVE_SELINUX_SELINUX_H to 0.
19800         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
19801         set LIB_SELINUX to empty.
19802         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
19803         gl_LIBSELINUX. If --without-selinux was specified, replace
19804         selinux/context.h.
19805         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
19806
19807 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19808             Bruno Haible  <bruno@clisp.org>
19809
19810         Make the module 'realloc-gnu' work again on AIX and OSF/1.
19811         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
19812         of HAVE_REALLOC.
19813         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
19814         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
19815         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
19816         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
19817
19818 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19819             Bruno Haible  <bruno@clisp.org>
19820
19821         Make the module 'calloc-gnu' work again on AIX and OSF/1.
19822         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
19823         HAVE_CALLOC.
19824         * lib/xmalloc.c: Update accordingly.
19825         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
19826         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
19827         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
19828
19829 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19830             Bruno Haible  <bruno@clisp.org>
19831
19832         Make the module 'malloc-gnu' work again on AIX and OSF/1.
19833         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
19834         HAVE_MALLOC.
19835         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
19836         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
19837         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
19838
19839 2010-08-29  Bruno Haible  <bruno@clisp.org>
19840
19841         Update modules list.
19842         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
19843         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
19844         (String handling <string.h>): Add astrxfrm.
19845         (File system functions): Add readlinkat.
19846
19847 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19848
19849         Tests for module 'realloc-gnu'.
19850         * modules/realloc-gnu-tests: New file.
19851         * tests/test-realloc-gnu.c: New file.
19852
19853         Tests for module 'calloc-gnu'.
19854         * modules/calloc-gnu-tests: New file.
19855         * tests/test-calloc-gnu.c: New file.
19856
19857         Tests for module 'malloc-gnu'.
19858         * modules/malloc-gnu-tests: New file.
19859         * tests/test-malloc-gnu.c: New file.
19860
19861 2010-08-28  Bruno Haible  <bruno@clisp.org>
19862
19863         Rename module 'realloc' -> 'realloc-gnu'.
19864         * modules/realloc-gnu: New file, copied from modules/realloc.
19865         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
19866         obsolete.
19867         * modules/mgetgroups (Depends-on): Update.
19868         * doc/posix-functions/realloc.texi: Update.
19869         * NEWS: Mention the change.
19870
19871         Rename module 'calloc' -> 'calloc-gnu'.
19872         * modules/calloc-gnu: New file, copied from modules/calloc.
19873         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
19874         obsolete.
19875         * doc/posix-functions/calloc.texi: Update.
19876         * NEWS: Mention the change.
19877
19878         Rename module 'malloc' -> 'malloc-gnu'.
19879         * modules/malloc-gnu: New file, copied from modules/malloc.
19880         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
19881         obsolete.
19882         * modules/argp (Depends-on): Update.
19883         * modules/regex (Depends-on): Update.
19884         * doc/posix-functions/malloc.texi: Update.
19885         * NEWS: Mention the change.
19886
19887 2010-08-28  Eric Blake  <eblake@redhat.com>
19888
19889         pread, pwrite: add missing dependency
19890         * modules/pread (Depends-on): Add extensions.
19891         * modules/pwrite (Depends-on): Likewise.
19892
19893 2010-08-28  Bruno Haible  <bruno@clisp.org>
19894
19895         unistr/u*-strchr: Fix tests dependencies.
19896         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
19897         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
19898         Reported by Ian Beckwith <ianb@erislabs.net>.
19899
19900 2010-08-28  Bruno Haible  <bruno@clisp.org>
19901
19902         read-file: Don't occupy too much unused memory.
19903         * lib/read-file.c (fread_file): Shrink the buffer at the end.
19904
19905 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
19906             Eric Blake  <eblake@redhat.com>
19907             Bruno Haible  <bruno@clisp.org>
19908
19909         read-file: Avoid memory reallocations with regular files.
19910         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
19911         (fread_file): With regular files, use the remaining length as the
19912         initial buffer size.  Check against overflow.
19913         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
19914         sys_stat.
19915
19916 2010-08-28  Bruno Haible  <bruno@clisp.org>
19917
19918         ftello: Relax license.
19919         * modules/ftello (License): Relax to LGPLv2+.
19920         Reported by Eric Blake.
19921
19922 2010-08-28  Bruno Haible  <bruno@clisp.org>
19923
19924         Avoid relocwrapper link errors due to gnulib replacement functions.
19925         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
19926         function.
19927         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19928
19929 2010-08-28  Bruno Haible  <bruno@clisp.org>
19930
19931         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
19932         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
19933         defined.
19934         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
19935         Suggested by Eric Blake.
19936
19937 2010-08-28  Bruno Haible  <bruno@clisp.org>
19938
19939         sys_socket, netdb: Ensure socklen_t gets defined.
19940         * modules/sys_socket (Depends-on): Add socklen.
19941         * modules/netdb (Depends-on): Likewise.
19942         * modules/getaddrinfo (Depends-on): Remove socklen.
19943         * modules/getsockopt (Depends-on): Likewise.
19944         * modules/setsockopt (Depends-on): Likewise.
19945         * tests/test-sys_socket.c: Check that socklen_t is defined.
19946         * tests/test-netdb.c: Likewise.
19947         * m4/socklen.m4: Update comments.
19948         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19949
19950 2010-08-27  Eric Blake  <eblake@redhat.com>
19951
19952         login_tty: add missing dependency
19953         * modules/login_tty (Depends-on): Add pty.
19954
19955 2010-08-26  Eric Blake  <eblake@redhat.com>
19956
19957         lib-symbol-versions: fix m4 quoting
19958         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
19959         format for AC_LINK_IFELSE.
19960
19961         glob: fix compile test
19962         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
19963
19964         btowc: fix missing file
19965         * modules/btowc (Files): Also ship locale-fr.m4.
19966
19967         lseek: fix link test
19968         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
19969         AC_LINK_IFELSE.
19970
19971         include_next: silence autoconf 2.68 warning
19972         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
19973         AC_COMPILE_IFELSE as special.
19974         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
19975         autoconf < 2.68.
19976
19977         acl: fix compilation test
19978         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
19979         AC_COMPILE_IFELSE.
19980
19981 2010-08-26  Bruno Haible  <bruno@clisp.org>
19982
19983         Modernize AC_TRY_RUN invocations.
19984         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
19985         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
19986         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
19987         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
19988         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
19989         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
19990         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
19991         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
19992         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
19993         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
19994         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
19995         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
19996         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
19997         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
19998         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
19999         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
20000         gl_MBRLEN_NUL_RETVAL): Likewise.
20001         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20002         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
20003         Likewise.
20004         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20005         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20006         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
20007         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
20008         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
20009         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
20010         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
20011         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
20012         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
20013         Likewise.
20014         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
20015         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
20016         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20017         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20018         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20019         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
20020         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20021         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
20022         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20023         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20024
20025 2010-08-26  Bruno Haible  <bruno@clisp.org>
20026
20027         Modernize AC_TRY_LINK invocations.
20028         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
20029         AC_TRY_LINK.
20030         * m4/argp.m4 (gl_ARGP): Likewise.
20031         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
20032         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
20033         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
20034         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
20035         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
20036         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
20037         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
20038         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
20039         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
20040         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
20041         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
20042         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
20043         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
20044         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20045         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
20046         * m4/hostent.m4 (gl_HOSTENT): Likewise.
20047         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20048         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
20049         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
20050         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
20051         Likewise.
20052         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
20053         Likewise.
20054         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
20055         Likewise.
20056         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
20057         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
20058         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
20059         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
20060         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
20061         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
20062         * m4/servent.m4 (gl_SERVENT): Likewise.
20063         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
20064         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
20065         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
20066         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
20067         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20068         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
20069         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
20070         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20071         * modules/tsearch-tests (configure.ac): Likewise.
20072
20073 2010-08-26  Bruno Haible  <bruno@clisp.org>
20074
20075         Modernize AC_TRY_COMPILE invocations.
20076         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
20077         AC_TRY_COMPILE.
20078         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
20079         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
20080         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
20081         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
20082         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
20083         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
20084         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
20085         * m4/lock.m4 (gl_LOCK): Likewise.
20086         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
20087         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
20088         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
20089         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
20090         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
20091         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
20092         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
20093         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
20094         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
20095         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
20096         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
20097         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
20098         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
20099         extraneous semicolon.
20100
20101 2010-08-26  Jim Meyering  <meyering@redhat.com>
20102
20103         stat-time: relax license LGPL
20104         * modules/stat-time (License): Change from GPL to LGPL,
20105         with consent from all contributors, for use in libguile.
20106         Requested by Ludovic Courtès.
20107
20108 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
20109
20110         poll: return immediately on POLLHUP.
20111         * lib/poll.c (poll): Always set timeout before wait_timeout is
20112         computed.
20113
20114 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20115
20116         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
20117         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
20118         rmdir ("dir/.//"), unlinkat.
20119
20120 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20121
20122         stdbool: avoid spurious failure with modern xlc
20123         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20124
20125 2010-08-24  Bruno Haible  <bruno@clisp.org>
20126
20127         getloadavg: simplify code
20128         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
20129         gl_have_func. Update comments.
20130
20131 2010-08-24  Eric Blake  <eblake@redhat.com>
20132
20133         getloadavg: don't define SVR4 on cygwin
20134         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
20135         only define SVR4 when -lkvm is required.
20136         Reported by Yaakov Selkowitz.
20137
20138 2010-08-24  Bruno Haible  <bruno@clisp.org>
20139
20140         priv-set: fix comment
20141         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
20142
20143 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20144
20145         priv-set: fix comments
20146         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
20147         to match code, as suggested by David Bartley in:
20148         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
20149
20150 2010-08-23  Eric Blake  <eblake@redhat.com>
20151
20152         stdbool: avoid rejecting clang
20153         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20154         * tests/test-stdbool.c: Enable more tests if using the system
20155         <stdbool.h> instead of the gnulib replacement.
20156         (main): Move xlc bug test to a runtime test for all compilers.
20157         Reported by Anders Kaseorg.
20158
20159         argz: fix shell quoting issue
20160         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
20161         Reported by Charles Wilson.
20162
20163 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
20164             Erik Faye-Lund <kusmabite@gmail.com>
20165
20166         poll, select: handle ERROR_BROKEN_PIPE.
20167         * lib/poll.c (win32_compute_revents): Return POLLHUP when
20168         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20169         * lib/select.c (win32_compute_revents): Do not mark a pipe
20170         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20171
20172 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
20173
20174         fts: allow compilation with C++
20175         * lib/fts_.h: Specify extern "C" linkage with C++.
20176
20177 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20178
20179         Fix gnulib-tool sed script de-commentation for AIX sed.
20180         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
20181         sed.
20182
20183 2010-08-17  Eric Blake  <eblake@redhat.com>
20184
20185         test-stddef: test for (some) offsetof bugs
20186         * tests/test-stddef.c: Enhance test to ensure correct type of
20187         offsetof.
20188         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
20189         that we are not fixing at this time.
20190
20191 2010-08-15  Bruno Haible  <bruno@clisp.org>
20192
20193         stpncpy: Allow stpncpy to be defined as a macro.
20194         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
20195         if it's already correctly declared.
20196         * lib/string.in.h (stpncpy): Undefine before redefining.
20197         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
20198
20199 2010-08-14  Bruno Haible  <bruno@clisp.org>
20200
20201         Rename module 'memxfrm' to 'amemxfrm'.
20202         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
20203         (amemxfrm): Renamed from memxfrm.
20204         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
20205         (amemxfrm): Renamed from memxfrm.
20206         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
20207         * NEWS: Mention the change.
20208         * MODULES.html.sh (String handling <string.h>): Update.
20209         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
20210         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
20211         * lib/unicase/u16-casexfrm.c: Likewise.
20212         * lib/unicase/u32-casexfrm.c: Likewise.
20213         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
20214         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
20215         * lib/uninorm/u16-normxfrm.c: Likewise.
20216         * lib/uninorm/u32-normxfrm.c: Likewise.
20217         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
20218         memxfrm.
20219         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
20220         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
20221         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
20222         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
20223         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
20224         Suggested by Paul Eggert.
20225
20226 2010-08-14  Bruno Haible  <bruno@clisp.org>
20227
20228         Tests for module 'astrxfrm'.
20229         * modules/astrxfrm-tests: New file.
20230         * tests/test-astrxfrm.c: New file.
20231
20232         New module 'astrxfrm'.
20233         * lib/astrxfrm.h: New file.
20234         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
20235         * modules/astrxfrm: New file.
20236
20237 2010-08-14  Reuben Thomas <rrt@sc3d.org>
20238
20239         regex: Tweak doc.
20240         * doc/regex.texi (Overview): Don't mention regex.c.
20241         (GNU Regular Expression Compiling): Likewise.
20242         (Match-end-of-line Operator): Mention 'not_eol'.
20243
20244 2010-08-14  Brian Gough  <bjg@gnu.org>
20245             Bruno Haible  <bruno@clisp.org>
20246
20247         git-merge-changelog: add doc relating to use with bzr and hg.
20248         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
20249
20250 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
20251
20252         pthread: fix pthread.h creation for srcdir != builddir
20253         * modules/pthread (Makefile.am): Fix the rule to work also in a
20254         non-srcdir build.
20255
20256 2010-08-13  Karl Berry  <karl@gnu.org>
20257
20258         * doc/regex.texi (Predefined Syntaxes): @smallexample.
20259         * doc/posix-*/*: force line break before @url of POSIX
20260         specifications.
20261         Suggested by Werner Lemberg.
20262
20263 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
20264
20265         strtod: fix const diagnostic
20266         * lib/strtod.c (strtod): Don't assign const char * to char *,
20267         as this elicits a warning from GCC when warnings are enabled.
20268
20269 2010-08-10  Pádraig Brady <P@draigbrady.com>
20270         and Eric Blake  <eblake@redhat.com>
20271
20272         copy-acl: ignore ENOTSUP on HP-UX
20273         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
20274         so that it is available for HP-UX.
20275         * lib/copy-acl.c (qcopy_acl): Use it.
20276         Reported by Patrick M. Callahan.
20277
20278 2010-08-10  Eric Blake  <eblake@redhat.com>
20279
20280         open, chown: relax license
20281         * modules/open (License): Change to LGPLv2+, with consent by all
20282         authors, for use in augeas.
20283         * modules/chown (License): Likewise.
20284         * modules/lchown (Likewise): Likewise.
20285         Requested by Adam Stokes.
20286
20287 2010-08-09  Karl Berry  <karl@gnu.org>
20288
20289         * build-aux/ar-lib: new file, import from Automake.
20290         * config/srclist.txt: autocheck for updates.
20291
20292 2010-08-09  Eric Blake  <eblake@redhat.com>
20293
20294         readlinkat: adjust client modules
20295         * modules/areadlinkat (Depends-on): Use readlinkat, not
20296         symlinkat.
20297         * modules/areadlinkat-with-size (Depends-on): Likewise.
20298
20299         mknod: be more vocal about danger of running tests as root
20300         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
20301         root, since that is just asking for problems.
20302         Suggested by Bruno Haible, based on a report by Rainer Tammer.
20303
20304         readlinkat: split into its own module
20305         * modules/symlinkat: Split readlinkat...
20306         * modules/readlinkat: ...into separate module.
20307         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
20308         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
20309         * lib/symlinkat.c (readlinkat): Move...
20310         * lib/readlinkat.c: ...into new file.
20311         * modules/symlinkat-tests: Split readlinkat test...
20312         * modules/readlinkat-tests: ...into separate module.
20313         * tests/test-symlinkat.c: Split...
20314         * tests/test-readlinkat.c: ...into new file.
20315         * NEWS: Document the split.
20316         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
20317         * lib/unistd.in.h (readlinkat): Likewise.
20318         Suggested by Bruno Haible.
20319
20320 2010-08-08  Bruno Haible  <bruno@clisp.org>
20321
20322         memxfrm: Speed up.
20323         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
20324         that usually only one call to strxfrm is necessary for each string
20325         part.
20326         Reported by Paul Eggert <eggert@cs.ucla.edu>.
20327
20328 2010-08-07  Karl Berry  <karl@gnu.org>
20329
20330         * doc/posix-headers/limits.texi,
20331         * doc/posix-functions/malloc.texi,
20332         * doc/posix-functions/strsignal.texi: missing @item.
20333         * doc/ld-version-script.texi: spurious leading i.
20334         * doc/regex.texi (Interval Operators): no commas inside @var.
20335
20336 2010-08-01  Bruno Haible  <bruno@clisp.org>
20337
20338         Integrate the regex documentation.
20339         * doc/gnulib.texi: Define 'cn' index.
20340         (Regular expressions): New a chapter that includes regex.texi and
20341         regexprops-generic.texi.
20342         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
20343         syntax.
20344
20345         Whitespace cleanup.
20346         * doc/regex.texi: Remove trailing spaces.
20347
20348         Add regex documentation.
20349         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
20350         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
20351         Written by Kathy A. Hargreaves and Karl Berry.
20352
20353 2010-08-01  Bruno Haible  <bruno@clisp.org>
20354
20355         link: Update documentation.
20356         * doc/posix-functions/link.texi: Update regarding Solaris.
20357
20358 2010-07-31  Bruno Haible  <bruno@clisp.org>
20359
20360         Update modules list.
20361         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
20362         (String handling <string.h>): Add memcmp2, memxfrm.
20363         (Container data structures): Add xlist, xsublist, xoset.
20364         (Core language properties): Add alignof, unused-parameter.
20365         (Process control, Numeric conversion functions <stdlib.h>): Renamed
20366         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
20367         (Unibyte characters <ctype.h>): New section.
20368         (String handling <string.h>): New section.
20369         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
20370         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
20371         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
20372         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
20373         tan, tanh, tanl, y0, y1, yn.
20374         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
20375         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
20376         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
20377         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
20378         unlockpt, vdprintf, vdprintf-posix.
20379         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
20380         (File system functions): Add concat-filename, sys_file, sys_ioctl,
20381         xconcat-filename.
20382         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
20383         getdtablesize, pipe2, pipe2-safer.
20384         (Security): New section.
20385         (Networking functions): Add accept4.
20386         (Signal handling): Add sigpipe.
20387         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
20388         mbmemcasecoll.
20389         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
20390         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
20391         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
20392         pipe-filter-ii.
20393         (Misc): Add argp-version-etc, login_tty, parse-duration.
20394
20395 2010-07-31  Bruno Haible  <bruno@clisp.org>
20396
20397         Improve doc in MODULES.html.
20398         * modules/linkat (Description): Add the word "function".
20399         * modules/mkfifo (Description): Likewise.
20400         * modules/mknod (Description): Likewise.
20401         * modules/remove (Description): Likewise.
20402         * modules/renameat (Description): Likewise.
20403         * modules/stat (Description): Likewise.
20404         * modules/symlink (Description): Likewise.
20405         * modules/unlink (Description): Likewise.
20406
20407 2010-07-31  Bruno Haible  <bruno@clisp.org>
20408
20409         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
20410         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
20411         option --enable/disable-c++ instead of --enable/disable-cxx.
20412         * NEWS: Mention the change.
20413
20414 2010-07-31  Bruno Haible  <bruno@clisp.org>
20415
20416         readlink, areadlink: Relax test a bit.
20417         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
20418         alternative to ENOTDIR.
20419         * tests/test-areadlink.h (test_areadlink): Likewise.
20420         Reported by Rainer Tammer.
20421
20422 2010-07-31  Bruno Haible  <bruno@clisp.org>
20423
20424         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
20425         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
20426         character, perform the search using U_STRCHR.
20427         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
20428         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
20429         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
20430         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
20431         Suggested by Paolo Bonzini.
20432
20433 2010-07-31  Bruno Haible  <bruno@clisp.org>
20434
20435         unistr/u*-strstr: Fix dependencies.
20436         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
20437         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
20438         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
20439
20440 2010-07-31  Bruno Haible  <bruno@clisp.org>
20441
20442         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
20443         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
20444         the beginning of the loop.
20445         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
20446         cases in 'switch' statement.
20447
20448         unistr/u8-strchr: Fix several bugs.
20449         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
20450         the string. When not found, return NULL, not a pointer near the end.
20451
20452         More tests for unistr/u8-strchr.
20453         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
20454         that the function does not read past the first occurrence of the byte
20455         being searched.
20456         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
20457         * tests/unistr/test-u16-strchr.c (main): New function.
20458         * tests/unistr/test-u32-strchr.c (main): New function.
20459
20460 2010-07-31  Bruno Haible  <bruno@clisp.org>
20461
20462         posix-modules: Ignore backup files of documentation files.
20463         * posix-modules: grep only through files named *.texi.
20464
20465 2010-07-31  Bruno Haible  <bruno@clisp.org>
20466
20467         symlinkat: Fix documentation.
20468         * doc/posix-functions/readlinkat.texi: Fix module name.
20469
20470 2010-07-31  Bruno Haible  <bruno@clisp.org>
20471
20472         fchownat: Replace also when chown has the trailing slash bug.
20473         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
20474         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
20475         introduced on 2010-04-10.
20476         Reported by Rainer Tammer.
20477
20478 2010-07-31  Bruno Haible  <bruno@clisp.org>
20479
20480         linkat: Work around AIX 7.1 bug.
20481         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
20482         whether linkat handles trailing slash correctly. If not, replace linkat
20483         and define LINKAT_TRAILING_SLASH_BUG.
20484         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
20485         check whether (fd1,file1) points to a directory if file1 or file2 ends
20486         in a slash. Code taken from lib/link.c.
20487         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
20488         Reported by Rainer Tammer.
20489
20490 2010-07-31  Bruno Haible  <bruno@clisp.org>
20491
20492         Correctly determine whether pow is available in libc on AIX 7 with xlc.
20493         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
20494         This disables an xlc optimization that was causing wrong test results.
20495         Reported by Rainer Tammer.
20496
20497 2010-07-31  Bruno Haible  <bruno@clisp.org>
20498
20499         iconv: Work around AIX 6.1..7.1 bug.
20500         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
20501         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
20502         cross-compiling, guess no on all versions of AIX.
20503         Reported by Rainer Tammer.
20504
20505 2010-07-31  Bruno Haible  <bruno@clisp.org>
20506
20507         readlink: Relax test a bit.
20508         * tests/test-readlink.h (test_readlink): Allow different errno value
20509         when readlink is called with a file name that ends in / and refers to
20510         a file.
20511         Suggested by Eric Blake.
20512         Reported by Rainer Tammer.
20513
20514 2010-07-31  Bruno Haible  <bruno@clisp.org>
20515
20516         copysign: Does not require -lm on glibc systems.
20517         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
20518         gl_COMMON_DOUBLE_MATHFUNC.
20519         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
20520
20521 2010-07-31  Bruno Haible  <bruno@clisp.org>
20522
20523         duplocale: Work around AIX 7.1 bug.
20524         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
20525         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
20526         * lib/duplocale.c (rpl_duplocale): Update comment.
20527         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
20528         Reported by Rainer Tammer.
20529
20530 2010-07-30  Bruno Haible  <bruno@clisp.org>
20531
20532         dirfd: Avoid link error on AIX 7.1.
20533         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
20534         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
20535         exist, set REPLACE_DIRFD.
20536         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
20537         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
20538         * doc/posix-functions/dirfd.texi: Update.
20539         Reported by Rainer Tammer.
20540
20541 2010-07-30  Eric Blake  <eblake@redhat.com>
20542
20543         strtod: next round of AIX fixes
20544         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
20545         exponent.
20546         * tests/test-strtod.c (main): Enhance tests.
20547         * doc/posix-functions/strtod.texi (strtod): Document next bug.
20548         Reported by Rainer Tammer.
20549
20550         futimens: fix configure check
20551         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
20552         Reported by Bruno Haible.
20553
20554 2010-07-30  Bruno Haible  <bruno@clisp.org>
20555
20556         getline: Update regarding AIX.
20557         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
20558         Reported by Rainer Tammer.
20559
20560 2010-07-30  Bruno Haible  <bruno@clisp.org>
20561
20562         wcwidth: Drop replacement on AIX 7.
20563         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
20564         AIX 7.
20565         Reported by Rainer Tammer.
20566
20567 2010-07-30  Bruno Haible  <bruno@clisp.org>
20568
20569         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
20570         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
20571         a 'char *'.
20572         Reported by Rainer Tammer.
20573
20574 2010-07-30  Bruno Haible  <bruno@clisp.org>
20575
20576         unlink: Update regarding AIX.
20577         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
20578         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
20579         Reported by Rainer Tammer.
20580
20581 2010-07-30  Bruno Haible  <bruno@clisp.org>
20582
20583         symlink: Update regarding AIX.
20584         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
20585         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
20586         Reported by Rainer Tammer.
20587
20588 2010-07-30  Bruno Haible  <bruno@clisp.org>
20589
20590         strndup: Update regarding AIX.
20591         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
20592         AIX 7.
20593         Reported by Rainer Tammer.
20594
20595 2010-07-30  Bruno Haible  <bruno@clisp.org>
20596
20597         stat: Update regarding AIX.
20598         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
20599         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
20600         Reported by Rainer Tammer.
20601
20602 2010-07-30  Bruno Haible  <bruno@clisp.org>
20603
20604         truncl: Fix autoconf test.
20605         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
20606         whether truncl works.
20607         Reported by Rainer Tammer.
20608
20609 2010-07-30  Bruno Haible  <bruno@clisp.org>
20610
20611         round: Update regarding AIX.
20612         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
20613         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
20614         Reported by Rainer Tammer.
20615
20616 2010-07-30  Bruno Haible  <bruno@clisp.org>
20617
20618         rename: Update regarding AIX.
20619         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
20620         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
20621         Reported by Rainer Tammer.
20622
20623 2010-07-30  Bruno Haible  <bruno@clisp.org>
20624
20625         printf.m4: Update regarding AIX.
20626         * m4/printf.m4: Update comments regarding AIX.
20627         Reported by Rainer Tammer.
20628
20629 2010-07-30  Bruno Haible  <bruno@clisp.org>
20630
20631         iconv: Update regarding AIX.
20632         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
20633         AIX 7.
20634         Reported by Rainer Tammer.
20635
20636 2010-07-30  Bruno Haible  <bruno@clisp.org>
20637
20638         getopt: Update regarding AIX.
20639         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
20640         no on AIX.
20641         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
20642         Reported by Rainer Tammer.
20643
20644 2010-07-30  Bruno Haible  <bruno@clisp.org>
20645
20646         ldexpl; Update regarding AIX.
20647         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
20648         on AIX 7.
20649         Reported by Rainer Tammer.
20650
20651 2010-07-30  Bruno Haible  <bruno@clisp.org>
20652
20653         frexpl: Update regarding AIX.
20654         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
20655         on AIX 7.
20656         Reported by Rainer Tammer.
20657
20658 2010-07-30  Bruno Haible  <bruno@clisp.org>
20659
20660         open, fopen: Update regarding AIX.
20661         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
20662         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
20663         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
20664         * doc/posix-functions/fopen.texi: Likewise.
20665         Reported by Rainer Tammer.
20666
20667 2010-07-30  Bruno Haible  <bruno@clisp.org>
20668
20669         chown: Update doc regarding AIX.
20670         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
20671         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
20672         Reported by Rainer Tammer.
20673
20674 2010-07-30  Eric Blake  <eblake@redhat.com>
20675
20676         strtod: fix bug in replacement function on AIX
20677         * lib/strtod.c (strtod): Special case broken "0x" parse in
20678         underlying strtod.
20679         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
20680         * doc/posix-functions/strtod.texi (strtod): Likewise.
20681         Reported by Rainer Tammer.
20682
20683 2010-07-30  Bruno Haible  <bruno@clisp.org>
20684
20685         mbrlen: Fix cross-compilation guess for AIX.
20686         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
20687         guess. Leftover from 2008-12-22.
20688
20689 2010-07-30  Bruno Haible  <bruno@clisp.org>
20690
20691         mbrtowc: Fix cross-compilation guess for AIX.
20692         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
20693         guess. Leftover from 2008-12-21.
20694
20695 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
20696
20697         init.sh: work around trap limitation of some shells
20698         * tests/init.sh (setup_): Move exit trap outside of shell function.
20699
20700 2010-07-29  Eric Blake  <eblake@redhat.com>
20701
20702         strtod: aid debugging
20703         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
20704         understanding why strtod is rejected.
20705
20706 2010-07-28  Bruno Haible  <bruno@clisp.org>
20707
20708         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
20709         * lib/unistr/u8-chr.c: Include <string.h>.
20710         * tests/unistr/test-u8-chr.c: Likewise.
20711         * tests/unistr/test-u16-chr.c: Likewise.
20712         * tests/unistr/test-u32-chr.c: Likewise.
20713         * tests/unistr/test-u8-strchr.c: Likewise.
20714         * tests/unistr/test-u16-strchr.c: Likewise.
20715         * tests/unistr/test-u32-strchr.c: Likewise.
20716         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
20717         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
20718         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
20719         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
20720
20721 2010-07-28  Bruno Haible  <bruno@clisp.org>
20722
20723         Use spaces for indentation, not tabs.
20724         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
20725
20726 2010-07-27  Bruno Haible  <bruno@clisp.org>
20727
20728         mbspcasecmp: Fix function specification.
20729         * lib/string.in.h (mbspcasecmp): Fix specification comment.
20730         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
20731         Reported by Eric Blake <eblake@redhat.com>.
20732
20733 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
20734
20735         timespec: use cast and not conditional, as truncation isn't possible
20736         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
20737         instead of a conditional.  Comment about the situation in more detail.
20738         This undoes most of the 2009-10-29 patch.
20739
20740 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
20741
20742         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
20743         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
20744         * lib/unistr/u8-strchr.c: Likewise.
20745         * modules/unistr/u8-chr: Depend on memchr.
20746
20747         unistr/u*-strchr: add tests
20748         * modules/unistr/u8-strchr-tests: New file.
20749         * modules/unistr/u16-strchr-tests: New file.
20750         * modules/unistr/u32-strchr-tests: New file.
20751         * tests/unistr/test-strchr.h: New file.
20752         * tests/unistr/test-u8-strchr.c: New file.
20753         * tests/unistr/test-u16-strchr.c: New file.
20754         * tests/unistr/test-u32-strchr.c: New file.
20755
20756         unistr/u*-chr: test multibyte sequences more
20757         * tests/unistr/test-chr.h: Do complete testing of the characters in the
20758         test vector.
20759         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
20760         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
20761         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
20762
20763         unistr/u*-chr: test multibyte sequences
20764         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
20765
20766         unistr/u*-chr: prepare for multibyte tests
20767         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
20768         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
20769         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
20770         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
20771         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
20772         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
20773
20774 2010-07-18  Bruno Haible  <bruno@clisp.org>
20775
20776         unistr/u8-strchr: Optimize non-ASCII argument case.
20777         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
20778         because the first byte often matches anyway.
20779         Reported by Pádraig Brady <P@draigbrady.com>.
20780
20781 2010-07-15  Karl Berry  <karl@gnu.org>
20782
20783         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
20784
20785 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
20786
20787         getcwd: on Solaris, work better if ancestors are inaccessible
20788         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
20789         buffer and size, try again with a large buffer.  This works better
20790         on Solaris, since its getcwd succeeds even if the path to the root
20791         is inaccessible, and this is helpful in common cases such as .zfs
20792         hidden directories.  Problem reported by J Chapman Flack in
20793         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
20794         Use system getcwd if it's declared, not merely if it's partly
20795         working; use the partly-working test only to avoid needless effort
20796         if the system getcwd fails.
20797         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
20798         comment that was already obsolete and is now even more obsolete.
20799         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
20800         now might call strdup.
20801
20802 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
20803
20804         pthread: Add enough so that coreutils/src/sort.c compiles.
20805         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
20806         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
20807         gnulib. Include <sched.h> and <time.h>, as per POSIX.
20808         Include <sys/types.h>, in case it defines pthread_t.
20809         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
20810         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
20811         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
20812         (pthread_rwlockattr_t, pthread_spinlock_t):
20813         New typedefs, if HAVE_PTHREAD_T is not defined.
20814         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
20815         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
20816         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
20817         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
20818         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
20819         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
20820         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
20821         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
20822         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
20823         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
20824         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
20825         New macros.
20826         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
20827         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
20828         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
20829         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
20830         (pthread_spin_unlock): New dummy functions.
20831         (pthread_create): Return EAGAIN; don't set errno.
20832         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
20833         require AC_C_INLINE.
20834         * modules/pthread (Depends-on): Add sched, time.
20835         (pthread.h): Use AM_V_GEN.
20836
20837 2010-07-13  Bruno Haible  <bruno@clisp.org>
20838
20839         striconveh: Don't malloc memory if the result buffer is sufficient.
20840         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
20841         buffer if its size is sufficient.
20842         Reported by Ludovic Courtès <ludo@gnu.org>.
20843
20844 2010-07-13  Bruno Haible  <bruno@clisp.org>
20845
20846         strtod: Add safety check.
20847         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
20848
20849 2010-07-12  Bruno Haible  <bruno@clisp.org>
20850
20851         Unify tests that set gl_cv_func_ldexpl_no_libm.
20852         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
20853         gl_FUNC_LDEXPL.
20854         (gl_FUNC_LDEXPL): Invoke it.
20855         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
20856
20857 2010-07-12  Bruno Haible  <bruno@clisp.org>
20858
20859         Unify tests that set gl_cv_func_ldexp_no_libm.
20860         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
20861         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
20862         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
20863         (configure.ac): Simply invoke gl_FUNC_LDEXP.
20864         * modules/strtod (Files): Add m4/ldexp.m4.
20865
20866 2010-07-12  Bruno Haible  <bruno@clisp.org>
20867
20868         Unify tests that set gl_cv_func_frexpl_no_libm.
20869         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
20870         gl_FUNC_FREXPL_NO_LIBM.
20871         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
20872         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
20873
20874 2010-07-12  Bruno Haible  <bruno@clisp.org>
20875
20876         Unify tests that set gl_cv_func_frexp_no_libm.
20877         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
20878         gl_FUNC_FREXP_NO_LIBM.
20879         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
20880         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
20881
20882 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
20883
20884         memcoll: clarify sizes versus lengths, document better, and tweak perf
20885         * lib/memcoll.c (strcoll_loop, memcoll0):
20886         Improve quality of descriptive comments.  Name variables
20887         consistently as to whether they are lengths (which do not include
20888         terminating null) versus sizes (which do).
20889         * lib/xmemcoll.c (xmemcoll0): Likewise.
20890         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
20891         returned when s1size == 0; this is easier to compile and saves
20892         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
20893
20894 2010-07-12  Bruno Haible  <bruno@clisp.org>
20895
20896         Tests for module '_Exit'.
20897         * modules/_Exit-tests: New file.
20898         * tests/test-_Exit.sh: New file.
20899         * tests/test-_Exit.c: New file.
20900
20901         New module '_Exit'.
20902         * lib/stdlib.in.h (__attribute__): New macro.
20903         (_Exit): New declaration.
20904         * lib/_Exit.c: New file.
20905         * m4/_Exit.m4: New file.
20906         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
20907         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
20908         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
20909         * modules/_Exit: New file.
20910         * tests/test-stdlib-c++.cc (_Exit): Check signature.
20911         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
20912
20913 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
20914
20915         strtod: make it more-accurate typically, and don't require libm
20916         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
20917         Include limits.h.  Don't include string.h.
20918         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
20919         (locale_isspace): New function, so that no casts are needed to
20920         check whether *s is a space.
20921         (ldexp): Provide an unused dummy if not available.
20922         (scale_radix_exp, parse_number, underlying_strtod): New functions.
20923         (strtod): Use them.  This implementation prefers to use the
20924         underlying strtod if available, falling back on our own code
20925         only to fix known bugs.  This is more likely to produce an
20926         accurate result.  Also, it avoids the use of libm functions.
20927         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
20928         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
20929         was absent, but it caused a test failure with coreutils.
20930         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
20931         with libm.
20932         * modules/strtod (Makefile.am, Link): libm is no longer needed.
20933         * modules/strtod-tests (Makefile.am): Likewise.
20934
20935 2010-07-11  Pádraig Brady  <P@draigBrady.com>
20936             Bruno Haible  <bruno@clisp.org>
20937
20938         unistr/u8-strchr: Optimize ASCII argument case.
20939         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
20940
20941 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
20942
20943         (x)memcoll: minor tweaks
20944         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
20945         is after the type that it qualifies.
20946         (memcoll0): Likewise.
20947         * lib/memcoll.h (memcoll0): Likewise.
20948         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
20949         * lib/xmemcoll.h (xmemcoll0): Likewise.
20950         * lib/memcoll.c (memcoll0): Correct the comment.  This function
20951         differs from memcoll in that the NUL byte is part of the argument.
20952         Omit the abort-checks, as performance is a real issue here.  Plus,
20953         the checks were wrong anyway (an off-by-one error).  Omit local
20954         variable 'diff', as it's a bit clearer that way.
20955         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
20956         no longer needed.
20957
20958 2010-07-08  Chen Guo <chenguo4@yahoo.com>
20959
20960         (x)memcoll: speedup when input is known to be NUL delimited
20961         * lib/memcoll.c: Include stdlib.
20962         (memcoll0): New function.
20963         (strcoll_loop): New function, refactored for use in both memcoll
20964         and memcoll0.
20965         * lib/memcoll.h (memcoll0): Add prototype.
20966         * lib/xmemcoll.c (xmemcoll0): New function.
20967         (collate_error): New function, refactored for use in both xmemcoll
20968         and xmemcoll0.
20969         * lib/xmemcoll.h (xmemcoll0): Add prototype.
20970         * m4/memcoll.m4: add inline invocation.
20971
20972 2010-07-06  Pádraig Brady  <P@draigBrady.com>
20973
20974         * build-aux/bootstrap: Remove any local translations
20975         from the translation project synchronization directory,
20976         so that local only translations are not distributed.
20977
20978 2010-07-04  Bruno Haible  <bruno@clisp.org>
20979
20980         fsusage: Clarify which code applies to which platforms.
20981         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
20982         platform.
20983         * lib/fsusage.c (get_fs_usage): Likewise.
20984
20985 2010-07-04  Bruno Haible  <bruno@clisp.org>
20986
20987         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
20988         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
20989         Reported by Martin Lambers <marlam@marlam.de>.
20990
20991 2010-07-04  Jim Meyering  <meyering@redhat.com>
20992
20993         hash: once again explicitly disallow insertion of NULL
20994         * lib/hash.c (hash_insert0): Reinstate just-removed test:
20995         inserting a NULL pointer cannot work with these functions.
20996         Add a comment with details.
20997         This reverts part of the 2010-07-01 commit, 5bef1a35
20998         "hash: extend module to deal with non-pointer keys".
20999
21000 2010-07-01  Bruno Haible  <bruno@clisp.org>
21001
21002         stdbool: Update doc.
21003         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
21004         Info from Christian Weisgerber <naddy@mips.inka.de>.
21005
21006 2010-07-01  Jim Meyering  <meyering@redhat.com>
21007
21008         hash: extend module to deal with non-pointer keys
21009         * lib/hash.c (hash_insert0): New interface, much like hash_insert
21010         but that allows insertion of non-pointer entries.
21011         Do not disallow an ENTRY value of NULL.
21012         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
21013         * lib/hash.h (hash_insert0): Declare.
21014
21015 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21016
21017         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
21018         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
21019         not present (i.e. with autoconf 2.59 and when using gettextize, not
21020         gnulib), require AC_GNU_SOURCE instead.
21021
21022 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
21023
21024         idpriv-drop: Fix tests.
21025         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
21026         not to the test-idpriv-droptemp program.
21027
21028 2010-06-29  Bruno Haible  <bruno@clisp.org>
21029
21030         string: Fix syntax error with g++ 2.96.
21031         * lib/string.in.h (__pure__): Remove definition.
21032         (_GL_ATTRIBUTE_PURE): New macro.
21033         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
21034         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
21035         Reported by Christian Weisgerber <naddy@mips.inka.de>.
21036
21037 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
21038
21039         unitypes: Fix bug introduced on 2010-05-18.
21040         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
21041
21042 2010-06-22  Eric Blake  <eblake@redhat.com>
21043
21044         memmem: slight optimization
21045         * lib/str-two-way.h (critical_factorization): Update comments.
21046         Reduce work during factorization phase.
21047         Reported by Carlos Bueno <carlos@bueno.org>.
21048
21049 2010-06-21  Bruno Haible  <bruno@clisp.org>
21050
21051         Fix HAVE_CALLOC_POSIX misnomer.
21052         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
21053         !HAVE_CALLOC_POSIX.
21054         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
21055         HAVE_CALLOC_POSIX.
21056         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
21057         instead of HAVE_CALLOC_POSIX.
21058         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
21059         HAVE_CALLOC_POSIX.
21060
21061         Use modern idiom for calloc() replacement.
21062         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
21063         AC_FUNC_CALLOC.
21064         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
21065         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
21066         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21067         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
21068         (gl_REPLACE_CALLOC): New macro.
21069
21070 2010-06-21  Bruno Haible  <bruno@clisp.org>
21071
21072         Fix HAVE_REALLOC_POSIX misnomer.
21073         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
21074         !HAVE_REALLOC_POSIX.
21075         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
21076         HAVE_REALLOC_POSIX.
21077         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
21078         instead of HAVE_REALLOC_POSIX.
21079         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
21080         HAVE_REALLOC_POSIX.
21081
21082         Use modern idiom for realloc() replacement.
21083         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
21084         AC_FUNC_REALLOC.
21085         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
21086         Autoconf's AC_FUNC_REALLOC.
21087         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21088         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
21089         (gl_REPLACE_REALLOC): New macro.
21090         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21091
21092 2010-06-21  Bruno Haible  <bruno@clisp.org>
21093
21094         Fix HAVE_MALLOC_POSIX misnomer.
21095         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
21096         !HAVE_MALLOC_POSIX.
21097         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
21098         HAVE_MALLOC_POSIX.
21099         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
21100         instead of HAVE_MALLOC_POSIX.
21101         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
21102         HAVE_MALLOC_POSIX.
21103
21104         Use modern idiom for malloc() replacement.
21105         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
21106         AC_FUNC_MALLOC.
21107         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
21108         Autoconf's AC_FUNC_MALLOC.
21109         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21110         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
21111         (gl_REPLACE_MALLOC): New macro.
21112         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21113
21114 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
21115
21116         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
21117         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
21118         This macro takes 3 arguments, not 4.
21119
21120 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
21121
21122         ipv6: fix detection under mingw
21123         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
21124         in6_addr.
21125
21126 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
21127
21128         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
21129         that strtod() works when cross-compiling to a glibc version known
21130         to work.
21131
21132 2010-06-15  Bruno Haible  <bruno@clisp.org>
21133
21134         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
21135
21136 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
21137
21138         select: Correct timeout.
21139         * lib/select.c (rpl_select): Compute wait_timeout correctly.
21140
21141 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
21142
21143         git-version-gen: init shell var to avoid env var influence
21144         * build-aux/git-version-gen (v): Init shell var to empty.
21145
21146 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
21147
21148         priv-set: Don't assume that priv.h exists merely because getppriv does.
21149         See Jan Andersen's bug report about AIX 5L in
21150         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
21151         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
21152         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
21153         * lib/priv-set.h: Likewise.
21154         * tests/test-priv-set.c: Likewise.
21155
21156 2010-06-13  Bruno Haible  <bruno@clisp.org>
21157
21158         relocatable: Make it easier to test whether to install wrappers.
21159         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
21160         RELOCATABLE_VIA_WRAPPER.
21161
21162 2010-06-13  Bruno Haible  <bruno@clisp.org>
21163
21164         gnulib-tool: Display specified modules and dependencies differently.
21165         * gnulib-tool (func_show_module_list): New function.
21166         (func_import, func_create_testdir): Invoke it.
21167         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
21168
21169 2010-06-13  Bruno Haible  <bruno@clisp.org>
21170
21171         gnulib-tool: Align code of func_import and func_create_testdir.
21172         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
21173         specified_modules.
21174
21175 2010-06-12  Jim Meyering  <meyering@redhat.com>
21176
21177         test-inttostr: avoid spurious failure on Solaris 9
21178         * tests/test-inttostr.c (main): Skip the test when snprintf fails
21179         to accept "%ju".  Reported by Bruno Haible.
21180
21181 2010-06-11  Jim Meyering  <meyering@redhat.com>
21182
21183         test-sys_socket: mark variables as used more readably
21184         * tests/test-sys_socket.c (main): Mark otherwise unused variables
21185         as "used" explicitly via (void) statement casts.  This is more
21186         readable than using them in an artificial return expression.
21187         Suggestion from Bruno Haible.
21188
21189 2010-06-11  Bruno Haible  <bruno@clisp.org>
21190
21191         Avoid some more warnings from "gcc -Wwrite-strings".
21192         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
21193         to 'const char *'.
21194         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
21195         * tests/test-c-strcasestr.c (main): Likewise.
21196         * tests/test-mbscasestr1.c (main): Likewise.
21197         * tests/test-mbscasestr2.c (main): Likewise.
21198         * tests/test-memmem.c (main): Likewise.
21199         * tests/test-strstr.c (main): Likewise.
21200         * tests/test-strcasestr.c (main): Likewise.
21201
21202 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21203
21204         init.sh: change framework_failure_ to fail with status 99, not 1
21205         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
21206         automake's parallel-tests rule that this is an unexpected failure,
21207         even if the test is listed in XFAIL_TESTS.
21208
21209 2010-06-11  Jim Meyering  <meyering@redhat.com>
21210
21211         test-inttostr: avoid warnings about 4-6KB literal strings
21212         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
21213         Include "macros.h", for its definition of ASSERT.
21214         (CK): s/assert/ASSERT/
21215         * modules/inttostr-tests (Files): Add macros.h.
21216
21217         init.sh: don't use $ME_ or skip_ before they are defined
21218         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
21219         their first uses.  Also hoist their companions: warn_, fail_,
21220         framework_failure_, $stderr_fileno.  Prompted by a patch from
21221         Stefano Lattarini.
21222
21223         test-sys_socket: avoid set-but-not-used warnings from gcc
21224         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
21225         avoid warning about set-but-not-used variables.
21226
21227         test-xvasprintf: avoid 'const' discard warnings
21228         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
21229         "const" when assigning from literal strings.
21230         (test_xasprintf): Add "void" in function argument list to placate
21231         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
21232
21233         tests: avoid compilation warnings in argmatch and exclude tests...
21234         in packages that define ARGMATCH_DIE_DECL, like coreutils.
21235         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
21236         Since it always exits, declare with the "noreturn" attribute.
21237         * tests/test-argmatch.c: Likewise.
21238
21239         tests: avoid 'const' discard warnings in mbsstr tests
21240         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
21241         * tests/test-mbsstr2.c (main): Likewise.
21242
21243         test-verify: avoid warning from gcc's -Wmissing-declarations
21244         * tests/test-verify.c (function): Declare to be static.
21245
21246         test-inttostr.c: include <string.h> for use of strcmp
21247         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
21248
21249         test-linkat: avoid failed assertion on "other" architectures
21250         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
21251         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
21252         sparc: https://bugs.launchpad.net/bugs/591968
21253
21254 2010-06-11  Jim Meyering  <meyering@redhat.com>
21255
21256         printf.m4: avoid autoconf's "Expanded Before Required" warning
21257         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
21258         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
21259         autoconf warning.
21260
21261 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
21262
21263         Replacement header templates are now named with ".in", not "_".
21264         * doc/gnulib-intro.texi: Correct.
21265
21266 2010-06-10  Jim Meyering  <meyering@redhat.com>
21267
21268         inttostr-tests: depend on snprintf, not snprintf-posix
21269         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
21270         snprintf-posix, to avoid this aclocal failure:
21271           missing file gnulib-tests/vasnprintf.c
21272           configure.ac:45: error: expected source file, required through \
21273           AC_LIBSOURCES, not found
21274
21275 2010-06-10  Jim Meyering  <meyering@redhat.com>
21276
21277         inttostr: add a new function, inttostr, and tests
21278         The namesake function was not available.  The existence of the
21279         template file, inttostr.c makes its addition nontrivial.
21280         * lib/anytostr.c: Rename from inttostr.c.
21281         (anytostr): Rename from inttostr.
21282         * lib/inttostr.c: New file.
21283         * modules/inttostr (Files): Add anytostr.c.
21284         (Makefile.am): Set lib_SOURCES instead of ...
21285         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
21286         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
21287         * lib/offtostr.c: Likewise.
21288         * lib/uinttostr.c: Likewise.
21289         * lib/umaxtostr.c: Likewise.
21290         * modules/inttostr-tests: New file.
21291         * tests/test-inttostr.c: New file.  Test these functions.
21292
21293 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
21294             Bruno Haible  <bruno@clisp.org>
21295
21296         Add "Extending Gnulib" chapter to manual.
21297         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
21298         chapter.
21299         (Extending Gnulib): New chapter.
21300         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
21301         chapter.
21302
21303 2010-06-09  Bruno Haible  <bruno@clisp.org>
21304
21305         Avoid relocwrapper link errors due to gnulib replacement functions.
21306         * lib/areadlink.c: Use the system's malloc, realloc functions.
21307         (areadlink): Set errno to ENOMEM explicitly.
21308         * modules/areadlink (Depends-on): Remove malloc-posix.
21309         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21310
21311 2010-06-09  Bruno Haible  <bruno@clisp.org>
21312
21313         Avoid relocwrapper link errors due to gnulib replacement functions.
21314         * lib/canonicalize-lgpl.c: Use the system's malloc function.
21315         * lib/malloca.c: Likewise.
21316         * lib/relocatable.c: Likewise.
21317         * lib/progreloc.c: Use the system's malloc, sprintf functions.
21318         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
21319         * lib/setenv.c: Use the system's malloc, realloc functions.
21320         * lib/strerror.c: Use the system's sprintf function.
21321         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21322
21323 2010-06-04  Bruno Haible  <bruno@clisp.org>
21324
21325         Prefer documented low-level autoconf macro names.
21326         * m4/lib-link.m4: Use m4_translit instead of translit.
21327         * m4/environ.m4: Likewise.
21328         * m4/mathfunc.m4: Likewise.
21329         * m4/onceonly.m4: Likewise.
21330         * m4/stdint.m4: Likewise.
21331         Suggested by Eric Blake.
21332
21333 2010-06-04  Martin Lambers  <marlam@marlam.de>
21334             Bruno Haible  <bruno@clisp.org>
21335
21336         havelib: Allow library names with '+' characters.
21337         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
21338         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
21339
21340 2010-06-09  Bruno Haible  <bruno@clisp.org>
21341
21342         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
21343         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
21344         realloc failed.
21345
21346 2010-06-08  Peter Simons  <simons@cryp.to>
21347
21348         maint.mk: make the news-check rule more configurable
21349         * top/maint.mk (news-check-lines-spec): New variable.
21350         (news-check): Use "sed -n 1,10p" in place of "head".
21351
21352 2010-06-07  Jim Meyering  <meyering@redhat.com>
21353
21354         do-release-commit-and-tag: fix typo in --help
21355         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
21356
21357         regex: avoid new dead-code warning with gcc-4.6.0
21358         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
21359         if-block containing a while-loop.  It's been unused for at least
21360         5 years.
21361
21362 2010-06-05  Bruno Haible  <bruno@clisp.org>
21363
21364         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
21365         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
21366
21367 2010-06-04  Bruno Haible  <bruno@clisp.org>
21368
21369         Update to GNU gettext 0.18.1.
21370         * modules/gettext (configure.ac): Require gettext infrastructure from
21371         version 0.18.1.
21372
21373 2010-06-03  Bruno Haible  <bruno@clisp.org>
21374
21375         Don't use AC_LIBOBJ with file names in subdirectories.
21376         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
21377         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
21378         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
21379         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
21380         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
21381         gl_LIBUNISTRING_LIBSOURCE.
21382         (Makefile.am): Augment lib_SOURCES here, conditionally.
21383         * NEWS: Drop requirement for Automake option 'subdir-objects'.
21384
21385 2010-06-03  Bruno Haible  <bruno@clisp.org>
21386
21387         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
21388         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
21389         expansion does not end with a newline.
21390         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
21391         unnecessary newline.
21392
21393 2010-06-03  Bruno Haible  <bruno@clisp.org>
21394
21395         Reduce dependencies.
21396         * tests/test-quotearg.h: New file, extracted from
21397         tests/test-quotearg.c.
21398         * tests/test-quotearg-simple.c: New file, extracted from
21399         tests/test-quotearg.c.
21400         * tests/test-quotearg.c: Don't include <ctype.h>.
21401         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
21402         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
21403         use_quote_double_quotes, use_quotearg_colon): Moved to
21404         tests/test-quotearg.h.
21405         (results_g, flag_results, custom_quotes, custom_results): Moved
21406         to tests/test-quotearg-simple.c.
21407         (main): Moved the part that does not depend on gettext to
21408         tests/test-quotearg-simple.c. Return 77 if the test cannot be
21409         performed.
21410         * modules/quotearg-simple: New file.
21411         * modules/quotearg-simple-tests: New file.
21412         * modules/quotearg (Depends-on): Add quotearg-simple.
21413         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
21414         (Files): Add tests/test-quotearg.h.
21415         Reported by Paolo Bonzini.
21416
21417 2010-06-03  Bruno Haible  <bruno@clisp.org>
21418
21419         Reduce dependencies.
21420         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
21421
21422 2010-06-03  Bruno Haible  <bruno@clisp.org>
21423
21424         time: Undefine more broken macros.
21425         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
21426         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
21427         Reported by Eric Blake.
21428
21429 2010-06-03  Bruno Haible  <bruno@clisp.org>
21430
21431         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
21432         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
21433         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
21434         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
21435         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
21436         Reported by Ludovic Courtès <ludo@gnu.org>.
21437
21438 2010-06-02  Eric Blake  <eblake@redhat.com>
21439
21440         time: work with mingw + pthreads-win32 library
21441         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
21442         if timespec is defined only in pthread.h.
21443         * modules/time (Makefile.am): Substitute it.
21444         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
21445         <pthread.h>, when needed.
21446         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
21447         from the library.
21448
21449 2010-05-31  Bruno Haible  <bruno@clisp.org>
21450
21451         Avoid expanding two macros in the wrong order.
21452         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
21453         gl_LIBUNISTRING if it is defined.
21454         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
21455         autoconf >= 2.64.
21456         Reported by Ludovic Courtès <ludo@gnu.org>.
21457
21458 2010-05-27  Jim Meyering  <meyering@redhat.com>
21459
21460         maint.mk: also prohibit "#undef" of always-defined symbols
21461         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
21462         Allow more than one space before the symbol name.
21463         (sc_prohibit_always-defined_macros): Use grep's -E, now that
21464         the regexp uses alternation.
21465
21466 2010-05-26  Eric Blake  <eblake@redhat.com>
21467
21468         maint.mk: avoid echo -e
21469         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
21470         Convert all uses of echo -* to printf.
21471         Reported by Matthias Bolte.
21472
21473 2010-05-25  Bruno Haible  <bruno@clisp.org>
21474
21475         Update to GNU gettext 0.18, part 2.
21476         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
21477         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
21478
21479 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21480
21481         Add missing include in test-pwrite.c.
21482         * tests/test-pwrite.c: Include string.h, for strcmp.
21483
21484 2010-05-24  Bruno Haible  <bruno@clisp.org>
21485
21486         * NEWS: Mention requirement for Automake option 'subdir-objects'.
21487
21488 2010-05-24  Bruno Haible  <bruno@clisp.org>
21489
21490         Don't use conversion with transliteration in u{8,16,32}_strcoll.
21491         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
21492         iconveh_error argument.
21493         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
21494         U_STRCONV_TO_LOCALE.
21495         * lib/unistr/u16-strcoll.c: Likewise.
21496         * lib/unistr/u32-strcoll.c: Likewise.
21497         * modules/unistr/u8-strcoll (Depends-on): Add
21498         uniconv/u8-strconv-to-enc, localcharset. Remove
21499         uniconv/u8-strconv-to-locale.
21500         (configure.ac): Bump version number.
21501         * modules/unistr/u16-strcoll (Depends-on): Add
21502         uniconv/u16-strconv-to-enc, localcharset. Remove
21503         uniconv/u16-strconv-to-locale.
21504         (configure.ac): Bump version number.
21505         * modules/unistr/u32-strcoll (Depends-on): Add
21506         uniconv/u32-strconv-to-enc, localcharset. Remove
21507         uniconv/u32-strconv-to-locale.
21508         (configure.ac): Bump version number.
21509
21510 2010-05-24  Bruno Haible  <bruno@clisp.org>
21511
21512         Avoid a test failure on NetBSD 5.0.
21513         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
21514         an iconv() bug.
21515
21516 2010-05-24  Bruno Haible  <bruno@clisp.org>
21517
21518         Adjust #include directive style.
21519         * modules/regex (Includes): Recommend to write <regex.h>.
21520
21521 2010-05-24  Bruno Haible  <bruno@clisp.org>
21522
21523         regex: Don't require alloca.
21524         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
21525         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
21526         only inside if (0).
21527
21528 2010-05-23  Jim Meyering  <meyering@redhat.com>
21529
21530         test-renameat.c: include <sys/stat.h>
21531         * tests/test-renameat.c: Include <sys/stat.h>; required for
21532         definition of S_IS* macros.
21533
21534 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
21535
21536         Update maintainer documentation for 'relocatable-prog' module.
21537         * doc/relocatable-maint.texi: Update.
21538         Comments by Bruno Haible.
21539
21540 2010-05-23  Bruno Haible  <bruno@clisp.org>
21541
21542         git-merge-changelog: Enable --split-merged-entry by default.
21543         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
21544         (usage): Don't mention this option any more.
21545         Reported by Ralf Wildenhues.
21546
21547 2010-05-23  Jim Meyering  <meyering@redhat.com>
21548
21549         test-pwrite: do not leave behind a test file named "out"
21550         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
21551         The trivial-looking use of init.sh is really necessary.
21552         It ensures that the temporary file, "out", is created in
21553         a temporary directory, and removed upon termination.
21554         * tests/test-pwrite.sh: Re-add file.
21555         * modules/pwrite-tests: Reference it.
21556
21557 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21558
21559         Fix output redirection buglet in init.sh.
21560         * tests/init.sh: Fix redirection of stderr.
21561
21562 2010-05-20  Simon Josefsson  <simon@josefsson.org>
21563
21564         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
21565
21566 2010-05-17  Simon Josefsson  <simon@josefsson.org>
21567
21568         * modules/valgrind-tests: New file.
21569         * m4/valgrind-tests.m4: New file.
21570         * doc/valgrind-tests.texi: New file.
21571         * doc/gnulib.texi (Running self-tests under valgrind): New
21572         section.
21573
21574 2010-05-19  Bruno Haible  <bruno@clisp.org>
21575
21576         Clean up dead code in recent commit.
21577         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
21578         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
21579         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
21580         Suggested by Paolo Bonzini.
21581
21582 2010-05-19  Bruno Haible  <bruno@clisp.org>
21583
21584         Avoid valgrind error reports from libunistring.
21585         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
21586         * modules/libunistring (Files): Add it.
21587         * modules/libunistring-optional (Files): Likewise.
21588
21589 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
21590             Bruno Haible  <bruno@clisp.org>
21591
21592         New module 'libunistring-optional'.
21593         * modules/libunistring-optional: New file.
21594         * m4/libunistring-base.m4: New file.
21595         * m4/libunistring-optional.m4: New file.
21596         * lib/unicase.in.h: Renamed from lib/unicase.h.
21597         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
21598         * lib/unictype.in.h: Renamed from lib/unictype.h.
21599         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
21600         * lib/uniname.in.h: Renamed from lib/uniname.h.
21601         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
21602         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
21603         * lib/unistr.in.h: Renamed from lib/unistr.h.
21604         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
21605         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
21606         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
21607         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
21608         gl_LIBUNISTRING. If the library was found, determine the installed
21609         version and set LIBUNISTRING_VERSION.
21610         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
21611         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
21612         handle a configuration option --with-included-libunistring.
21613         * modules/libunistring (Files): Add m4/absolute-header.m4.
21614         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
21615         Add m4/libunistring-base.m4.
21616         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21617         (Makefile.am): Build unicase.h from unicase.in.h.
21618         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
21619         Add m4/libunistring-base.m4.
21620         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21621         (Makefile.am): Build uniconv.h from uniconv.in.h.
21622         * modules/unictype/base (Files): Use unictype.in.h instead of
21623         unictype.h. Add m4/libunistring-base.m4.
21624         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21625         (Makefile.am): Build unictype.h from unictype.in.h.
21626         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
21627         Add m4/libunistring-base.m4.
21628         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21629         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
21630         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
21631         Add m4/libunistring-base.m4.
21632         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21633         (Makefile.am): Build uniname.h from uniname.in.h.
21634         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
21635         Add m4/libunistring-base.m4.
21636         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21637         (Makefile.am): Build uninorm.h from uninorm.in.h.
21638         * modules/unistdio/base (Files): Use unistdio.in.h instead of
21639         unistdio.h. Add m4/libunistring-base.m4.
21640         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21641         (Makefile.am): Build unistdio.h from unistdio.in.h.
21642         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
21643         Add m4/libunistring-base.m4.
21644         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21645         (Makefile.am): Build unistr.h from unistr.in.h.
21646         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
21647         Add m4/libunistring-base.m4.
21648         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21649         (Makefile.am): Build unitypes.h from unitypes.in.h.
21650         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
21651         Add m4/libunistring-base.m4.
21652         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21653         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
21654         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
21655         uniwidth.h. Add m4/libunistring-base.m4.
21656         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21657         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
21658         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
21659         instead of augmenting lib_SOURCES.
21660         * modules/unicase/empty-suffix-context: Likewise.
21661         * modules/unicase/locale-language: Likewise.
21662         * modules/unicase/tolower: Likewise.
21663         * modules/unicase/totitle: Likewise.
21664         * modules/unicase/toupper: Likewise.
21665         * modules/unicase/u8-casecmp: Likewise.
21666         * modules/unicase/u8-casecoll: Likewise.
21667         * modules/unicase/u8-casefold: Likewise.
21668         * modules/unicase/u8-casexfrm: Likewise.
21669         * modules/unicase/u8-ct-casefold: Likewise.
21670         * modules/unicase/u8-ct-tolower: Likewise.
21671         * modules/unicase/u8-ct-totitle: Likewise.
21672         * modules/unicase/u8-ct-toupper: Likewise.
21673         * modules/unicase/u8-is-cased: Likewise.
21674         * modules/unicase/u8-is-casefolded: Likewise.
21675         * modules/unicase/u8-is-lowercase: Likewise.
21676         * modules/unicase/u8-is-titlecase: Likewise.
21677         * modules/unicase/u8-is-uppercase: Likewise.
21678         * modules/unicase/u8-prefix-context: Likewise.
21679         * modules/unicase/u8-suffix-context: Likewise.
21680         * modules/unicase/u8-tolower: Likewise.
21681         * modules/unicase/u8-totitle: Likewise.
21682         * modules/unicase/u8-toupper: Likewise.
21683         * modules/unicase/u16-casecmp: Likewise.
21684         * modules/unicase/u16-casecoll: Likewise.
21685         * modules/unicase/u16-casefold: Likewise.
21686         * modules/unicase/u16-casexfrm: Likewise.
21687         * modules/unicase/u16-ct-casefold: Likewise.
21688         * modules/unicase/u16-ct-tolower: Likewise.
21689         * modules/unicase/u16-ct-totitle: Likewise.
21690         * modules/unicase/u16-ct-toupper: Likewise.
21691         * modules/unicase/u16-is-cased: Likewise.
21692         * modules/unicase/u16-is-casefolded: Likewise.
21693         * modules/unicase/u16-is-lowercase: Likewise.
21694         * modules/unicase/u16-is-titlecase: Likewise.
21695         * modules/unicase/u16-is-uppercase: Likewise.
21696         * modules/unicase/u16-prefix-context: Likewise.
21697         * modules/unicase/u16-suffix-context: Likewise.
21698         * modules/unicase/u16-tolower: Likewise.
21699         * modules/unicase/u16-totitle: Likewise.
21700         * modules/unicase/u16-toupper: Likewise.
21701         * modules/unicase/u32-casecmp: Likewise.
21702         * modules/unicase/u32-casecoll: Likewise.
21703         * modules/unicase/u32-casefold: Likewise.
21704         * modules/unicase/u32-casexfrm: Likewise.
21705         * modules/unicase/u32-ct-casefold: Likewise.
21706         * modules/unicase/u32-ct-tolower: Likewise.
21707         * modules/unicase/u32-ct-totitle: Likewise.
21708         * modules/unicase/u32-ct-toupper: Likewise.
21709         * modules/unicase/u32-is-cased: Likewise.
21710         * modules/unicase/u32-is-casefolded: Likewise.
21711         * modules/unicase/u32-is-lowercase: Likewise.
21712         * modules/unicase/u32-is-titlecase: Likewise.
21713         * modules/unicase/u32-is-uppercase: Likewise.
21714         * modules/unicase/u32-prefix-context: Likewise.
21715         * modules/unicase/u32-suffix-context: Likewise.
21716         * modules/unicase/u32-tolower: Likewise.
21717         * modules/unicase/u32-totitle: Likewise.
21718         * modules/unicase/u32-toupper: Likewise.
21719         * modules/unicase/ulc-casecmp: Likewise.
21720         * modules/unicase/ulc-casecoll: Likewise.
21721         * modules/unicase/ulc-casexfrm: Likewise.
21722         * modules/uniconv/u8-conv-from-enc: Likewise.
21723         * modules/uniconv/u8-conv-to-enc: Likewise.
21724         * modules/uniconv/u8-strconv-from-enc: Likewise.
21725         * modules/uniconv/u8-strconv-from-locale: Likewise.
21726         * modules/uniconv/u8-strconv-to-enc: Likewise.
21727         * modules/uniconv/u8-strconv-to-locale: Likewise.
21728         * modules/uniconv/u16-conv-from-enc: Likewise.
21729         * modules/uniconv/u16-conv-to-enc: Likewise.
21730         * modules/uniconv/u16-strconv-from-enc: Likewise.
21731         * modules/uniconv/u16-strconv-from-locale: Likewise.
21732         * modules/uniconv/u16-strconv-to-enc: Likewise.
21733         * modules/uniconv/u16-strconv-to-locale: Likewise.
21734         * modules/uniconv/u32-conv-from-enc: Likewise.
21735         * modules/uniconv/u32-conv-to-enc: Likewise.
21736         * modules/uniconv/u32-strconv-from-enc: Likewise.
21737         * modules/uniconv/u32-strconv-from-locale: Likewise.
21738         * modules/uniconv/u32-strconv-to-enc: Likewise.
21739         * modules/uniconv/u32-strconv-to-locale: Likewise.
21740         * modules/unictype/bidicategory-byname: Likewise.
21741         * modules/unictype/bidicategory-name: Likewise.
21742         * modules/unictype/bidicategory-of: Likewise.
21743         * modules/unictype/bidicategory-test: Likewise.
21744         * modules/unictype/block-list: Likewise.
21745         * modules/unictype/block-test: Likewise.
21746         * modules/unictype/category-C: Likewise.
21747         * modules/unictype/category-Cc: Likewise.
21748         * modules/unictype/category-Cf: Likewise.
21749         * modules/unictype/category-Cn: Likewise.
21750         * modules/unictype/category-Co: Likewise.
21751         * modules/unictype/category-Cs: Likewise.
21752         * modules/unictype/category-L: Likewise.
21753         * modules/unictype/category-Ll: Likewise.
21754         * modules/unictype/category-Lm: Likewise.
21755         * modules/unictype/category-Lo: Likewise.
21756         * modules/unictype/category-Lt: Likewise.
21757         * modules/unictype/category-Lu: Likewise.
21758         * modules/unictype/category-M: Likewise.
21759         * modules/unictype/category-Mc: Likewise.
21760         * modules/unictype/category-Me: Likewise.
21761         * modules/unictype/category-Mn: Likewise.
21762         * modules/unictype/category-N: Likewise.
21763         * modules/unictype/category-Nd: Likewise.
21764         * modules/unictype/category-Nl: Likewise.
21765         * modules/unictype/category-No: Likewise.
21766         * modules/unictype/category-P: Likewise.
21767         * modules/unictype/category-Pc: Likewise.
21768         * modules/unictype/category-Pd: Likewise.
21769         * modules/unictype/category-Pe: Likewise.
21770         * modules/unictype/category-Pf: Likewise.
21771         * modules/unictype/category-Pi: Likewise.
21772         * modules/unictype/category-Po: Likewise.
21773         * modules/unictype/category-Ps: Likewise.
21774         * modules/unictype/category-S: Likewise.
21775         * modules/unictype/category-Sc: Likewise.
21776         * modules/unictype/category-Sk: Likewise.
21777         * modules/unictype/category-Sm: Likewise.
21778         * modules/unictype/category-So: Likewise.
21779         * modules/unictype/category-Z: Likewise.
21780         * modules/unictype/category-Zl: Likewise.
21781         * modules/unictype/category-Zp: Likewise.
21782         * modules/unictype/category-Zs: Likewise.
21783         * modules/unictype/category-and: Likewise.
21784         * modules/unictype/category-and-not: Likewise.
21785         * modules/unictype/category-byname: Likewise.
21786         * modules/unictype/category-name: Likewise.
21787         * modules/unictype/category-none: Likewise.
21788         * modules/unictype/category-of: Likewise.
21789         * modules/unictype/category-or: Likewise.
21790         * modules/unictype/category-test: Likewise.
21791         * modules/unictype/combining-class: Likewise.
21792         * modules/unictype/ctype-alnum: Likewise.
21793         * modules/unictype/ctype-alpha: Likewise.
21794         * modules/unictype/ctype-blank: Likewise.
21795         * modules/unictype/ctype-cntrl: Likewise.
21796         * modules/unictype/ctype-digit: Likewise.
21797         * modules/unictype/ctype-graph: Likewise.
21798         * modules/unictype/ctype-lower: Likewise.
21799         * modules/unictype/ctype-print: Likewise.
21800         * modules/unictype/ctype-punct: Likewise.
21801         * modules/unictype/ctype-space: Likewise.
21802         * modules/unictype/ctype-upper: Likewise.
21803         * modules/unictype/ctype-xdigit: Likewise.
21804         * modules/unictype/decimal-digit: Likewise.
21805         * modules/unictype/digit: Likewise.
21806         * modules/unictype/mirror: Likewise.
21807         * modules/unictype/numeric: Likewise.
21808         * modules/unictype/property-alphabetic: Likewise.
21809         * modules/unictype/property-ascii-hex-digit: Likewise.
21810         * modules/unictype/property-bidi-arabic-digit: Likewise.
21811         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
21812         * modules/unictype/property-bidi-block-separator: Likewise.
21813         * modules/unictype/property-bidi-boundary-neutral: Likewise.
21814         * modules/unictype/property-bidi-common-separator: Likewise.
21815         * modules/unictype/property-bidi-control: Likewise.
21816         * modules/unictype/property-bidi-embedding-or-override: Likewise.
21817         * modules/unictype/property-bidi-eur-num-separator: Likewise.
21818         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
21819         * modules/unictype/property-bidi-european-digit: Likewise.
21820         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
21821         * modules/unictype/property-bidi-left-to-right: Likewise.
21822         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
21823         * modules/unictype/property-bidi-other-neutral: Likewise.
21824         * modules/unictype/property-bidi-pdf: Likewise.
21825         * modules/unictype/property-bidi-segment-separator: Likewise.
21826         * modules/unictype/property-bidi-whitespace: Likewise.
21827         * modules/unictype/property-byname: Likewise.
21828         * modules/unictype/property-combining: Likewise.
21829         * modules/unictype/property-composite: Likewise.
21830         * modules/unictype/property-currency-symbol: Likewise.
21831         * modules/unictype/property-dash: Likewise.
21832         * modules/unictype/property-decimal-digit: Likewise.
21833         * modules/unictype/property-default-ignorable-code-point: Likewise.
21834         * modules/unictype/property-deprecated: Likewise.
21835         * modules/unictype/property-diacritic: Likewise.
21836         * modules/unictype/property-extender: Likewise.
21837         * modules/unictype/property-format-control: Likewise.
21838         * modules/unictype/property-grapheme-base: Likewise.
21839         * modules/unictype/property-grapheme-extend: Likewise.
21840         * modules/unictype/property-grapheme-link: Likewise.
21841         * modules/unictype/property-hex-digit: Likewise.
21842         * modules/unictype/property-hyphen: Likewise.
21843         * modules/unictype/property-id-continue: Likewise.
21844         * modules/unictype/property-id-start: Likewise.
21845         * modules/unictype/property-ideographic: Likewise.
21846         * modules/unictype/property-ids-binary-operator: Likewise.
21847         * modules/unictype/property-ids-trinary-operator: Likewise.
21848         * modules/unictype/property-ignorable-control: Likewise.
21849         * modules/unictype/property-iso-control: Likewise.
21850         * modules/unictype/property-join-control: Likewise.
21851         * modules/unictype/property-left-of-pair: Likewise.
21852         * modules/unictype/property-line-separator: Likewise.
21853         * modules/unictype/property-logical-order-exception: Likewise.
21854         * modules/unictype/property-lowercase: Likewise.
21855         * modules/unictype/property-math: Likewise.
21856         * modules/unictype/property-non-break: Likewise.
21857         * modules/unictype/property-not-a-character: Likewise.
21858         * modules/unictype/property-numeric: Likewise.
21859         * modules/unictype/property-other-alphabetic: Likewise.
21860         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
21861         * modules/unictype/property-other-grapheme-extend: Likewise.
21862         * modules/unictype/property-other-id-continue: Likewise.
21863         * modules/unictype/property-other-id-start: Likewise.
21864         * modules/unictype/property-other-lowercase: Likewise.
21865         * modules/unictype/property-other-math: Likewise.
21866         * modules/unictype/property-other-uppercase: Likewise.
21867         * modules/unictype/property-paired-punctuation: Likewise.
21868         * modules/unictype/property-paragraph-separator: Likewise.
21869         * modules/unictype/property-pattern-syntax: Likewise.
21870         * modules/unictype/property-pattern-white-space: Likewise.
21871         * modules/unictype/property-private-use: Likewise.
21872         * modules/unictype/property-punctuation: Likewise.
21873         * modules/unictype/property-quotation-mark: Likewise.
21874         * modules/unictype/property-radical: Likewise.
21875         * modules/unictype/property-sentence-terminal: Likewise.
21876         * modules/unictype/property-soft-dotted: Likewise.
21877         * modules/unictype/property-space: Likewise.
21878         * modules/unictype/property-terminal-punctuation: Likewise.
21879         * modules/unictype/property-test: Likewise.
21880         * modules/unictype/property-titlecase: Likewise.
21881         * modules/unictype/property-unassigned-code-value: Likewise.
21882         * modules/unictype/property-unified-ideograph: Likewise.
21883         * modules/unictype/property-uppercase: Likewise.
21884         * modules/unictype/property-variation-selector: Likewise.
21885         * modules/unictype/property-white-space: Likewise.
21886         * modules/unictype/property-xid-continue: Likewise.
21887         * modules/unictype/property-xid-start: Likewise.
21888         * modules/unictype/property-zero-width: Likewise.
21889         * modules/unictype/scripts: Likewise.
21890         * modules/unictype/syntax-c-ident: Likewise.
21891         * modules/unictype/syntax-c-whitespace: Likewise.
21892         * modules/unictype/syntax-java-ident: Likewise.
21893         * modules/unictype/syntax-java-whitespace: Likewise.
21894         * modules/unilbrk/u8-possible-linebreaks: Likewise.
21895         * modules/unilbrk/u8-width-linebreaks: Likewise.
21896         * modules/unilbrk/u16-possible-linebreaks: Likewise.
21897         * modules/unilbrk/u16-width-linebreaks: Likewise.
21898         * modules/unilbrk/u32-possible-linebreaks: Likewise.
21899         * modules/unilbrk/u32-width-linebreaks: Likewise.
21900         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
21901         * modules/unilbrk/ulc-width-linebreaks: Likewise.
21902         * modules/uniname/uniname: Likewise.
21903         * modules/uninorm/canonical-decomposition: Likewise.
21904         * modules/uninorm/composition: Likewise.
21905         * modules/uninorm/decomposing-form: Likewise.
21906         * modules/uninorm/decomposition: Likewise.
21907         * modules/uninorm/filter: Likewise.
21908         * modules/uninorm/nfc: Likewise.
21909         * modules/uninorm/nfd: Likewise.
21910         * modules/uninorm/nfkc: Likewise.
21911         * modules/uninorm/nfkd: Likewise.
21912         * modules/uninorm/u8-normalize: Likewise.
21913         * modules/uninorm/u8-normcmp: Likewise.
21914         * modules/uninorm/u8-normcoll: Likewise.
21915         * modules/uninorm/u8-normxfrm: Likewise.
21916         * modules/uninorm/u16-normalize: Likewise.
21917         * modules/uninorm/u16-normcmp: Likewise.
21918         * modules/uninorm/u16-normcoll: Likewise.
21919         * modules/uninorm/u16-normxfrm: Likewise.
21920         * modules/uninorm/u32-normalize: Likewise.
21921         * modules/uninorm/u32-normcmp: Likewise.
21922         * modules/uninorm/u32-normcoll: Likewise.
21923         * modules/uninorm/u32-normxfrm: Likewise.
21924         * modules/unistdio/u8-asnprintf: Likewise.
21925         * modules/unistdio/u8-asprintf: Likewise.
21926         * modules/unistdio/u8-snprintf: Likewise.
21927         * modules/unistdio/u8-sprintf: Likewise.
21928         * modules/unistdio/u8-u8-asnprintf: Likewise.
21929         * modules/unistdio/u8-u8-asprintf: Likewise.
21930         * modules/unistdio/u8-u8-snprintf: Likewise.
21931         * modules/unistdio/u8-u8-sprintf: Likewise.
21932         * modules/unistdio/u8-u8-vasnprintf: Likewise.
21933         * modules/unistdio/u8-u8-vasprintf: Likewise.
21934         * modules/unistdio/u8-u8-vsnprintf: Likewise.
21935         * modules/unistdio/u8-u8-vsprintf: Likewise.
21936         * modules/unistdio/u8-vasnprintf: Likewise.
21937         * modules/unistdio/u8-vasprintf: Likewise.
21938         * modules/unistdio/u8-vsnprintf: Likewise.
21939         * modules/unistdio/u8-vsprintf: Likewise.
21940         * modules/unistdio/u16-asnprintf: Likewise.
21941         * modules/unistdio/u16-asprintf: Likewise.
21942         * modules/unistdio/u16-snprintf: Likewise.
21943         * modules/unistdio/u16-sprintf: Likewise.
21944         * modules/unistdio/u16-u16-asnprintf: Likewise.
21945         * modules/unistdio/u16-u16-asprintf: Likewise.
21946         * modules/unistdio/u16-u16-snprintf: Likewise.
21947         * modules/unistdio/u16-u16-sprintf: Likewise.
21948         * modules/unistdio/u16-u16-vasnprintf: Likewise.
21949         * modules/unistdio/u16-u16-vasprintf: Likewise.
21950         * modules/unistdio/u16-u16-vsnprintf: Likewise.
21951         * modules/unistdio/u16-u16-vsprintf: Likewise.
21952         * modules/unistdio/u16-vasnprintf: Likewise.
21953         * modules/unistdio/u16-vasprintf: Likewise.
21954         * modules/unistdio/u16-vsnprintf: Likewise.
21955         * modules/unistdio/u16-vsprintf: Likewise.
21956         * modules/unistdio/u32-asnprintf: Likewise.
21957         * modules/unistdio/u32-asprintf: Likewise.
21958         * modules/unistdio/u32-snprintf: Likewise.
21959         * modules/unistdio/u32-sprintf: Likewise.
21960         * modules/unistdio/u32-u32-asnprintf: Likewise.
21961         * modules/unistdio/u32-u32-asprintf: Likewise.
21962         * modules/unistdio/u32-u32-snprintf: Likewise.
21963         * modules/unistdio/u32-u32-sprintf: Likewise.
21964         * modules/unistdio/u32-u32-vasnprintf: Likewise.
21965         * modules/unistdio/u32-u32-vasprintf: Likewise.
21966         * modules/unistdio/u32-u32-vsnprintf: Likewise.
21967         * modules/unistdio/u32-u32-vsprintf: Likewise.
21968         * modules/unistdio/u32-vasnprintf: Likewise.
21969         * modules/unistdio/u32-vasprintf: Likewise.
21970         * modules/unistdio/u32-vsnprintf: Likewise.
21971         * modules/unistdio/u32-vsprintf: Likewise.
21972         * modules/unistdio/ulc-asnprintf: Likewise.
21973         * modules/unistdio/ulc-asprintf: Likewise.
21974         * modules/unistdio/ulc-fprintf: Likewise.
21975         * modules/unistdio/ulc-snprintf: Likewise.
21976         * modules/unistdio/ulc-sprintf: Likewise.
21977         * modules/unistdio/ulc-vasnprintf: Likewise.
21978         * modules/unistdio/ulc-vasprintf: Likewise.
21979         * modules/unistdio/ulc-vfprintf: Likewise.
21980         * modules/unistdio/ulc-vsnprintf: Likewise.
21981         * modules/unistdio/ulc-vsprintf: Likewise.
21982         * modules/unistr/u8-check: Likewise.
21983         * modules/unistr/u8-chr: Likewise.
21984         * modules/unistr/u8-cmp: Likewise.
21985         * modules/unistr/u8-cmp2: Likewise.
21986         * modules/unistr/u8-cpy: Likewise.
21987         * modules/unistr/u8-cpy-alloc: Likewise.
21988         * modules/unistr/u8-endswith: Likewise.
21989         * modules/unistr/u8-mblen: Likewise.
21990         * modules/unistr/u8-mbsnlen: Likewise.
21991         * modules/unistr/u8-mbtouc: Likewise.
21992         * modules/unistr/u8-mbtouc-unsafe: Likewise.
21993         * modules/unistr/u8-mbtoucr: Likewise.
21994         * modules/unistr/u8-move: Likewise.
21995         * modules/unistr/u8-next: Likewise.
21996         * modules/unistr/u8-prev: Likewise.
21997         * modules/unistr/u8-set: Likewise.
21998         * modules/unistr/u8-startswith: Likewise.
21999         * modules/unistr/u8-stpcpy: Likewise.
22000         * modules/unistr/u8-stpncpy: Likewise.
22001         * modules/unistr/u8-strcat: Likewise.
22002         * modules/unistr/u8-strchr: Likewise.
22003         * modules/unistr/u8-strcmp: Likewise.
22004         * modules/unistr/u8-strcoll: Likewise.
22005         * modules/unistr/u8-strcpy: Likewise.
22006         * modules/unistr/u8-strcspn: Likewise.
22007         * modules/unistr/u8-strdup: Likewise.
22008         * modules/unistr/u8-strlen: Likewise.
22009         * modules/unistr/u8-strmblen: Likewise.
22010         * modules/unistr/u8-strmbtouc: Likewise.
22011         * modules/unistr/u8-strncat: Likewise.
22012         * modules/unistr/u8-strncmp: Likewise.
22013         * modules/unistr/u8-strncpy: Likewise.
22014         * modules/unistr/u8-strnlen: Likewise.
22015         * modules/unistr/u8-strpbrk: Likewise.
22016         * modules/unistr/u8-strrchr: Likewise.
22017         * modules/unistr/u8-strspn: Likewise.
22018         * modules/unistr/u8-strstr: Likewise.
22019         * modules/unistr/u8-strtok: Likewise.
22020         * modules/unistr/u8-to-u16: Likewise.
22021         * modules/unistr/u8-to-u32: Likewise.
22022         * modules/unistr/u8-uctomb: Likewise.
22023         * modules/unistr/u16-check: Likewise.
22024         * modules/unistr/u16-chr: Likewise.
22025         * modules/unistr/u16-cmp: Likewise.
22026         * modules/unistr/u16-cmp2: Likewise.
22027         * modules/unistr/u16-cpy: Likewise.
22028         * modules/unistr/u16-cpy-alloc: Likewise.
22029         * modules/unistr/u16-endswith: Likewise.
22030         * modules/unistr/u16-mblen: Likewise.
22031         * modules/unistr/u16-mbsnlen: Likewise.
22032         * modules/unistr/u16-mbtouc: Likewise.
22033         * modules/unistr/u16-mbtouc-unsafe: Likewise.
22034         * modules/unistr/u16-mbtoucr: Likewise.
22035         * modules/unistr/u16-move: Likewise.
22036         * modules/unistr/u16-next: Likewise.
22037         * modules/unistr/u16-prev: Likewise.
22038         * modules/unistr/u16-set: Likewise.
22039         * modules/unistr/u16-startswith: Likewise.
22040         * modules/unistr/u16-stpcpy: Likewise.
22041         * modules/unistr/u16-stpncpy: Likewise.
22042         * modules/unistr/u16-strcat: Likewise.
22043         * modules/unistr/u16-strchr: Likewise.
22044         * modules/unistr/u16-strcmp: Likewise.
22045         * modules/unistr/u16-strcoll: Likewise.
22046         * modules/unistr/u16-strcpy: Likewise.
22047         * modules/unistr/u16-strcspn: Likewise.
22048         * modules/unistr/u16-strdup: Likewise.
22049         * modules/unistr/u16-strlen: Likewise.
22050         * modules/unistr/u16-strmblen: Likewise.
22051         * modules/unistr/u16-strmbtouc: Likewise.
22052         * modules/unistr/u16-strncat: Likewise.
22053         * modules/unistr/u16-strncmp: Likewise.
22054         * modules/unistr/u16-strncpy: Likewise.
22055         * modules/unistr/u16-strnlen: Likewise.
22056         * modules/unistr/u16-strpbrk: Likewise.
22057         * modules/unistr/u16-strrchr: Likewise.
22058         * modules/unistr/u16-strspn: Likewise.
22059         * modules/unistr/u16-strstr: Likewise.
22060         * modules/unistr/u16-strtok: Likewise.
22061         * modules/unistr/u16-to-u32: Likewise.
22062         * modules/unistr/u16-to-u8: Likewise.
22063         * modules/unistr/u16-uctomb: Likewise.
22064         * modules/unistr/u32-check: Likewise.
22065         * modules/unistr/u32-chr: Likewise.
22066         * modules/unistr/u32-cmp: Likewise.
22067         * modules/unistr/u32-cmp2: Likewise.
22068         * modules/unistr/u32-cpy: Likewise.
22069         * modules/unistr/u32-cpy-alloc: Likewise.
22070         * modules/unistr/u32-endswith: Likewise.
22071         * modules/unistr/u32-mblen: Likewise.
22072         * modules/unistr/u32-mbsnlen: Likewise.
22073         * modules/unistr/u32-mbtouc: Likewise.
22074         * modules/unistr/u32-mbtouc-unsafe: Likewise.
22075         * modules/unistr/u32-mbtoucr: Likewise.
22076         * modules/unistr/u32-move: Likewise.
22077         * modules/unistr/u32-next: Likewise.
22078         * modules/unistr/u32-prev: Likewise.
22079         * modules/unistr/u32-set: Likewise.
22080         * modules/unistr/u32-startswith: Likewise.
22081         * modules/unistr/u32-stpcpy: Likewise.
22082         * modules/unistr/u32-stpncpy: Likewise.
22083         * modules/unistr/u32-strcat: Likewise.
22084         * modules/unistr/u32-strchr: Likewise.
22085         * modules/unistr/u32-strcmp: Likewise.
22086         * modules/unistr/u32-strcoll: Likewise.
22087         * modules/unistr/u32-strcpy: Likewise.
22088         * modules/unistr/u32-strcspn: Likewise.
22089         * modules/unistr/u32-strdup: Likewise.
22090         * modules/unistr/u32-strlen: Likewise.
22091         * modules/unistr/u32-strmblen: Likewise.
22092         * modules/unistr/u32-strmbtouc: Likewise.
22093         * modules/unistr/u32-strncat: Likewise.
22094         * modules/unistr/u32-strncmp: Likewise.
22095         * modules/unistr/u32-strncpy: Likewise.
22096         * modules/unistr/u32-strnlen: Likewise.
22097         * modules/unistr/u32-strpbrk: Likewise.
22098         * modules/unistr/u32-strrchr: Likewise.
22099         * modules/unistr/u32-strspn: Likewise.
22100         * modules/unistr/u32-strstr: Likewise.
22101         * modules/unistr/u32-strtok: Likewise.
22102         * modules/unistr/u32-to-u16: Likewise.
22103         * modules/unistr/u32-to-u8: Likewise.
22104         * modules/unistr/u32-uctomb: Likewise.
22105         * modules/uniwbrk/u8-wordbreaks: Likewise.
22106         * modules/uniwbrk/u16-wordbreaks: Likewise.
22107         * modules/uniwbrk/u32-wordbreaks: Likewise.
22108         * modules/uniwbrk/ulc-wordbreaks: Likewise.
22109         * modules/uniwbrk/wordbreak-property: Likewise.
22110         * modules/uniwidth/u8-strwidth: Likewise.
22111         * modules/uniwidth/u8-width: Likewise.
22112         * modules/uniwidth/u16-strwidth: Likewise.
22113         * modules/uniwidth/u16-width: Likewise.
22114         * modules/uniwidth/u32-strwidth: Likewise.
22115         * modules/uniwidth/u32-width: Likewise.
22116         * modules/uniwidth/width: Likewise.
22117         * modules/unicase/cased-tests (Makefile.am): Link all test programs
22118         with $(LIBUNISTRING).
22119         * modules/unicase/ignorable-tests: Likewise.
22120         * modules/unicase/locale-language-tests: Likewise.
22121         * modules/unicase/tolower-tests: Likewise.
22122         * modules/unicase/totitle-tests: Likewise.
22123         * modules/unicase/toupper-tests: Likewise.
22124         * modules/unicase/u8-casecmp-tests: Likewise.
22125         * modules/unicase/u8-casecoll-tests: Likewise.
22126         * modules/unicase/u8-casefold-tests: Likewise.
22127         * modules/unicase/u8-is-cased-tests: Likewise.
22128         * modules/unicase/u8-is-casefolded-tests: Likewise.
22129         * modules/unicase/u8-is-lowercase-tests: Likewise.
22130         * modules/unicase/u8-is-titlecase-tests: Likewise.
22131         * modules/unicase/u8-is-uppercase-tests: Likewise.
22132         * modules/unicase/u8-tolower-tests: Likewise.
22133         * modules/unicase/u8-totitle-tests: Likewise.
22134         * modules/unicase/u8-toupper-tests: Likewise.
22135         * modules/unicase/u16-casecmp-tests: Likewise.
22136         * modules/unicase/u16-casecoll-tests: Likewise.
22137         * modules/unicase/u16-casefold-tests: Likewise.
22138         * modules/unicase/u16-is-cased-tests: Likewise.
22139         * modules/unicase/u16-is-casefolded-tests: Likewise.
22140         * modules/unicase/u16-is-lowercase-tests: Likewise.
22141         * modules/unicase/u16-is-titlecase-tests: Likewise.
22142         * modules/unicase/u16-is-uppercase-tests: Likewise.
22143         * modules/unicase/u16-tolower-tests: Likewise.
22144         * modules/unicase/u16-totitle-tests: Likewise.
22145         * modules/unicase/u16-toupper-tests: Likewise.
22146         * modules/unicase/u32-casecmp-tests: Likewise.
22147         * modules/unicase/u32-casecoll-tests: Likewise.
22148         * modules/unicase/u32-casefold-tests: Likewise.
22149         * modules/unicase/u32-is-cased-tests: Likewise.
22150         * modules/unicase/u32-is-casefolded-tests: Likewise.
22151         * modules/unicase/u32-is-lowercase-tests: Likewise.
22152         * modules/unicase/u32-is-titlecase-tests: Likewise.
22153         * modules/unicase/u32-is-uppercase-tests: Likewise.
22154         * modules/unicase/u32-tolower-tests: Likewise.
22155         * modules/unicase/u32-totitle-tests: Likewise.
22156         * modules/unicase/u32-toupper-tests: Likewise.
22157         * modules/unicase/ulc-casecmp-tests: Likewise.
22158         * modules/unicase/ulc-casecoll-tests: Likewise.
22159         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
22160         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
22161         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
22162         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
22163         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
22164         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
22165         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
22166         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
22167         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
22168         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
22169         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
22170         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
22171         * modules/unictype/bidicategory-byname-tests: Likewise.
22172         * modules/unictype/bidicategory-name-tests: Likewise.
22173         * modules/unictype/bidicategory-of-tests: Likewise.
22174         * modules/unictype/bidicategory-test-tests: Likewise.
22175         * modules/unictype/block-list-tests: Likewise.
22176         * modules/unictype/block-of-tests: Likewise.
22177         * modules/unictype/block-test-tests: Likewise.
22178         * modules/unictype/category-C-tests: Likewise.
22179         * modules/unictype/category-Cc-tests: Likewise.
22180         * modules/unictype/category-Cf-tests: Likewise.
22181         * modules/unictype/category-Cn-tests: Likewise.
22182         * modules/unictype/category-Co-tests: Likewise.
22183         * modules/unictype/category-Cs-tests: Likewise.
22184         * modules/unictype/category-L-tests: Likewise.
22185         * modules/unictype/category-Ll-tests: Likewise.
22186         * modules/unictype/category-Lm-tests: Likewise.
22187         * modules/unictype/category-Lo-tests: Likewise.
22188         * modules/unictype/category-Lt-tests: Likewise.
22189         * modules/unictype/category-Lu-tests: Likewise.
22190         * modules/unictype/category-M-tests: Likewise.
22191         * modules/unictype/category-Mc-tests: Likewise.
22192         * modules/unictype/category-Me-tests: Likewise.
22193         * modules/unictype/category-Mn-tests: Likewise.
22194         * modules/unictype/category-N-tests: Likewise.
22195         * modules/unictype/category-Nd-tests: Likewise.
22196         * modules/unictype/category-Nl-tests: Likewise.
22197         * modules/unictype/category-No-tests: Likewise.
22198         * modules/unictype/category-P-tests: Likewise.
22199         * modules/unictype/category-Pc-tests: Likewise.
22200         * modules/unictype/category-Pd-tests: Likewise.
22201         * modules/unictype/category-Pe-tests: Likewise.
22202         * modules/unictype/category-Pf-tests: Likewise.
22203         * modules/unictype/category-Pi-tests: Likewise.
22204         * modules/unictype/category-Po-tests: Likewise.
22205         * modules/unictype/category-Ps-tests: Likewise.
22206         * modules/unictype/category-S-tests: Likewise.
22207         * modules/unictype/category-Sc-tests: Likewise.
22208         * modules/unictype/category-Sk-tests: Likewise.
22209         * modules/unictype/category-Sm-tests: Likewise.
22210         * modules/unictype/category-So-tests: Likewise.
22211         * modules/unictype/category-Z-tests: Likewise.
22212         * modules/unictype/category-Zl-tests: Likewise.
22213         * modules/unictype/category-Zp-tests: Likewise.
22214         * modules/unictype/category-Zs-tests: Likewise.
22215         * modules/unictype/category-and-not-tests: Likewise.
22216         * modules/unictype/category-and-tests: Likewise.
22217         * modules/unictype/category-byname-tests: Likewise.
22218         * modules/unictype/category-name-tests: Likewise.
22219         * modules/unictype/category-none-tests: Likewise.
22220         * modules/unictype/category-of-tests: Likewise.
22221         * modules/unictype/category-or-tests: Likewise.
22222         * modules/unictype/category-test-withtable-tests: Likewise.
22223         * modules/unictype/combining-class-tests: Likewise.
22224         * modules/unictype/ctype-alnum-tests: Likewise.
22225         * modules/unictype/ctype-alpha-tests: Likewise.
22226         * modules/unictype/ctype-blank-tests: Likewise.
22227         * modules/unictype/ctype-cntrl-tests: Likewise.
22228         * modules/unictype/ctype-digit-tests: Likewise.
22229         * modules/unictype/ctype-graph-tests: Likewise.
22230         * modules/unictype/ctype-lower-tests: Likewise.
22231         * modules/unictype/ctype-print-tests: Likewise.
22232         * modules/unictype/ctype-punct-tests: Likewise.
22233         * modules/unictype/ctype-space-tests: Likewise.
22234         * modules/unictype/ctype-upper-tests: Likewise.
22235         * modules/unictype/ctype-xdigit-tests: Likewise.
22236         * modules/unictype/decimal-digit-tests: Likewise.
22237         * modules/unictype/digit-tests: Likewise.
22238         * modules/unictype/mirror-tests: Likewise.
22239         * modules/unictype/numeric-tests: Likewise.
22240         * modules/unictype/property-alphabetic-tests: Likewise.
22241         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
22242         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
22243         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
22244         * modules/unictype/property-bidi-block-separator-tests: Likewise.
22245         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
22246         * modules/unictype/property-bidi-common-separator-tests: Likewise.
22247         * modules/unictype/property-bidi-control-tests: Likewise.
22248         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
22249         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
22250         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
22251         * modules/unictype/property-bidi-european-digit-tests: Likewise.
22252         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
22253         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
22254         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
22255         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
22256         * modules/unictype/property-bidi-pdf-tests: Likewise.
22257         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
22258         * modules/unictype/property-bidi-whitespace-tests: Likewise.
22259         * modules/unictype/property-byname-tests: Likewise.
22260         * modules/unictype/property-combining-tests: Likewise.
22261         * modules/unictype/property-composite-tests: Likewise.
22262         * modules/unictype/property-currency-symbol-tests: Likewise.
22263         * modules/unictype/property-dash-tests: Likewise.
22264         * modules/unictype/property-decimal-digit-tests: Likewise.
22265         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
22266         * modules/unictype/property-deprecated-tests: Likewise.
22267         * modules/unictype/property-diacritic-tests: Likewise.
22268         * modules/unictype/property-extender-tests: Likewise.
22269         * modules/unictype/property-format-control-tests: Likewise.
22270         * modules/unictype/property-grapheme-base-tests: Likewise.
22271         * modules/unictype/property-grapheme-extend-tests: Likewise.
22272         * modules/unictype/property-grapheme-link-tests: Likewise.
22273         * modules/unictype/property-hex-digit-tests: Likewise.
22274         * modules/unictype/property-hyphen-tests: Likewise.
22275         * modules/unictype/property-id-continue-tests: Likewise.
22276         * modules/unictype/property-id-start-tests: Likewise.
22277         * modules/unictype/property-ideographic-tests: Likewise.
22278         * modules/unictype/property-ids-binary-operator-tests: Likewise.
22279         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
22280         * modules/unictype/property-ignorable-control-tests: Likewise.
22281         * modules/unictype/property-iso-control-tests: Likewise.
22282         * modules/unictype/property-join-control-tests: Likewise.
22283         * modules/unictype/property-left-of-pair-tests: Likewise.
22284         * modules/unictype/property-line-separator-tests: Likewise.
22285         * modules/unictype/property-logical-order-exception-tests: Likewise.
22286         * modules/unictype/property-lowercase-tests: Likewise.
22287         * modules/unictype/property-math-tests: Likewise.
22288         * modules/unictype/property-non-break-tests: Likewise.
22289         * modules/unictype/property-not-a-character-tests: Likewise.
22290         * modules/unictype/property-numeric-tests: Likewise.
22291         * modules/unictype/property-other-alphabetic-tests: Likewise.
22292         * modules/unictype/property-other-default-ignorable-code-point-tests:
22293         Likewise.
22294         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
22295         * modules/unictype/property-other-id-continue-tests: Likewise.
22296         * modules/unictype/property-other-id-start-tests: Likewise.
22297         * modules/unictype/property-other-lowercase-tests: Likewise.
22298         * modules/unictype/property-other-math-tests: Likewise.
22299         * modules/unictype/property-other-uppercase-tests: Likewise.
22300         * modules/unictype/property-paired-punctuation-tests: Likewise.
22301         * modules/unictype/property-paragraph-separator-tests: Likewise.
22302         * modules/unictype/property-pattern-syntax-tests: Likewise.
22303         * modules/unictype/property-pattern-white-space-tests: Likewise.
22304         * modules/unictype/property-private-use-tests: Likewise.
22305         * modules/unictype/property-punctuation-tests: Likewise.
22306         * modules/unictype/property-quotation-mark-tests: Likewise.
22307         * modules/unictype/property-radical-tests: Likewise.
22308         * modules/unictype/property-sentence-terminal-tests: Likewise.
22309         * modules/unictype/property-soft-dotted-tests: Likewise.
22310         * modules/unictype/property-space-tests: Likewise.
22311         * modules/unictype/property-terminal-punctuation-tests: Likewise.
22312         * modules/unictype/property-test-tests: Likewise.
22313         * modules/unictype/property-titlecase-tests: Likewise.
22314         * modules/unictype/property-unassigned-code-value-tests: Likewise.
22315         * modules/unictype/property-unified-ideograph-tests: Likewise.
22316         * modules/unictype/property-uppercase-tests: Likewise.
22317         * modules/unictype/property-variation-selector-tests: Likewise.
22318         * modules/unictype/property-white-space-tests: Likewise.
22319         * modules/unictype/property-xid-continue-tests: Likewise.
22320         * modules/unictype/property-xid-start-tests: Likewise.
22321         * modules/unictype/property-zero-width-tests: Likewise.
22322         * modules/unictype/scripts-tests: Likewise.
22323         * modules/unictype/syntax-c-ident-tests: Likewise.
22324         * modules/unictype/syntax-c-whitespace-tests: Likewise.
22325         * modules/unictype/syntax-java-ident-tests: Likewise.
22326         * modules/unictype/syntax-java-whitespace-tests: Likewise.
22327         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
22328         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
22329         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
22330         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
22331         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
22332         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
22333         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
22334         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
22335         * modules/uniname/uniname-tests: Likewise.
22336         * modules/uninorm/canonical-decomposition-tests: Likewise.
22337         * modules/uninorm/compat-decomposition-tests: Likewise.
22338         * modules/uninorm/composition-tests: Likewise.
22339         * modules/uninorm/decomposing-form-tests: Likewise.
22340         * modules/uninorm/decomposition-tests: Likewise.
22341         * modules/uninorm/filter-tests: Likewise.
22342         * modules/uninorm/nfc-tests: Likewise.
22343         * modules/uninorm/nfd-tests: Likewise.
22344         * modules/uninorm/nfkc-tests: Likewise.
22345         * modules/uninorm/nfkd-tests: Likewise.
22346         * modules/uninorm/u8-normcmp-tests: Likewise.
22347         * modules/uninorm/u8-normcoll-tests: Likewise.
22348         * modules/uninorm/u16-normcmp-tests: Likewise.
22349         * modules/uninorm/u16-normcoll-tests: Likewise.
22350         * modules/uninorm/u32-normcmp-tests: Likewise.
22351         * modules/uninorm/u32-normcoll-tests: Likewise.
22352         * modules/unistdio/u8-asnprintf-tests: Likewise.
22353         * modules/unistdio/u8-vasnprintf-tests: Likewise.
22354         * modules/unistdio/u8-vasprintf-tests: Likewise.
22355         * modules/unistdio/u8-vsnprintf-tests: Likewise.
22356         * modules/unistdio/u8-vsprintf-tests: Likewise.
22357         * modules/unistdio/u16-asnprintf-tests: Likewise.
22358         * modules/unistdio/u16-vasnprintf-tests: Likewise.
22359         * modules/unistdio/u16-vasprintf-tests: Likewise.
22360         * modules/unistdio/u16-vsnprintf-tests: Likewise.
22361         * modules/unistdio/u16-vsprintf-tests: Likewise.
22362         * modules/unistdio/u32-asnprintf-tests: Likewise.
22363         * modules/unistdio/u32-vasnprintf-tests: Likewise.
22364         * modules/unistdio/u32-vasprintf-tests: Likewise.
22365         * modules/unistdio/u32-vsnprintf-tests: Likewise.
22366         * modules/unistdio/u32-vsprintf-tests: Likewise.
22367         * modules/unistdio/ulc-asnprintf-tests: Likewise.
22368         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
22369         * modules/unistdio/ulc-vasprintf-tests: Likewise.
22370         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
22371         * modules/unistdio/ulc-vsprintf-tests: Likewise.
22372         * modules/unistr/u8-check-tests: Likewise.
22373         * modules/unistr/u8-chr-tests: Likewise.
22374         * modules/unistr/u8-cmp-tests: Likewise.
22375         * modules/unistr/u8-cmp2-tests: Likewise.
22376         * modules/unistr/u8-cpy-alloc-tests: Likewise.
22377         * modules/unistr/u8-cpy-tests: Likewise.
22378         * modules/unistr/u8-mblen-tests: Likewise.
22379         * modules/unistr/u8-mbsnlen-tests: Likewise.
22380         * modules/unistr/u8-mbtouc-tests: Likewise.
22381         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
22382         * modules/unistr/u8-mbtoucr-tests: Likewise.
22383         * modules/unistr/u8-move-tests: Likewise.
22384         * modules/unistr/u8-next-tests: Likewise.
22385         * modules/unistr/u8-prev-tests: Likewise.
22386         * modules/unistr/u8-set-tests: Likewise.
22387         * modules/unistr/u8-stpcpy-tests: Likewise.
22388         * modules/unistr/u8-stpncpy-tests: Likewise.
22389         * modules/unistr/u8-strcat-tests: Likewise.
22390         * modules/unistr/u8-strcmp-tests: Likewise.
22391         * modules/unistr/u8-strcoll-tests: Likewise.
22392         * modules/unistr/u8-strcpy-tests: Likewise.
22393         * modules/unistr/u8-strdup-tests: Likewise.
22394         * modules/unistr/u8-strlen-tests: Likewise.
22395         * modules/unistr/u8-strmblen-tests: Likewise.
22396         * modules/unistr/u8-strmbtouc-tests: Likewise.
22397         * modules/unistr/u8-strncat-tests: Likewise.
22398         * modules/unistr/u8-strncmp-tests: Likewise.
22399         * modules/unistr/u8-strncpy-tests: Likewise.
22400         * modules/unistr/u8-strnlen-tests: Likewise.
22401         * modules/unistr/u8-to-u16-tests: Likewise.
22402         * modules/unistr/u8-to-u32-tests: Likewise.
22403         * modules/unistr/u8-uctomb-tests: Likewise.
22404         * modules/unistr/u16-check-tests: Likewise.
22405         * modules/unistr/u16-chr-tests: Likewise.
22406         * modules/unistr/u16-cmp-tests: Likewise.
22407         * modules/unistr/u16-cmp2-tests: Likewise.
22408         * modules/unistr/u16-cpy-alloc-tests: Likewise.
22409         * modules/unistr/u16-cpy-tests: Likewise.
22410         * modules/unistr/u16-mblen-tests: Likewise.
22411         * modules/unistr/u16-mbsnlen-tests: Likewise.
22412         * modules/unistr/u16-mbtouc-tests: Likewise.
22413         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
22414         * modules/unistr/u16-mbtoucr-tests: Likewise.
22415         * modules/unistr/u16-move-tests: Likewise.
22416         * modules/unistr/u16-next-tests: Likewise.
22417         * modules/unistr/u16-prev-tests: Likewise.
22418         * modules/unistr/u16-set-tests: Likewise.
22419         * modules/unistr/u16-stpcpy-tests: Likewise.
22420         * modules/unistr/u16-stpncpy-tests: Likewise.
22421         * modules/unistr/u16-strcat-tests: Likewise.
22422         * modules/unistr/u16-strcmp-tests: Likewise.
22423         * modules/unistr/u16-strcoll-tests: Likewise.
22424         * modules/unistr/u16-strcpy-tests: Likewise.
22425         * modules/unistr/u16-strdup-tests: Likewise.
22426         * modules/unistr/u16-strlen-tests: Likewise.
22427         * modules/unistr/u16-strmblen-tests: Likewise.
22428         * modules/unistr/u16-strmbtouc-tests: Likewise.
22429         * modules/unistr/u16-strncat-tests: Likewise.
22430         * modules/unistr/u16-strncmp-tests: Likewise.
22431         * modules/unistr/u16-strncpy-tests: Likewise.
22432         * modules/unistr/u16-strnlen-tests: Likewise.
22433         * modules/unistr/u16-to-u32-tests: Likewise.
22434         * modules/unistr/u16-to-u8-tests: Likewise.
22435         * modules/unistr/u16-uctomb-tests: Likewise.
22436         * modules/unistr/u32-check-tests: Likewise.
22437         * modules/unistr/u32-chr-tests: Likewise.
22438         * modules/unistr/u32-cmp-tests: Likewise.
22439         * modules/unistr/u32-cmp2-tests: Likewise.
22440         * modules/unistr/u32-cpy-alloc-tests: Likewise.
22441         * modules/unistr/u32-cpy-tests: Likewise.
22442         * modules/unistr/u32-mblen-tests: Likewise.
22443         * modules/unistr/u32-mbsnlen-tests: Likewise.
22444         * modules/unistr/u32-mbtouc-tests: Likewise.
22445         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
22446         * modules/unistr/u32-mbtoucr-tests: Likewise.
22447         * modules/unistr/u32-move-tests: Likewise.
22448         * modules/unistr/u32-next-tests: Likewise.
22449         * modules/unistr/u32-prev-tests: Likewise.
22450         * modules/unistr/u32-set-tests: Likewise.
22451         * modules/unistr/u32-stpcpy-tests: Likewise.
22452         * modules/unistr/u32-stpncpy-tests: Likewise.
22453         * modules/unistr/u32-strcat-tests: Likewise.
22454         * modules/unistr/u32-strcmp-tests: Likewise.
22455         * modules/unistr/u32-strcoll-tests: Likewise.
22456         * modules/unistr/u32-strcpy-tests: Likewise.
22457         * modules/unistr/u32-strdup-tests: Likewise.
22458         * modules/unistr/u32-strlen-tests: Likewise.
22459         * modules/unistr/u32-strmblen-tests: Likewise.
22460         * modules/unistr/u32-strmbtouc-tests: Likewise.
22461         * modules/unistr/u32-strncat-tests: Likewise.
22462         * modules/unistr/u32-strncmp-tests: Likewise.
22463         * modules/unistr/u32-strncpy-tests: Likewise.
22464         * modules/unistr/u32-strnlen-tests: Likewise.
22465         * modules/unistr/u32-to-u16-tests: Likewise.
22466         * modules/unistr/u32-to-u8-tests: Likewise.
22467         * modules/unistr/u32-uctomb-tests: Likewise.
22468         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
22469         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
22470         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
22471         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
22472         * modules/uniwidth/u8-strwidth-tests: Likewise.
22473         * modules/uniwidth/u8-width-tests: Likewise.
22474         * modules/uniwidth/u16-strwidth-tests: Likewise.
22475         * modules/uniwidth/u16-width-tests: Likewise.
22476         * modules/uniwidth/u32-strwidth-tests: Likewise.
22477         * modules/uniwidth/u32-width-tests: Likewise.
22478         * modules/uniwidth/width-tests: Likewise.
22479
22480 2010-05-18  Richard Jones  <rjones@redhat.com>
22481
22482         doc: users.txt: list hivex
22483         * users.txt: Add hivex.
22484
22485 2010-05-18  Richard Jones  <rjones@redhat.com>
22486
22487         doc: users.txt: list febootstrap
22488         * users.txt: Add febootstrap.
22489
22490 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
22491
22492         bootstrap: fix an error when gnulib is not used as a git submodule
22493         * build-aux/bootstrap (gnulib_path): If its length is zero then
22494         assign "gnulib" to it.
22495         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
22496
22497 2010-05-16  Bruno Haible  <bruno@clisp.org>
22498
22499         Avoid autoconf warnings about AM_ICONV.
22500         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
22501         2.64.
22502
22503 2010-05-16  Bruno Haible  <bruno@clisp.org>
22504
22505         absolute-header: Make the macro usable in more situations.
22506         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
22507         from gl_ABSOLUTE_HEADER.
22508         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
22509
22510 2010-05-16  James Youngman  <jay@gnu.org>
22511
22512         doc: update users.txt
22513         * users.txt: Add CSSC.
22514
22515 2010-05-16  Jim Meyering  <meyering@redhat.com>
22516
22517         init.sh: fix an error in the previous change; add more comments
22518         * tests/init.sh: Compare exit code in loop against 9, not 2.
22519         Patch by Bruno Haible.
22520         Make the two tests more similar by adding an empty "then" clause.
22521         Add comments.
22522
22523         init.sh: avoid unnecessary shell re-exec
22524         * tests/init.sh: Improve the re-exec-required check to first test the
22525         current shell.  If it passes the test, do not search for a shell that
22526         does pass, and do not re-exec.  This test is particularly contorted to
22527         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
22528         of $(...) evokes a syntax error and causes immediate shell exit with
22529         status 2.  Bruno Haible reported that the re-exec made it impossible
22530         to single-step through any init.sh-using script.
22531
22532 2010-05-16  Bruno Haible  <bruno@clisp.org>
22533
22534         Fix collision between gnulib's and libintl's printf replacements.
22535         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
22536         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
22537         (printf): When using GNU C, map the __printf__ function to rpl_printf
22538         via __asm__. When not using GNU C, define rpl_printf instead of
22539         __printf__.
22540         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
22541         commit.
22542         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
22543         commit.
22544         * m4/asm-underscore.m4: New file.
22545         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
22546         * modules/stdio (Files): Add m4/asm-underscore.m4.
22547         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
22548         Reported by Ben Pfaff.
22549
22550 2010-05-16  Bruno Haible  <bruno@clisp.org>
22551
22552         verify: Avoid skipping the test on openSUSE 11.0.
22553         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
22554
22555 2010-05-13  Bruno Haible  <bruno@clisp.org>
22556
22557         Avoid useless warnings from G++.
22558         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
22559         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
22560         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22561
22562 2010-05-11  Jim Meyering  <meyering@redhat.com>
22563
22564         maint.mk: tweak preceding change
22565         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
22566         regexps tighter by anchoring at EOL, and make the new group "shy"
22567         for slightly decreased overhead.
22568
22569 2010-05-11  Eric Blake  <eblake@redhat.com>
22570
22571         maint.mk: gnulib doesn't guarantee NSIG
22572         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
22573
22574 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
22575
22576         test-pwrite.c: Remove unused variable declaration.
22577         * tests/test-pwrite.c (main): Remove read_buf declaration.
22578
22579         Remove useless test-pwrite.sh file.
22580         * tests/test-pwrite.sh: Delete file.
22581         * modules/pwrite-tests: Remove references.
22582         Reported by Bruno Haible.
22583
22584 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
22585
22586         init.sh: fix a typo
22587         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
22588
22589 2010-05-10  Jim Meyering  <meyering@redhat.com>
22590
22591         maint.mk: avoid using a temporary file in the always-defined-macros check
22592         * top/maint.mk (.re-defmac): Remove rule.
22593         (gl_trap_): Remove definition.
22594         (sc_prohibit_always-defined_macros): Rewrite not to create and
22595         depend on a temporary file.  Instead, depend on GNU grep's ability
22596         to read a list of regular expressions from stdin when given "-f -".
22597
22598 2010-05-09  Bruno Haible  <bruno@clisp.org>
22599
22600         Update to GNU gettext 0.18, part 1.
22601         * m4/gettext.m4: Update to GNU gettext 0.18.
22602         * m4/intl.m4: Likewise.
22603         * m4/po.m4: Likewise.
22604         * modules/gettext (Files): Add m4/fcntl-o.m4.
22605         (configure.ac): Require gettext infrastructure from version 0.18.
22606
22607 2010-05-09  Jim Meyering  <meyering@redhat.com>
22608
22609         init.sh: enable MALLOC_PERTURB_
22610         * tests/init.sh: Enable glibc's malloc-perturbing option.
22611
22612         maint.mk: improve sc_cross_check_PATH_usage_in_tests
22613         With my recent change in init.sh from the two-line form:
22614             -#   : ${srcdir=.}
22615             -#   . "$srcdir/init.sh"; path_prepend_ .
22616             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
22617         I noticed that using the one-line form would cause this test
22618         to fail with a false-positive, or to stop working altogether,
22619         depending on whether help-version changed or all the tests did.
22620         * top/maint.mk (_hv_regex): Remove this definition.
22621         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
22622         (_hv_regex_strong): Use a stronger regex to check for conformance.
22623         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
22624         Give a separate diagnostic for lack of conforming use.
22625
22626         maint.mk: prohibit definition of symbols defined by gnulib
22627         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
22628         definition of symbols defined by gnulib.
22629
22630 2010-05-09  Bruno Haible  <bruno@clisp.org>
22631
22632         acl: Avoid test failure on Cygwin-hosted mingw.
22633         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
22634
22635 2010-05-09  Bruno Haible  <bruno@clisp.org>
22636
22637         error: Use system's fcntl function.
22638         * lib/error.c (fcntl): Undefine.
22639
22640 2010-05-09  Jim Meyering  <meyering@redhat.com>
22641
22642         verify: adjust formatting to be more consistent
22643         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
22644         argument-list '('s, and after one comma.
22645
22646 2010-05-09  Bruno Haible  <bruno@clisp.org>
22647
22648         error: More reliable output on mingw.
22649         * lib/error.c: Include <windows.h>.
22650         (is_open): New function.
22651         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
22652         defined.
22653
22654 2010-05-09  Bruno Haible  <bruno@clisp.org>
22655
22656         vasnprintf: Fix syntax errors in libintl build on mingw.
22657         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
22658         pad_ourselves and prec_ourselves after use.
22659
22660 2010-05-08  Bruno Haible  <bruno@clisp.org>
22661
22662         * lib/config.charset: Update comments for Cygwin 1.7.
22663         * lib/localcharset.c: Likewise.
22664
22665 2010-05-07  Jim Meyering  <meyering@redhat.com>
22666
22667         init.sh: improve comments
22668         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
22669         . "${srcdir=.}/init.sh"; path_prepend_ .
22670         Add a note about path_prepend_ and the alternative of using
22671         TESTS_ENVIRONMENT.
22672
22673 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
22674
22675         exclude: Unescape hashed patterns in wildcard mode.
22676         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
22677         to the hash list.
22678         * tests/test-exclude8.sh: New test case.
22679         * modules/exclude-tests: Add new test.
22680
22681 2010-05-05  Eric Blake  <eblake@redhat.com>
22682
22683         verify: automate tests
22684         * modules/verify-tests: New module.
22685         * tests/test-verify.sh: New file.
22686         * tests/test-verify.c: Guard each negative test with a unique id.
22687         Also avoid warning about unused left hand of comma expressions.
22688
22689 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
22690
22691         Further improvements to verify.h, suggested by Eric Blake.
22692         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
22693         the GL_* versions, to avoid collision with OpenGL.
22694         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
22695         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
22696         than testing merely whether it's defined.
22697
22698         Modify verify.h to pacify gcc -Wredundant_decls.
22699         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
22700         These use the prefix "GL_" since they're likely to be useful elsewhere.
22701         We may need to break them out into a different .h file.
22702         (__COUNTER__): Define to 0 if the compiler doesn't support it.
22703         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
22704         of verify_function__.
22705
22706 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
22707
22708         Tests for module pwrite.
22709         * modules/pwrite-tests: New file.
22710         * tests/test-pwrite.sh: New file.
22711         * tests/test-pwrite.c: New file.
22712
22713         New module pwrite.
22714         * lib/unistd.in.h (pwrite): New declaration.
22715         * lib/pwrite.c: New file, from glibc with modifications.
22716         * m4/pwrite.m4: New file.
22717         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
22718         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
22719         REPLACE_PWRITE.
22720         * modules/pwrite: New file.
22721         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
22722         REPLACE_PWRITE.
22723         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
22724         * doc/posix-functions/pwrite.texi: Mention the new module.
22725
22726 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
22727
22728         pread: Update documentation.
22729         * doc/posix-functions/pread.texi: Mention the 'pread' module.
22730
22731 2010-05-04  Eric Blake  <eblake@redhat.com>
22732
22733         docs: update cygwin progress
22734         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
22735         this bug.
22736         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
22737         Added in cygwin 1.7.2.
22738         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
22739         Likewise.
22740         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
22741         Likewise.
22742         * doc/glibc-functions/dup3.texi (dup3): Likewise.
22743         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
22744         * doc/glibc-functions/accept4.texi (accept4): Likewise.
22745         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
22746         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
22747         Mention nproc module.
22748         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
22749         bug in cygwin 1.7.5 addition.
22750         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
22751         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
22752         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
22753         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
22754         1.7.5.
22755         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
22756         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
22757         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
22758         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
22759         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
22760         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
22761         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
22762         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
22763         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
22764         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
22765         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
22766         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
22767         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
22768         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
22769         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
22770         Likewise.
22771         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
22772         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
22773         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
22774         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
22775         Likewise.
22776         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
22777         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
22778         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
22779         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
22780         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
22781         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
22782         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
22783         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
22784         Likewise.
22785         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
22786         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
22787         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
22788         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
22789         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
22790         Likewise.
22791         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
22792         Likewise.
22793         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
22794         Likewise.
22795         * doc/glibc-functions/xdrrec_endofrecord.texi
22796         (xdrrec_endofrecord): Likewise.
22797         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
22798         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
22799         Likewise.
22800         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
22801         Likewise.
22802
22803 2010-05-04  Jim Meyering  <meyering@redhat.com>
22804
22805         gendocs.sh: make its "-s FILE" option more useful
22806         * build-aux/gendocs.sh: When honoring the -s FILE option, update
22807         $PACKAGE to reflect the probably-different basename of "FILE".
22808
22809 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
22810
22811         bootstrap: don't ignore download_po_files failure
22812         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
22813         failure.
22814
22815 2010-05-03  Jim Meyering  <meyering@redhat.com>
22816
22817         maint.mk: allow to pass options to gendocs.sh
22818         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
22819         (gendocs_options_): New overridable variable.
22820
22821         gnu-web-doc-update: don't ignore configure or build failure
22822         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
22823
22824         announce-gen: backslash-escape '@'s in --help output
22825         * build-aux/announce-gen: Fix syntax errors.
22826
22827         maint.mk, announce-gen: allow project-specific announcement mail headers
22828         * top/maint.mk (translation_project_): Define default.
22829         (announcement_Cc_, announcement_mail_headers_): Likewise.
22830         (announcement): Invoke announce-gen with new --mail-headers option.
22831         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
22832
22833         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
22834         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
22835         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
22836         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
22837         line in the "err2" output file when running "make check" in verbose
22838         mode (i.e., with set -x enabled).
22839
22840 2010-05-03  Bruno Haible  <bruno@clisp.org>
22841
22842         wctob: Fix for weird platforms.
22843         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
22844         argument value.
22845
22846 2010-05-03  Jim Meyering  <meyering@redhat.com>
22847
22848         maint.mk: prohibit unwarranted use of <strings.h>
22849         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
22850         strings.h in a file that does not also use strcasecmp, strncasecmp,
22851         ffs or ffsll.
22852
22853         maint.mk: remove obsolete comments
22854         * top/maint.mk: Remove stale, commented-out rules.
22855
22856 2010-05-02  Bruno Haible  <bruno@clisp.org>
22857
22858         wcwidth: Declare also when it's aliased.
22859         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
22860         macro.
22861
22862 2010-05-02  Bruno Haible  <bruno@clisp.org>
22863
22864         Fix regression from 2010-04-25.
22865         * gnulib-tool (func_modules_transitive_closure): Check the status of
22866         all modules, not only of the tests that are of the form foo-tests where
22867         foo is a module.
22868
22869 2010-05-02  Bruno Haible  <bruno@clisp.org>
22870
22871         wctob: Work around nasty Cygwin 1.7.2 bug.
22872         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
22873         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
22874
22875 2010-05-01  Bruno Haible  <bruno@clisp.org>
22876
22877         fpurge: Sharper test.
22878         * tests/test-fpurge.c (main): Add one more ftell check.
22879         * modules/fpurge-tests (Depends-on): Add ftell.
22880         Suggested by Eric Blake.
22881
22882 2010-05-01  Bruno Haible  <bruno@clisp.org>
22883
22884         ftello: Another test.
22885         * tests/test-ftello3.c: New file.
22886         * modules/ftello-tests (Files): Add it.
22887         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
22888         MOSTLYCLEANFILES.
22889
22890         ftell: Another test.
22891         * tests/test-ftell3.c: New file.
22892         * modules/ftell-tests (Files): Add it.
22893         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
22894         MOSTLYCLEANFILES.
22895
22896 2010-05-01  Bruno Haible  <bruno@clisp.org>
22897
22898         ftell, ftello: Work around Solaris bug.
22899         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
22900         * lib/ftello.c: Include stdio-impl.h.
22901         (ftello): On Solaris, when _IOWRT is set, compute the result without
22902         looking at _IOREAD.
22903         * modules/ftello (Files): Add lib/stdio-impl.h.
22904         * doc/posix-functions/ftell.texi: Mention Solaris bug.
22905         * doc/posix-functions/ftello.texi: Likewise.
22906         Reported by Eric Blake.
22907
22908 2010-05-01  Bruno Haible  <bruno@clisp.org>
22909
22910         freading: Adapt to special meaning of _IOREAD flag on Solaris.
22911         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
22912         the _IOWRT flag is also set.
22913
22914 2010-05-01  Bruno Haible  <bruno@clisp.org>
22915
22916         Fix doc about a HP-UX stdio bug.
22917         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
22918         * doc/posix-functions/ftello.texi: Likewise.
22919
22920 2010-05-01  Bruno Haible  <bruno@clisp.org>
22921
22922         lseek test: Fix failure on Solaris.
22923         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
22924         output.
22925
22926 2010-04-30  Jim Meyering  <meyering@redhat.com>
22927
22928         bootstrap: don't ignore failure to generate po*/Makevars
22929         * build-aux/bootstrap (with_gettext): Don't ignore failure
22930         to create po/Makevars or runtime-po/Makevars.
22931
22932 2010-04-29  Eric Blake  <eblake@redhat.com>
22933
22934         headers: relax license to LGPLv2+
22935         * modules/fcntl-h (License): Relax license.
22936         * modules/getopt-posix (License): Likewise.
22937         * modules/locale (License): Likewise.
22938         * modules/math (License): Likewise.
22939         * modules/pty (License): Likewise.
22940         * modules/sched (License): Likewise.
22941         * modules/search (License): Likewise.
22942         * modules/spawn (License): Likewise.
22943         * modules/stdarg (License): Likewise.
22944         * modules/sysexits (License): Likewise.
22945
22946 2010-04-29  Jim Meyering  <meyering@redhat.com>
22947
22948         inttypes: relax license to LGPLv2+
22949         * modules/inttypes (License): Relax license.
22950
22951 2010-04-29  Simon Josefsson  <simon@josefsson.org>
22952
22953         * top/maint.mk (indent): Run twice to produce idempotent results.
22954
22955 2010-04-28  Bruno Haible  <bruno@clisp.org>
22956
22957         getdate: Generate getdate.c in the source directory.
22958         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
22959         MOSTLYCLEANFILES.
22960         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
22961
22962 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
22963
22964         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
22965         is not declared as a const *; avoid warnings in that case.
22966
22967 2010-04-28  Eric Blake  <eblake@redhat.com>
22968
22969         canonicalize-lgpl: avoid compiler warning
22970         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
22971         declaration' / 'extraneous semicolon' warning with some compilers.
22972         Reported by Andreas Gruenbacher.
22973
22974 2010-04-28  Jim Meyering  <meyering@redhat.com>
22975
22976         init.sh: ensure a more reliable exit status when exiting via trap
22977         * tests/init.sh (setup_): Don't rely on $? in signal handler.
22978         Inspired by patches from Dmitry V. Levin.
22979         Also trap on signal 3 (SIGQUIT).
22980
22981 2010-04-27  Bruno Haible  <bruno@clisp.org>
22982
22983         Update doc about utimes().
22984         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
22985         'utimens' module.
22986         Reported by Andreas Gruenbacher <agruen@suse.de>.
22987
22988 2010-04-27  Eric Blake  <eblake@redhat.com>
22989
22990         full-read, full-write: relax license
22991         * modules/full-read (License): Drop to LGPLv2+.
22992         * modules/full-write (License): Likewise.
22993         * modules/safe-read (License): Likewise.
22994         * modules/safe-write (License): Likewise.
22995
22996         pthread: mention library for linking
22997         * modules/pthread (Link): Mention $(LIB_PTHREAD).
22998
22999 2010-04-27  Jim Meyering  <meyering@redhat.com>
23000
23001         maint.mk: fix a bug introduced in last change
23002         * top/maint.mk (gl_assured_headers_): Now that all names are on
23003         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
23004         is not anchored to end of word, it should be adequate.
23005
23006         maint.mk: avoid side-effect in latest syntax-check
23007         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
23008         to run commands via $(shell...), and hence to incur cost only when
23009         the new rule is actually run.
23010
23011         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
23012         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
23013         and use that to create a regexp used to detect all #if HAVE_..._H uses.
23014         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
23015         (gl_assured_headers_, az_, AZ_): Define.
23016         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
23017
23018 2010-04-26  Jim Meyering  <jim@meyering.net>
23019             Bruno Haible  <bruno@clisp.org>
23020
23021         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
23022         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
23023         Prompted by an exchange with Gilles Espinasse.
23024
23025 2010-04-26  Jim Meyering  <meyering@redhat.com>
23026
23027         git-version-gen: aesthetic tweak
23028         * build-aux/git-version-gen: Use "$nl" rather than a literal,
23029         so that the command remains on a single line.
23030
23031 2010-04-26  Eric Blake  <eblake@redhat.com>
23032
23033         git-version-gen: allow use on EBCDIC hosts
23034         * build-aux/git-version-gen (dirty): Use literal rather than tying
23035         ourselves to ascii.
23036         Reported by Steve Goetze.
23037
23038 2010-04-25  Bruno Haible  <bruno@clisp.org>
23039
23040         netdb: Add support for GNULIB_POSIXCHECK.
23041         * lib/netdb.in.h: Include warn-on-use.h.
23042         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
23043         functions are used when GNULIB_POSIXCHECK is defined and the
23044         getaddrinfo module is not in use.
23045         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
23046         freeaddrinfo, gai_strerror, getnameinfo are declared.
23047         * modules/netdb (Depends-on): Add warn-on-use.
23048         (Makefile.am): Include warn-on-use.h in netdb.h.
23049
23050 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
23051
23052         build: avoid "make check" failure without .git/ directory
23053         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
23054         there is no .git/ directory.
23055
23056 2010-04-25  Bruno Haible  <bruno@clisp.org>
23057
23058         ptsname: Fix misuse of ttyname_r.
23059         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
23060         of errno.
23061
23062 2010-04-25  Bruno Haible  <bruno@clisp.org>
23063
23064         ttyname_r: Make it work on Solaris 10.
23065         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
23066         if the system function has the POSIX declaration. Test whether the
23067         function fails if the buffer is less than 128 bytes large.
23068         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
23069         system's ttyname_r function. Provide a reasonably large buffer.
23070         * modules/ttyname_r (Depends-on): Add extensions.
23071         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
23072
23073 2010-04-25  Bruno Haible  <bruno@clisp.org>
23074
23075         Use the 'extensions' module for some more functions on Solaris.
23076         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
23077         module.
23078         * doc/posix-functions/ctime_r.texi: Likewise.
23079         * doc/posix-functions/getgrgid_r.texi: Likewise.
23080         * doc/posix-functions/getgrnam_r.texi: Likewise.
23081         * doc/posix-functions/getpwnam_r.texi: Likewise.
23082         * doc/posix-functions/getpwuid_r.texi: Likewise.
23083         * doc/posix-functions/readdir_r.texi: Likewise.
23084         * doc/posix-functions/sigwait.texi: Likewise.
23085         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
23086         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
23087
23088 2010-04-25  Bruno Haible  <bruno@clisp.org>
23089
23090         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
23091         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
23092         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
23093         * lib/ttyname_r.c: Include <limits.h>.
23094         (ttyname_r): Define using the system's ttyname_r function, if it exists
23095         and not on Solaris.
23096         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
23097         set.
23098         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
23099         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
23100         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
23101         Reported by Simon Josefsson.
23102
23103 2010-04-25  Bruno Haible  <bruno@clisp.org>
23104
23105         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
23106         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
23107         * doc/posix-functions/ctime_r.texi: Likewise.
23108         * doc/posix-functions/getgrgid_r.texi: Likewise.
23109         * doc/posix-functions/getgrnam_r.texi: Likewise.
23110         * doc/posix-functions/getlogin_r.texi: Likewise.
23111         * doc/posix-functions/getpwnam_r.texi: Likewise.
23112         * doc/posix-functions/getpwuid_r.texi: Likewise.
23113         * doc/posix-functions/readdir_r.texi: Likewise.
23114         * doc/posix-functions/sigwait.texi: Likewise.
23115         * doc/posix-functions/ttyname_r.texi: Likewise.
23116         Reported by Simon Josefsson.
23117
23118 2010-04-25  Bruno Haible  <bruno@clisp.org>
23119
23120         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
23121         * gnulib-tool (func_usage): Document that --with-*-tests options apply
23122         also to --create-testdir.
23123         (func_acceptable): Don't consider the status of *-tests modules here.
23124         (func_modules_transitive_closure): Consider it here, before including a
23125         test module.
23126         (func_import, func_create_testdir): Set inc_all_direct_tests,
23127         inc_all_indirect_tests.
23128         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
23129         --create-testdir and --create-megatestdir.
23130
23131 2010-04-25  Bruno Haible  <bruno@clisp.org>
23132
23133         gnulib-tool: Add --without-*-tests options.
23134         * gnulib-tool (func_usage): Document the --without-*-tests options.
23135         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
23136         excl_unportable_tests): New variables.
23137         Fail if they are specified with --import or --update.
23138         (func_acceptable): Respect the excl_*_tests variables.
23139         (func_import): Set the excl_*_tests variables to empty.
23140
23141 2010-04-25  Simon Josefsson  <simon@josefsson.org>
23142             Bruno Haible  <bruno@clisp.org>
23143
23144         Work around a MacOS X 10.4 bug with openpty.
23145         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
23146         * tests/test-openpty.c (main): Close the master side explicitly.
23147
23148 2010-04-25  Bruno Haible  <bruno@clisp.org>
23149
23150         strnlen: Fix a C++ test error on MacOS X and Solaris.
23151         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
23152         the function is not declared.
23153         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
23154         Simon Josefsson.
23155
23156 2010-04-24  Bruno Haible  <bruno@clisp.org>
23157
23158         Avoid a gcc warning.
23159         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
23160         of correct type for %08lx directive.
23161         Reported by Eric Blake.
23162
23163 2010-04-24  Bruno Haible  <bruno@clisp.org>
23164
23165         vasnprintf: Correct errno value in case of out-of-memory.
23166         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
23167         or sprintf. Use the errno value from SNPRINTF or sprintf.
23168         Reported by Ian Beckwith <ianb@erislabs.net>.
23169
23170 2010-04-24  Bruno Haible  <bruno@clisp.org>
23171
23172         ansi-c++-opt: Find correct compiler when cross-compiling.
23173         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
23174         AC_CHECK_PROGS.
23175         Reported by Simon Josefsson.
23176
23177 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
23178
23179         vc-list-files: Add support for subversion
23180         * build-aux/vc-list-files: Use "svn list" to generate the list of
23181         files controlled by subversion.
23182
23183 2010-04-23  Jim Meyering  <meyering@redhat.com>
23184
23185         vc-list-files tests: convert to use init.sh
23186         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
23187         path_prepend_.
23188         Use Exit, not exit.
23189         Use skip_ rather than open coding it.
23190         Remove trap set-up and compare definitions.
23191         * tests/test-vc-list-files-git.sh: Likewise.
23192         * modules/vc-list-files-tests (Files): Add tests/init.sh.
23193
23194 2010-04-22  Simon Josefsson  <simon@josefsson.org>
23195
23196         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
23197         backup files.
23198
23199 2010-04-21  Simon Josefsson  <simon@josefsson.org>
23200
23201         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
23202
23203 2010-04-20  Eric Blake  <eblake@redhat.com>
23204
23205         tests: be robust to ignored SIGPIPE
23206         * tests/test-select-in.sh: Consume all output.
23207         * tests/test-lseek.sh: Check correct exit status, while avoiding
23208         EPIPE.
23209
23210 2010-04-20  Simon Josefsson  <simon@josefsson.org>
23211             Bruno Haible  <bruno@clisp.org>
23212
23213         visibility: Don't use -fvisibility if it leads to a warning.
23214         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
23215         yes, don't pretend that visibility works if it leads to a warning.
23216         Reported by Mike Gran <spk121@yahoo.com>.
23217
23218 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
23219
23220         * build-aux/bootstrap: Use "git -h" for testing for supported options
23221         instead of "git --help".  The short-form option only shows a summary,
23222         and doesn't layout the full man page.  Grep for the full option name
23223         in the summary, too.
23224
23225 2010-04-19  Bruno Haible  <bruno@clisp.org>
23226
23227         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
23228         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
23229         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
23230         mention of RELOCATABLE_STRIP.
23231         Reported by Sylvain Beucler <beuc@beuc.net>.
23232
23233 2010-04-19  Bruno Haible  <bruno@clisp.org>
23234
23235         * lib/diffseq.h: Fix typo in comment.
23236         Reported by Eric Blake.
23237
23238 2010-04-19  Bruno Haible  <bruno@clisp.org>
23239
23240         ioctl: Move autoconf macro to a .m4 file.
23241         * m4/ioctl.m4: New file, extracted from modules/ioctl.
23242         * modules/ioctl (Files): Add it.
23243         (configure.ac): Simply invoke gl_FUNC_IOCTL.
23244         Reported by Ian Beckwith <ianb@erislabs.net>.
23245
23246 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
23247             Bruno Haible  <bruno@clisp.org>
23248
23249         diffseq: Accommodate use-case with abstract arrays.
23250         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
23251         is not defined.
23252         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
23253         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
23254
23255 2010-04-18  Bruno Haible  <bruno@clisp.org>
23256
23257         * doc/posix-headers/stdbool.texi: More precise wording.
23258
23259 2010-04-17  Jim Meyering  <meyering@redhat.com>
23260
23261         maint.mk: use gnu-style indentation in an embedded perl script
23262         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
23263         Rename variable: s/two/last_two_bytes/
23264
23265 2010-04-16  Eric Blake  <eblake@redhat.com>
23266
23267         test-stdbool: skip test that fails with Solaris CC
23268         * tests/test-stdbool.c (f): Skip test that causes compilation
23269         error under buggy C++ compiler.
23270         * lib/stdbool.in.h: Document the limitation.
23271         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
23272
23273         setenv: allow compilation with C++
23274         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
23275         register keyword.
23276
23277         stdint: allow test to pass with C++
23278         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
23279
23280         getopt: allow compilation with C++
23281         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
23282         struct.
23283         * lib/getopt.c (_getopt_internal_r): Use correct type.
23284         Reported by Dagobert Michelson, via Joel E. Denny.
23285
23286 2010-04-16  Bruno Haible  <bruno@clisp.org>
23287
23288         Override netdb.h always.
23289         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
23290         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
23291         Reported by Ludovic Courtès <ludo@gnu.org>.
23292
23293 2010-04-15  Bruno Haible  <bruno@clisp.org>
23294
23295         openpty: Fix mistake from 2010-03-21.
23296         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
23297         Reported by Simon Josefsson.
23298
23299 2010-04-15  Eric Blake  <eblake@redhat.com>
23300
23301         test-forkpty: fix expected signature
23302         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
23303         Reported by Simon Josefsson.
23304
23305 2010-04-15  Jim Meyering  <meyering@redhat.com>
23306
23307         maint.mk: texinfo_suffix_re_: correct the default regexp
23308         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
23309
23310         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
23311         make it configurable via texinfo_suffix_re_.
23312
23313 2010-04-14  Eric Blake  <eblake@redhat.com>
23314
23315         strtok_r: relax license to LGPLv2+
23316         * modules/strtok_r (License): Relax license.
23317         Reported by Matthias Bolte.
23318
23319 2010-04-14  Simon Josefsson  <simon@josefsson.org>
23320
23321         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
23322         version 1.4.4 by default instead of requiring the libgcrypt
23323         version used during build.  This makes it possible to use the
23324         application with older but still binary compatible libgcrypt
23325         versions.
23326
23327 2010-04-13  Eric Blake  <eblake@redhat.com>
23328
23329         getopt-gnu: match recent glibc fixes and posix ruling
23330         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
23331         '+' handling, when requesting extensions.
23332         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
23333         'W;' handling.
23334         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
23335         * doc/posix-functions/getopt.texi (getopt): Document this.
23336         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23337         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23338         Likewise.
23339
23340         getopt: merge bug fixes from glibc
23341         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
23342         diagnostics.  Honor '+:' correctly.  Reject ';'.
23343
23344         getopt-posix: detect MacOS bug
23345         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
23346         optind when missing a required argument.
23347         * doc/posix-functions/getopt.texi (getopt): Document the bug.
23348         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23349         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23350         Likewise.
23351
23352         getopt-posix: avoid spurious failure on Solaris
23353         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
23354         an indicator that setting optind=1 is sufficient for reset.
23355
23356         getopt-posix: avoid spurious failure on FreeBSD
23357         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
23358         in POSIX mode, since the m4 test uses it.
23359
23360         gnulib-tool: silence warning on BSD sh
23361         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
23362
23363 2010-04-13  Jim Meyering  <meyering@redhat.com>
23364
23365         doc: users.txt: GNU patch now uses gnulib
23366         * users.txt: Add patch.
23367
23368 2010-04-12  Jim Meyering  <meyering@redhat.com>
23369
23370         maint.mk: generate more concise timing data for syntax-check rules
23371         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
23372         " done" from each line that reports a syntax-check test duration.
23373
23374 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
23375
23376         git-version-gen: use "git update-index..." rather than "git status"
23377         * build-aux/git-version-gen: Use git update-index --refresh, not
23378         "git status".  With some versions of git, "git status" would fail
23379         to update the index and result in an unwarranted "-dirty" suffix.
23380
23381 2010-04-11  Jim Meyering  <meyering@redhat.com>
23382
23383         openat: correct formatting (no semantic change)
23384         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
23385         Suggested by Bruno Haible.
23386
23387 2010-04-11  Bruno Haible  <bruno@clisp.org>
23388
23389         Stricter declaration checking in testdirs.
23390         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
23391         If for_tests is true, augment AM_CPPFLAGS to define
23392         GNULIB_STRICT_CHECKING.
23393         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
23394         GNULIB_STRICT_CHECKING is defined, verify that the function is
23395         declared.
23396
23397 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
23398             Bruno Haible  <bruno@clisp.org>
23399
23400         libunistring: Improve configure output.
23401         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
23402         Don't say "consider installing GNU libunistring" when checking again
23403         with libiconv.
23404
23405 2010-04-11  Bruno Haible  <bruno@clisp.org>
23406
23407         libunistring: Correct value of $LTLIBUNISTRING.
23408         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
23409         correct the value of $LTLIBUNISTRING.
23410
23411 2010-04-11  Bruno Haible  <bruno@clisp.org>
23412
23413         havelib: Add static libraries to LIBS in the right order.
23414         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
23415         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
23416
23417 2010-04-11  Bruno Haible  <bruno@clisp.org>
23418
23419         libunistring: Detect libunistring also when it depends on libiconv.
23420         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
23421         the second AC_LIB_HAVE_LINKFLAGS invocation.
23422
23423 2010-04-11  James Youngman  <jay@gnu.org>
23424
23425         close-stream: declare local scalars to be "const"
23426         * lib/close-stream.c (close_stream): Make boolean variables const
23427         to document the fact that we set but do not change them.
23428
23429 2010-04-11  Bruno Haible  <bruno@clisp.org>
23430
23431         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
23432
23433 2010-04-11  Jim Meyering  <meyering@redhat.com>
23434
23435         maint.mk: don't include dist-check.mk
23436         * top/maint.mk: Remove bogus include directive.
23437
23438         maint.mk: improve empty-line-at-EOF check
23439         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
23440         solution, rather than tail+Perl-based one.  The latter would read
23441         a few kilobytes from the end of each file, and did not handle empty
23442         files properly.
23443
23444         maint.mk: print the elapsed time for each syntax-check rule
23445         * top/maint.mk (sc_m_rules_): Save start time in a file.
23446         (sc_z_rules_): New rules: remove temp file and print elapsed time.
23447         (local-check): Interpose the .z rules
23448
23449 2010-04-11  Jim Meyering  <meyering@redhat.com>
23450
23451         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
23452         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
23453         empty file with one that ends in an empty line.
23454
23455 2010-04-10  Bruno Haible  <bruno@clisp.org>
23456
23457         mkdir: Make it work on mingw64.
23458         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
23459         * lib/mkdir.c: Update comment.
23460         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
23461
23462 2010-04-10  Bruno Haible  <bruno@clisp.org>
23463
23464         Don't override improved macro from newer autoconf.
23465         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
23466         autoconf >= 2.62.
23467         Reported by Joel E. Denny <jdenny@clemson.edu>.
23468
23469 2010-04-10  Jim Meyering  <meyering@redhat.com>
23470
23471         maint.mk: new syntax-check rule: prohibit empty lines at end of file
23472         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
23473
23474         maint.mk: correct a diagnostic
23475         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
23476         in diagnostic; now use $prohibit.
23477
23478 2010-04-10  Bruno Haible  <address@hidden>
23479
23480         fchownat: Fix a C++ test error on Solaris 8.
23481         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
23482         the function does not exist.
23483
23484 2010-04-10  Bruno Haible  <bruno@clisp.org>
23485
23486         vasnprintf: Add more tests.
23487         * tests/test-vasnprintf-posix.c: Include <errno.h>.
23488         (test_function): Test converting an invalid wide string.
23489
23490         vasnprintf: Correct handling of unconvertible wide string arguments.
23491         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
23492         VASNPRINTF.
23493         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
23494         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
23495         smaller than the expected maximum need for the directive. Set errno to
23496         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
23497         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
23498         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
23499         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
23500         * modules/vasnprintf (Files): Add m4/printf.m4.
23501         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23502
23503 2010-04-10  Bruno Haible  <bruno@clisp.org>
23504
23505         vasnprintf: Fix crash in %ls directive.
23506         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
23507         string is passed as argument to %ls, with no precision and no width.
23508         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23509
23510 2010-04-10  Bruno Haible  <bruno@clisp.org>
23511
23512         vasnprintf: Fix multiple test failures on mingw.
23513         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
23514         _snprintf, or snwprintf, not _snwprintf.
23515
23516 2010-04-10  Bruno Haible  <bruno@clisp.org>
23517
23518         write: Fix a C++ test error on mingw.
23519         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
23520
23521 2010-04-10  Bruno Haible  <bruno@clisp.org>
23522
23523         vasnprintf test: Reduce code duplication.
23524         * tests/test-vasnprintf.c (test_function): New function, extracted from
23525         test_vasnprintf.
23526         (test_vasnprintf, test_asnprintf): Invoke it.
23527
23528 2010-04-10  Bruno Haible  <bruno@clisp.org>
23529
23530         strnlen: Fix warning in C++ mode on MacOS X.
23531         * lib/string.in.h (strnlen): Use the modern idiom.
23532         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
23533         defining strnlen as a macro already in <config.h>.
23534         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23535         REPLACE_STRNLEN.
23536         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
23537         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23538
23539 2010-04-08  James Youngman  <jay@gnu.org>
23540
23541         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
23542         the example.
23543
23544 2010-04-09  Jim Meyering  <meyering@redhat.com>
23545
23546         maint.mk: print better diagnostic when there is no $(_hv_file)
23547         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
23548         announce that when $(_hv_file) (aka help-version) does not exist.
23549
23550         init.sh: run tr in the "C" locale to avoid multibyte interpretation
23551         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
23552         not try to interpret its random input bytes.  Jarno Rajahalme reported
23553         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
23554         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
23555         (mktempd_): Likewise, just in case.
23556
23557         ftruncate: add two years to projected module removal date: 2012
23558         * m4/ftruncate.m4: Adjust comments.
23559
23560         ftruncate: mark module as obsolete; even MinGW provides it, now
23561         * modules/ftruncate (Status): Obsolete.
23562         (Notice): Say that.
23563         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
23564         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
23565
23566 2010-04-08  Bruno Haible  <bruno@clisp.org>
23567
23568         Fix side effects from tests-related modules.
23569         * modules/dprintf-posix (Comment): New section.
23570         * modules/fprintf-posix (Comment): Likewise.
23571         * modules/obstack-printf-posix (Comment): Likewise.
23572         * modules/printf-posix (Comment): Likewise.
23573         * modules/snprintf-posix (Comment): Likewise.
23574         * modules/sprintf-posix (Comment): Likewise.
23575         * modules/vasnprintf-posix (Comment): Likewise.
23576         * modules/vasprintf-posix (Comment): Likewise.
23577         * modules/vdprintf-posix (Comment): Likewise.
23578         * modules/vfprintf-posix (Comment): Likewise.
23579         * modules/vprintf-posix (Comment): Likewise.
23580         * modules/vsnprintf-posix (Comment): Likewise.
23581         * modules/vsprintf-posix (Comment): Likewise.
23582         * modules/xprintf-posix (Comment): Likewise.
23583         * modules/xvasprintf-posix (Comment): Likewise.
23584         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
23585         * modules/floorf-tests (Depends-on): Likewise.
23586         * modules/round-tests (Depends-on): Likewise.
23587         * modules/roundf-tests (Depends-on): Likewise.
23588         * modules/trunc-tests (Depends-on): Likewise.
23589         * modules/truncf-tests (Depends-on): Likewise.
23590         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
23591         'fprintf-posix' module is not present.
23592         * tests/test-floorf2.c (check): Likewise.
23593         * tests/test-trunc2.c (check): Likewise.
23594         * tests/test-truncf2.c (check): Likewise.
23595         * tests/test-round2.c (equal): Likewise.
23596         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23597
23598 2010-04-07  Karl Berry  <karl@gnu.org>
23599
23600         * config/srclist.txt,
23601         * config/srclistvars.sh,
23602         * config/srclist-update: doc fixes.
23603
23604 2010-04-07  Jim Meyering  <meyering@redhat.com>
23605
23606         maint.mk: add a PATH crosschecking syntax-check rule
23607         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
23608         Useful if you use a test like the one in help-version (coreutils,
23609         diffutils, grep, gzip) that ensures $(VERSION) matches what is
23610         printed by prog --version.
23611
23612 2010-04-06  Bruno Haible  <bruno@clisp.org>
23613
23614         Fix link error on mingw.
23615         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
23616         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
23617
23618 2010-04-06  Bruno Haible  <bruno@clisp.org>
23619
23620         Assume rmdir exists.
23621         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
23622
23623 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
23624
23625         doc: update users.txt
23626         * users.txt: Add gcal.
23627
23628 2010-04-06  Jim Meyering  <meyering@redhat.com>
23629
23630         init.sh: simply unset TMPDIR rather than risking env -i
23631         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
23632         although it probably works fine on all Unix-based systems, some
23633         systems (Cygwin?) cannot tolerate a totally cleared environment.
23634         Suggestion from Eric Blake.
23635
23636 2010-04-06  Jim Meyering  <meyering@redhat.com>
23637
23638         init.sh: portability fix: use env's POSIX-specified -i option not -u
23639         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
23640         than unportable env -u.  Solaris 5.11's env lacks support for -u.
23641
23642 2010-04-05  Bruno Haible  <bruno@clisp.org>
23643
23644         btowc: Work around Cygwin 1.7.2 bug.
23645         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
23646         does not map NUL to 0.
23647         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
23648
23649 2010-04-05  Bruno Haible  <bruno@clisp.org>
23650
23651         Make the multithread modules work on Cygwin 1.7.2.
23652         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
23653         imported symbols can be declared weak, so that it returns "no" on
23654         Cygwin 1.7.2.
23655
23656 2010-04-05  Bruno Haible  <bruno@clisp.org>
23657
23658         Use the module 'strncat'.
23659         * modules/unistr/u8-strncat (Depends-on): Add strncat.
23660
23661         Tests for module 'strncat'.
23662         * modules/strncat-tests: New file.
23663         * tests/test-strncat.c: New file.
23664
23665         New module 'strncat'.
23666         * lib/string.in.h (strncat): New declaration.
23667         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
23668         * m4/strncat.m4: New file, based on m4/memchr.m4.
23669         * modules/strncat: New file.
23670         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
23671         is declared.
23672         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
23673         REPLACE_STRNCAT.
23674         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
23675         REPLACE_STRNCAT.
23676         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
23677         module.
23678         * tests/test-string-c++.cc: Check signature of strncat.
23679
23680 2010-04-05  Jim Meyering  <meyering@redhat.com>
23681
23682         xstrtoumax-tests: convert to use init.sh
23683         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
23684         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23685         Use Exit, not exit.
23686         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23687
23688         xstrtoimax-tests: convert to use init.sh
23689         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
23690         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23691         Use Exit, not exit.
23692         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23693
23694 2010-04-05  Bruno Haible  <bruno@clisp.org>
23695
23696         sys_socket: Avoid #define replacements in C++ mode.
23697         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
23698         warning to the function if possible, rather than #defining the symbol
23699         to a dysfunctional alias.
23700
23701 2010-04-05  Bruno Haible  <bruno@clisp.org>
23702
23703         fseeko: Fix C++ test error on mingw.
23704         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
23705         gl_FUNC_FSEEKO.
23706         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
23707         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
23708         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
23709         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
23710
23711 2010-04-05  Bruno Haible  <bruno@clisp.org>
23712
23713         duplocale: Improve test output.
23714         * tests/test-duplocale.c (main): Print reason for skipped test.
23715
23716 2010-04-05  Bruno Haible  <bruno@clisp.org>
23717
23718         Assume rmdir exists.
23719         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
23720         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
23721
23722 2010-04-05  Bruno Haible  <bruno@clisp.org>
23723
23724         Fix link error on Solaris 8 with cc.
23725         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
23726
23727 2010-04-05  Bruno Haible  <bruno@clisp.org>
23728
23729         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
23730         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
23731
23732 2010-04-05  Bruno Haible  <bruno@clisp.org>
23733
23734         vasprintf: Update documentation.
23735         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
23736
23737 2010-04-05  Bruno Haible  <bruno@clisp.org>
23738
23739         ptsname: Improve test.
23740         * tests/test-ptsname.c (main): Also try the various master names of BSD
23741         systems.
23742
23743 2010-04-05  Bruno Haible  <bruno@clisp.org>
23744
23745         memchr: Avoid a possible C++ test error.
23746         * lib/string.in.h (memchr): Provide declaration if function is missing.
23747         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
23748         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
23749         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
23750         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
23751
23752 2010-04-05  Bruno Haible  <bruno@clisp.org>
23753
23754         strtok_r: Improve idiom.
23755         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
23756         AC_LIBOBJ is used.
23757
23758 2010-04-05  Bruno Haible  <bruno@clisp.org>
23759
23760         strdup: Improve idiom.
23761         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
23762         AC_LIBOBJ is used.
23763         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
23764         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
23765         when AC_LIBOBJ is used.
23766
23767 2010-04-05  Bruno Haible  <bruno@clisp.org>
23768
23769         mbsinit, mbrtowc, wcrtomb: Improve idioms.
23770         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
23771         don't set REPLACE_MBSINIT to 1.
23772         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
23773         don't set REPLACE_MBRTOWC to 1.
23774         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
23775         exist, don't set REPLACE_MBSRTOWCS to 1.
23776         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
23777         exist, don't set REPLACE_MBSNRTOWCS to 1.
23778         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
23779         don't set REPLACE_WCRTOMB to 1.
23780         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
23781         exist, don't set REPLACE_WCSRTOMBS to 1.
23782         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
23783         exist, don't set REPLACE_WCSNRTOMBS to 1.
23784
23785 2010-04-05  Bruno Haible  <bruno@clisp.org>
23786
23787         ldexpl: Improve idiom.
23788         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
23789         make sure to set HAVE_DECL_LDEXPL to 0.
23790
23791 2010-04-05  Jim Meyering  <meyering@redhat.com>
23792
23793         xstrtol-tests: convert to use init.sh
23794         * modules/xstrtol-tests (Files): Add tests/init.sh.
23795         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23796         Use Exit, not exit.
23797         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23798
23799         atexit-tests: convert to use init.sh
23800         * modules/atexit-tests (Files): Add tests/init.sh.
23801         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23802         Use Exit, not exit.
23803         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23804
23805         init.sh: fix typo
23806         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
23807
23808         init.sh: make it easier for a test script to write to the tty, ...
23809         when using automake's parallel-tests mode.
23810         * tests/init.sh (stderr_fileno_): Define overridable variable.
23811         (warn_): New function, to use it.
23812         (fail_, skip_, framework_failure_): Use warn_.
23813
23814 2010-04-04  Bruno Haible  <bruno@clisp.org>
23815
23816         btowc: Avoid warning.
23817         * lib/btowc.c: Include <stdlib.h>.
23818         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
23819
23820 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
23821             Bruno Haible  <bruno@clisp.org>
23822
23823         wchar: Port to NetBSD 1.5.
23824         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
23825         * lib/wctype.in.h (WEOF): Likewise.
23826
23827 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
23828             Bruno Haible  <bruno@clisp.org>
23829
23830         Port extended stdio to NetBSD 1.5.
23831         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
23832         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
23833         older.
23834
23835 2010-04-04  Bruno Haible  <bruno@clisp.org>
23836
23837         string: Remove unused substitution.
23838         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
23839         HAVE_DECL_STRERROR.
23840         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
23841
23842 2010-04-04  Bruno Haible  <bruno@clisp.org>
23843
23844         strtod: Avoid a possible C++ test error.
23845         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
23846         set REPLACE_STRTOD.
23847
23848 2010-04-04  Bruno Haible  <bruno@clisp.org>
23849
23850         strerror: Update documentation.
23851         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
23852
23853 2010-04-04  Bruno Haible  <bruno@clisp.org>
23854
23855         stdio: Fix some C++ test errors on Solaris 8 with GCC.
23856         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
23857         _GL_CXXALIAS_SYS_CAST.
23858
23859 2010-04-04  Bruno Haible  <bruno@clisp.org>
23860
23861         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
23862         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
23863         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
23864         REPLACE_FREXPL to 1.
23865         * doc/posix-functions/frexpl.texi: Update documentation.
23866
23867 2010-04-04  Bruno Haible  <bruno@clisp.org>
23868
23869         math: Fix some C++ test errors on Solaris 8 and Cygwin.
23870         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
23871
23872 2010-04-04  Bruno Haible  <bruno@clisp.org>
23873
23874         Implement nanosleep for native Windows.
23875         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
23876
23877 2010-04-04  Bruno Haible  <bruno@clisp.org>
23878
23879         math: Fix some C++ test errors on Solaris 8.
23880         * lib/math.in.h (truncf, trunc): Use simpler idiom.
23881
23882 2010-04-04  Bruno Haible  <bruno@clisp.org>
23883
23884         math: Fix some C++ test errors on Cygwin.
23885         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
23886         truncl): Provide declaration if the system does not have it.
23887         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
23888         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
23889         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
23890         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
23891         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
23892         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
23893         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
23894         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
23895         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
23896         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
23897         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
23898         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
23899         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
23900         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
23901         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
23902         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
23903         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
23904         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
23905         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
23906         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
23907         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
23908         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
23909
23910 2010-04-04  Bruno Haible  <bruno@clisp.org>
23911
23912         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
23913         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
23914         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
23915         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
23916         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
23917         * m4/isinf.m4 (gl_ISINF): Likewise.
23918         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23919
23920 2010-04-04  Bruno Haible  <bruno@clisp.org>
23921
23922         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
23923         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
23924
23925 2010-04-04  Bruno Haible  <bruno@clisp.org>
23926
23927         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
23928         * modules/tmpfile (configure.ac): Update.
23929
23930         tmpfile: Fix C++ test error on mingw.
23931         * lib/stdio.in.h (tmpfile): New declaration.
23932         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
23933         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
23934         * modules/tmpfile (Depends-on): Add stdio.
23935         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
23936         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
23937         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
23938         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
23939         REPLACE_TMPFILE.
23940         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
23941
23942 2010-04-04  Bruno Haible  <bruno@clisp.org>
23943
23944         ioctl: Fix C++ test error on mingw.
23945         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
23946         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
23947         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
23948
23949 2010-04-03  Bruno Haible  <bruno@clisp.org>
23950
23951         wcwidth: Fix C++ test error on mingw.
23952         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
23953         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
23954         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
23955
23956 2010-04-03  Bruno Haible  <bruno@clisp.org>
23957
23958         nanosleep: Fix C++ test error on mingw.
23959         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
23960         * lib/time.in.h (nanosleep): Use modern idiom.
23961         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
23962         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
23963         REPLACE_NANOSLEEP to 1.
23964         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
23965         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
23966
23967 2010-04-03  Bruno Haible  <bruno@clisp.org>
23968
23969         strptime: Fix C++ test error on mingw.
23970         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
23971         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
23972         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
23973         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
23974         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
23975         not REPLACE_STRPTIME.
23976         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
23977         REPLACE_STRPTIME.
23978
23979 2010-04-03  Bruno Haible  <bruno@clisp.org>
23980
23981         timegm: Fix C++ test error on mingw.
23982         * lib/time.in.h (timegm): Use modern idiom.
23983         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
23984         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
23985         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
23986         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
23987
23988 2010-04-03  Bruno Haible  <bruno@clisp.org>
23989
23990         timegm: Assume declaration if function exists.
23991         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
23992         if it exists. Don't clobber ac_cv_func_timegm.
23993
23994 2010-04-03  Bruno Haible  <bruno@clisp.org>
23995
23996         time_r: Fix C++ test error on mingw.
23997         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
23998         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
23999         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
24000         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
24001         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
24002
24003 2010-04-03  Bruno Haible  <bruno@clisp.org>
24004
24005         time_r: Minor updates.
24006         * modules/time_r (Description): Mention the provided functions.
24007         * lib/time_r.c: Don't include <string.h>.
24008         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
24009         * doc/posix-functions/localtime_r.texi: Likewise.
24010
24011 2010-04-03  Bruno Haible  <bruno@clisp.org>
24012
24013         time: Fix regression introduced on 2010-03-08.
24014         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
24015         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
24016
24017 2010-04-03  Jim Meyering  <meyering@redhat.com>
24018
24019         maint.mk: don't silently disable project-specific syntax-check rules
24020         * top/maint.mk (_prohibit_regexp): Define, to help people realize
24021         that they need to convert their project-specific syntax-check rules
24022         to use the new _sc_search_regexp.
24023
24024 2010-04-03  Bruno Haible  <bruno@clisp.org>
24025
24026         fchdir: Fix regression introduced on 2010-03-08.
24027         * lib/unistd.in.h (fchdir): Fix declaration.
24028         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
24029         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
24030         REPLACE_FCHDIR.
24031         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
24032         REPLACE_FCHDIR.
24033
24034 2010-04-03  Bruno Haible  <bruno@clisp.org>
24035
24036         getpagesize: Fix C++ test error on mingw.
24037         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
24038         system does not declare the function.
24039         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
24040         declared.
24041         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24042         HAVE_DECL_GETPAGESIZE.
24043         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
24044
24045 2010-04-03  Bruno Haible  <bruno@clisp.org>
24046
24047         stdio: Make C++ tests work on mingw.
24048         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
24049         does not declare the function.
24050
24051 2010-04-03  Bruno Haible  <bruno@clisp.org>
24052
24053         ftello: Fix C++ test error on mingw.
24054         * lib/stdio.in.h (ftello): Use modern idiom.
24055         * lib/ftello.c (ftello): Renamed from rpl_ftello.
24056         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
24057         is missing and that it needs to be replaced.
24058         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
24059         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
24060         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
24061
24062 2010-04-03  Bruno Haible  <bruno@clisp.org>
24063
24064         fseeko: Fix C++ test error on mingw.
24065         * lib/stdio.in.h (fseeko): Use modern idiom.
24066         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
24067         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
24068         is missing and that it needs to be replaced.
24069         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
24070         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
24071         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
24072
24073 2010-04-03  Bruno Haible  <bruno@clisp.org>
24074
24075         mkstemp: Fix C++ test error on mingw.
24076         * lib/stdlib.in.h (mkstemp): Use modern idiom.
24077         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
24078         function is missing and that it needs to be replaced.
24079         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
24080         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
24081
24082 2010-04-03  Bruno Haible  <bruno@clisp.org>
24083
24084         stpncpy: Fix C++ test error on mingw.
24085         * lib/string.in.h (stpncpy): Use modern idiom.
24086         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
24087         function is missing and that it needs to be replaced.
24088         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24089         REPLACE_STPNCPY.
24090         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
24091
24092 2010-04-03  Bruno Haible  <bruno@clisp.org>
24093
24094         sys_stat: Fix C++ test error on mingw.
24095         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
24096         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
24097
24098 2010-04-03  Bruno Haible  <bruno@clisp.org>
24099
24100         pty: Update doc.
24101         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
24102
24103 2010-04-03  Bruno Haible  <bruno@clisp.org>
24104
24105         unistd: Fix C++ test error on mingw.
24106         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
24107
24108 2010-04-03  Bruno Haible  <bruno@clisp.org>
24109
24110         Update doc regarding mingw.
24111         * doc/glibc-functions/openpty.texi: Update regarding mingw.
24112         * doc/glibc-functions/login_tty.texi: Likewise.
24113         * doc/glibc-functions/forkpty.texi: Likewise.
24114
24115 2010-04-03  Bruno Haible  <bruno@clisp.org>
24116
24117         stdlib: Avoid compilation failure of c-strtold on mingw.
24118         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
24119
24120 2010-04-03  Bruno Haible  <bruno@clisp.org>
24121
24122         locale: Make C++ tests work on Cygwin and mingw.
24123         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
24124         cannot provide the function.
24125         Reported by Simon Josefsson.
24126
24127 2010-04-03  Bruno Haible  <bruno@clisp.org>
24128
24129         localename: Port to MacOS X 10.6.
24130         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
24131         memory layout of the locales in MacOS X 10.6 as well.
24132         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
24133
24134 2010-04-02  Bruno Haible  <bruno@clisp.org>
24135
24136         gnulib-tool: Ensure that long-running tests are executed last.
24137         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
24138         running tests after the one for the other tests.
24139
24140 2010-04-02  Bruno Haible  <bruno@clisp.org>
24141
24142         gnulib-tool: Ensure the tests in the main directory are executed first.
24143         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
24144         start with the current directory.
24145
24146 2010-04-02  Bruno Haible  <bruno@clisp.org>
24147
24148         Tests for module 'havelib', moved here from GNU gettext.
24149         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
24150         modifications.
24151         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
24152         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
24153         with modifications.
24154         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
24155         modifications.
24156         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
24157         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
24158         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
24159         with modifications.
24160         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
24161         with modifications.
24162         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
24163         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
24164         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
24165         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
24166         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
24167         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
24168         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
24169         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
24170         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
24171         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
24172         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
24173         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
24174         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
24175         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
24176         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
24177         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
24178         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
24179         with modifications.
24180         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
24181         with modifications.
24182         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
24183         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
24184         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
24185         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
24186         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
24187         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
24188         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
24189         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
24190         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
24191         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
24192         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
24193         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
24194         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
24195         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
24196         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
24197         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
24198         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
24199         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
24200         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
24201         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
24202         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
24203         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
24204         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
24205         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
24206         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
24207         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
24208         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
24209         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
24210         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
24211         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
24212         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
24213         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
24214         * tests/havelib/rpathx/rpathx.c: New file, from
24215         gettext/autoconf-lib-link.
24216         * tests/havelib/rpathx/Makefile.am: New file, from
24217         gettext/autoconf-lib-link.
24218         * tests/havelib/rpathx/configure.ac: New file, from
24219         gettext/autoconf-lib-link with modifications.
24220         * tests/havelib/rpathy/rpathy.c: New file, from
24221         gettext/autoconf-lib-link.
24222         * tests/havelib/rpathy/Makefile.am: New file, from
24223         gettext/autoconf-lib-link.
24224         * tests/havelib/rpathy/configure.ac: New file, from
24225         gettext/autoconf-lib-link with modifications.
24226         * tests/havelib/rpathz/rpathz.c: New file, from
24227         gettext/autoconf-lib-link.
24228         * tests/havelib/rpathz/Makefile.am: New file, from
24229         gettext/autoconf-lib-link.
24230         * tests/havelib/rpathz/configure.ac: New file, from
24231         gettext/autoconf-lib-link with modifications.
24232         * tests/havelib/rpathlx/usex.c: New file, from
24233         gettext/autoconf-lib-link.
24234         * tests/havelib/rpathlx/Makefile.am: New file, from
24235         gettext/autoconf-lib-link.
24236         * tests/havelib/rpathlx/configure.ac: New file, from
24237         gettext/autoconf-lib-link with modifications.
24238         * tests/havelib/rpathly/usey.c: New file, from
24239         gettext/autoconf-lib-link.
24240         * tests/havelib/rpathly/Makefile.am: New file, from
24241         gettext/autoconf-lib-link.
24242         * tests/havelib/rpathly/configure.ac: New file, from
24243         gettext/autoconf-lib-link with modifications.
24244         * tests/havelib/rpathlz/usez.c: New file, from
24245         gettext/autoconf-lib-link.
24246         * tests/havelib/rpathlz/Makefile.am: New file, from
24247         gettext/autoconf-lib-link.
24248         * tests/havelib/rpathlz/configure.ac: New file, from
24249         gettext/autoconf-lib-link with modifications.
24250         * tests/havelib/rpathlyx/usey.c: New file, from
24251         gettext/autoconf-lib-link.
24252         * tests/havelib/rpathlyx/Makefile.am: New file, from
24253         gettext/autoconf-lib-link.
24254         * tests/havelib/rpathlyx/configure.ac: New file, from
24255         gettext/autoconf-lib-link with modifications.
24256         * tests/havelib/rpathlzyx/usez.c: New file, from
24257         gettext/autoconf-lib-link.
24258         * tests/havelib/rpathlzyx/Makefile.am: New file, from
24259         gettext/autoconf-lib-link.
24260         * tests/havelib/rpathlzyx/configure.ac: New file, from
24261         gettext/autoconf-lib-link with modifications.
24262         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
24263         with modifications.
24264
24265 2010-04-02  Bruno Haible  <bruno@clisp.org>
24266
24267         gnulib-tool: Create distributed built sources also for the tests.
24268         * gnulib-tool (func_create_testdir): Also generate distributed built
24269         sources in the tests directory.
24270
24271 2010-04-02  Bruno Haible  <bruno@clisp.org>
24272
24273         gnulib-tool: Obey user's environment variables.
24274         * gnulib-tool (func_create_testdir): When creating built sources,
24275         respect the environment variables for autoconf, automake, etc. given by
24276         the user.
24277
24278 2010-04-02  Bruno Haible  <bruno@clisp.org>
24279
24280         gnulib-tool: Provide the value of --m4-base to modules.
24281         * gnulib-tool (func_import, func_create_testdir): Emit a definition
24282         of gl_m4_base.
24283
24284 2010-04-02  Eric Blake  <eblake@redhat.com>
24285
24286         maint.mk: fix some fallout
24287         * NEWS: Document the incompatible change, and its effect on cfg.mk.
24288         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
24289
24290 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24291
24292         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
24293         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
24294         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
24295         (sc_cast_of_x_alloc_return_value): Likewise.
24296         (sc_cast_of_alloca_return_value): Likewise.
24297         (sc_space_tab): Likewise.
24298         (sc_prohibit_atoi_atof): Likewise.
24299         (sc_prohibit_magic_number_exit): Likewise.
24300         (sc_error_exit_success): Likewise.
24301         (sc_file_system): Likewise.
24302         (sc_prohibit_have_config_h): Likewise.
24303         (sc_require_config_h): Likewise.
24304         (sc_prohibit_HAVE_MBRTOWC): Likewise.
24305         (sc_obsolete_symbols): Likewise.
24306         (sc_changelog): Likewise.
24307         (sc_program_name): Likewise.
24308         (sc_the_the): Likewise.
24309         (sc_trailing_blank): Likewise.
24310         (sc_two_space_separator_in_usage): Likewise.
24311         (sc_useless_cpp_parens): Likewise.
24312         (sc_GPL_version): Likewise.
24313         (sc_GFDL_version): Likewise.
24314         (sc_texinfo_acronym): Likewise.
24315         (sc_prohibit_cvs_keyword): Likewise.
24316         (sc_prohibit_stat_st_blocks): Likewise.
24317         (sc_prohibit_S_IS_definition): Likewise.
24318         (sc_redundant_const): Likewise.
24319         (sc_makefile_TAB_only_indentation): Likewise.
24320         (sc_m4_quote_check): Likewise.
24321         (sc_makefile_path_separator_check): Likewise.
24322         (sc_copyright_check): Likewise.
24323         (sc_Wundef_boolean): Likewise.
24324         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24325
24326         maint.mk: match 0 or more whitespace-before-function-call '('
24327         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
24328         that have zero or two-and-more spaces between the function name
24329         and the open parenthesis.
24330         (sc_error_message_warn_fatal): Likewise.
24331         (sc_error_message_uppercase): Likewise.
24332         (sc_error_message_period): Likewise.
24333
24334 2010-03-31  Eric Blake  <eblake@redhat.com>
24335
24336         maint.mk: check for [ as well as test
24337         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
24338         Based on a libvirt report by Matthias Bolte.
24339
24340         gnumakefile: don't squelch _version output
24341         * top/GNUmakefile (_version): Create one-shot dependency rather
24342         than using $(shell) when version must be regenerated.
24343         (_autoreconf): Run verbosely, by default.
24344
24345         sys_time: avoid compiler warnings
24346         * lib/sys_time.in.h (includes): Ensure gcc pragma is
24347         unconditional, fixing regression from 2010-03-29.
24348         Reported by Simon Josefsson.
24349
24350 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24351
24352         maint.mk: s/_header_without_use/_sc_header_without_use/
24353         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
24354         (sc_prohibit_assert_without_use): Use the new name.
24355         (sc_prohibit_close_stream_without_use): Likewise.
24356         (sc_prohibit_getopt_without_use): Likewise.
24357         (sc_prohibit_quotearg_without_use): Likewise.
24358         (sc_prohibit_quote_without_use): Likewise.
24359         (sc_prohibit_long_options_without_use): Likewise.
24360         (sc_prohibit_inttostr_without_use): Likewise.
24361         (sc_prohibit_ignore_value_without_use): Likewise.
24362         (sc_prohibit_error_without_use): Likewise.
24363         (sc_prohibit_xalloc_without_use): Likewise.
24364         (sc_prohibit_hash_without_use): Likewise.
24365         (sc_prohibit_hash_pjw_without_use): Likewise.
24366         (sc_prohibit_safe_read_without_use): Likewise.
24367         (sc_prohibit_argmatch_without_use): Likewise.
24368         (sc_prohibit_canonicalize_without_use): Likewise.
24369         (sc_prohibit_root_dev_ino_without_use): Likewise.
24370         (sc_prohibit_openat_without_use): Likewise.
24371         (sc_prohibit_c_ctype_without_use): Likewise.
24372         (sc_prohibit_signal_without_use): Likewise.
24373         (sc_prohibit_intprops_without_use): Likewise.
24374
24375 2010-03-30  Eric Blake  <eblake@redhat.com>
24376
24377         maint: improve module indicators
24378         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
24379         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
24380         columns, and avoid extra macro expansion.
24381
24382         fdopendir: work around FreeBSD bug
24383         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
24384         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
24385         * modules/dirent (Makefile.am): Substitute it.
24386         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
24387         declaration.
24388         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
24389         fix.
24390         Reported by Christian Weisgerber <naddy@mips.inka.de>.
24391
24392 2010-03-29  Bruno Haible  <bruno@clisp.org>
24393
24394         Emit #pragma system_header after the inclusion guard, not before.
24395         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
24396         guard that spans the entire file, not before. This enables an
24397         optimization in GCC's preprocessor.
24398         * lib/ctype.in.h: Likewise.
24399         * lib/dirent.in.h: Likewise.
24400         * lib/errno.in.h: Likewise.
24401         * lib/float.in.h: Likewise.
24402         * lib/getopt.in.h: Likewise.
24403         * lib/iconv.in.h: Likewise.
24404         * lib/langinfo.in.h: Likewise.
24405         * lib/locale.in.h: Likewise.
24406         * lib/math.in.h: Likewise.
24407         * lib/netdb.in.h: Likewise.
24408         * lib/netinet_in.in.h: Likewise.
24409         * lib/pty.in.h: Likewise.
24410         * lib/sched.in.h: Likewise.
24411         * lib/se-selinux.in.h: Likewise.
24412         * lib/search.in.h: Likewise.
24413         * lib/spawn.in.h: Likewise.
24414         * lib/stdarg.in.h: Likewise.
24415         * lib/stdint.in.h: Likewise.
24416         * lib/string.in.h: Likewise.
24417         * lib/strings.in.h: Likewise.
24418         * lib/sys_file.in.h: Likewise.
24419         * lib/sys_ioctl.in.h: Likewise.
24420         * lib/sys_time.in.h: Likewise.
24421         * lib/sys_times.in.h: Likewise.
24422         * lib/sys_utsname.in.h: Likewise.
24423         * lib/sys_wait.in.h: Likewise.
24424         * lib/sysexits.in.h: Likewise.
24425         * lib/wctype.in.h: Likewise.
24426
24427 2010-03-28  James Youngman  <jay@gnu.org>
24428
24429         save-cwd: don't leak a file descriptor when the caller execs.
24430         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
24431         saved file descriptor.
24432         * modules/save-cwd (Depends-on): Depend on cloexec.
24433
24434 2010-03-29  Bruno Haible  <bruno@clisp.org>
24435
24436         Remove vestiges of fts-lgpl module.
24437         * lib/fts_.h: Assume GNULIB_FTS is 1.
24438         * lib/fts.c: Likewise.
24439         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24440
24441 2010-03-28  Bruno Haible  <bruno@clisp.org>
24442
24443         Fix definition of tests witness macro.
24444         * gnulib-tool (func_import): Fix definition of witness macro.
24445
24446 2010-03-28  Bruno Haible  <bruno@clisp.org>
24447
24448         Fix ioctl's protoype on glibc systems.
24449         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
24450         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
24451         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
24452         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
24453         signature. If not, arrange to replace the ioctl function.
24454         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
24455         REPLACE_IOCTL.
24456         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
24457         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
24458         Reported by Ludovic Courtès <ludo@gnu.org>.
24459
24460 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
24461
24462         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
24463         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
24464         made it so grep -r --include=GLOB* ... did not work.
24465
24466 2010-03-26  Jim Meyering  <meyering@redhat.com>
24467             Eric Blake  <eblake@redhat.com>
24468
24469         maint.mk: prohibit use of test's -o and -a operators
24470         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
24471
24472 2010-03-28  Bruno Haible  <bruno@clisp.org>
24473
24474         Remove unused GNULIB_XYZ macro definitions.
24475         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
24476         invocation.
24477
24478 2010-03-28  Bruno Haible  <bruno@clisp.org>
24479
24480         Mark privileged tests modules.
24481         * modules/idpriv-drop-tests (Status): New section.
24482         * modules/idpriv-droptemp-tests (Status): New section.
24483
24484 2010-03-28  Bruno Haible  <bruno@clisp.org>
24485
24486         Split C++ tests into separate tests modules.
24487         * modules/dirent-c++-tests: New file, extracted from
24488         modules/dirent-tests.
24489         * modules/dirent-tests: Depend on it.
24490         * modules/fcntl-h-c++-tests: New file, extracted from
24491         modules/fcntl-h-tests.
24492         * modules/fcntl-h-tests: Depend on it.
24493         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
24494         * modules/glob-tests: Depend on it.
24495         * modules/iconv-h-c++-tests: New file, extracted from
24496         modules/iconv-h-tests.
24497         * modules/iconv-h-tests: Depend on it.
24498         * modules/langinfo-c++-tests: New file, extracted from
24499         modules/langinfo-tests.
24500         * modules/langinfo-tests: Depend on it.
24501         * modules/locale-c++-tests: New file, extracted from
24502         modules/locale-tests.
24503         * modules/locale-tests: Depend on it.
24504         * modules/math-c++-tests: New file, extracted from modules/math-tests.
24505         * modules/math-tests: Depend on it.
24506         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
24507         * modules/pty-tests: Depend on it.
24508         * modules/search-c++-tests: New file, extracted from
24509         modules/search-tests.
24510         * modules/search-tests: Depend on it.
24511         * modules/signal-c++-tests: New file, extracted from
24512         modules/signal-tests.
24513         * modules/signal-tests: Depend on it.
24514         * modules/spawn-c++-tests: New file, extracted from
24515         modules/spawn-tests.
24516         * modules/spawn-tests: Depend on it.
24517         * modules/stdio-c++-tests: New file, extracted from
24518         modules/stdio-tests.
24519         * modules/stdio-tests: Depend on it.
24520         * modules/stdlib-c++-tests: New file, extracted from
24521         modules/stdlib-tests.
24522         * modules/stdlib-tests: Depend on it.
24523         * modules/string-c++-tests: New file, extracted from
24524         modules/string-tests.
24525         * modules/string-tests: Depend on it.
24526         * modules/sys_ioctl-c++-tests: New file, extracted from
24527         modules/sys_ioctl-tests.
24528         * modules/sys_ioctl-tests: Depend on it.
24529         * modules/sys_select-c++-tests: New file, extracted from
24530         modules/sys_select-tests.
24531         * modules/sys_select-tests: Depend on it.
24532         * modules/sys_socket-c++-tests: New file, extracted from
24533         modules/sys_socket-tests.
24534         * modules/sys_socket-tests: Depend on it.
24535         * modules/sys_stat-c++-tests: New file, extracted from
24536         modules/sys_stat-tests.
24537         * modules/sys_stat-tests: Depend on it.
24538         * modules/sys_time-c++-tests: New file, extracted from
24539         modules/sys_time-tests.
24540         * modules/sys_time-tests: Depend on it.
24541         * modules/time-c++-tests: New file, extracted from modules/time-tests.
24542         * modules/time-tests: Depend on it.
24543         * modules/unistd-c++-tests: New file, extracted from
24544         modules/unistd-tests.
24545         * modules/unistd-tests: Depend on it.
24546         * modules/wchar-c++-tests: New file, extracted from
24547         modules/wchar-tests.
24548         * modules/wchar-tests: Depend on it.
24549         * modules/wctype-c++-tests: New file, extracted from
24550         modules/wctype-tests.
24551         * modules/wctype-tests: Depend on it.
24552         Reported by Simon Josefsson.
24553
24554 2010-03-28  Bruno Haible  <bruno@clisp.org>
24555
24556         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
24557         * gnulib-tool (func_exists_module): New function, extracted from
24558         func_verify_module.
24559         (func_verify_module): Use it.
24560         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
24561         'foo' only if 'foo' exists.
24562         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
24563         module.
24564
24565 2010-03-28  Bruno Haible  <bruno@clisp.org>
24566
24567         gnulib-tool: Add support for special categories of tests.
24568         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
24569         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
24570         (func_usage): Document them.
24571         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
24572         inc_unportable_tests, inc_all_tests): New variables.
24573         (func_acceptable): Consider these variables.
24574         (func_modules_transitive_closure): Make it work when the 'Status' field
24575         consists of multiple words.
24576         (func_import): Store and restore the values of inc_cxx_tests,
24577         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
24578         inc_all_tests in gnulib-comp.m4.
24579         (func_create_testdir): Set inc_all_tests to true.
24580         * doc/gnulib.texi (Extra tests modules): New section.
24581         Suggested by Jim Meyering.
24582
24583 2010-03-28  Bruno Haible  <bruno@clisp.org>
24584
24585         ansi-c++-opt: Allow turning off the C++ build by default.
24586         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
24587         gl_CXX_CHOICE_DEFAULT_NO is defined.
24588         Requested by Eric Blake.
24589
24590 2010-03-28  Bruno Haible  <bruno@clisp.org>
24591
24592         unistd: Avoid #define replacements in C++ mode.
24593         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
24594         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
24595         setsockopt, shutdown, select): In C++, attach a warning to the function
24596         if possible, rather than #defining the symbol to a dysfunctional alias.
24597         Reported by John W. Eaton <jwe@gnu.org>.
24598
24599 2010-03-28  Bruno Haible  <bruno@clisp.org>
24600
24601         Fix link errors on mingw.
24602         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
24603         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
24604         $(LIBSOCKET).
24605         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
24606         $(LIBSOCKET).
24607
24608 2010-03-28  Bruno Haible  <bruno@clisp.org>
24609             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24610
24611         lib-ignore: Determine different options for different compilers.
24612         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
24613         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
24614         Add comments.
24615         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
24616         * NEWS: Mention the change.
24617
24618 2010-03-27  Bruno Haible  <bruno@clisp.org>
24619
24620         Remove unused GNULIB_XYZ macro definitions.
24621         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24622         * modules/fseek (configure.ac): Likewise.
24623         * modules/ioctl (configure.ac): Likewise.
24624         * modules/open (configure.ac): Likewise.
24625         * modules/stdlib-safer (configure.ac): Likewise.
24626
24627 2010-03-27  Bruno Haible  <bruno@clisp.org>
24628
24629         Add a remark about certain modules.
24630         * modules/malloc (Comment): New section.
24631         * modules/realloc (Comment): Likewise.
24632         * modules/sigpipe (Comment): Likewise.
24633
24634 2010-03-27  Bruno Haible  <bruno@clisp.org>
24635
24636         Resolve conflict between the two kinds of module indicators.
24637         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
24638         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
24639         * modules/canonicalize (configure.ac): Invoke
24640         gl_MODULE_INDICATOR_FOR_TESTS.
24641         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
24642         GNULIB_XYZ.
24643         * tests/test-dirent-c++.cc: Likewise.
24644         * tests/test-dirent-safer.c: Likewise.
24645         * tests/test-dup2.c: Likewise.
24646         * tests/test-fchdir.c: Likewise.
24647         * tests/test-fcntl-h-c++.cc: Likewise.
24648         * tests/test-getopt.c: Likewise.
24649         * tests/test-getopt.h: Likewise.
24650         * tests/test-langinfo-c++.cc: Likewise.
24651         * tests/test-locale-c++.cc: Likewise.
24652         * tests/test-math-c++.cc: Likewise.
24653         * tests/test-pty-c++.cc: Likewise.
24654         * tests/test-search-c++.cc: Likewise.
24655         * tests/test-signal-c++.cc: Likewise.
24656         * tests/test-spawn-c++.cc: Likewise.
24657         * tests/test-stdio-c++.cc: Likewise.
24658         * tests/test-stdlib-c++.cc: Likewise.
24659         * tests/test-string-c++.cc: Likewise.
24660         * tests/test-sys_ioctl-c++.cc: Likewise.
24661         * tests/test-sys_select-c++.cc: Likewise.
24662         * tests/test-sys_socket-c++.cc: Likewise.
24663         * tests/test-sys_stat-c++.cc: Likewise.
24664         * tests/test-sys_time-c++.cc: Likewise.
24665         * tests/test-time-c++.cc: Likewise.
24666         * tests/test-unistd-c++.cc: Likewise.
24667         * tests/test-wchar-c++.cc: Likewise.
24668         * tests/uninorm/test-u8-nfc.c: Likewise.
24669         * tests/uninorm/test-u8-nfd.c: Likewise.
24670         * tests/uninorm/test-u8-nfkc.c: Likewise.
24671         * tests/uninorm/test-u8-nfkd.c: Likewise.
24672         * tests/uninorm/test-u16-nfc.c: Likewise.
24673         * tests/uninorm/test-u16-nfd.c: Likewise.
24674         * tests/uninorm/test-u16-nfkc.c: Likewise.
24675         * tests/uninorm/test-u16-nfkd.c: Likewise.
24676         * tests/uninorm/test-u32-nfc.c: Likewise.
24677         * tests/uninorm/test-u32-nfc-big.c: Likewise.
24678         * tests/uninorm/test-u32-nfd.c: Likewise.
24679         * tests/uninorm/test-u32-nfd-big.c: Likewise.
24680         * tests/uninorm/test-u32-nfkc.c: Likewise.
24681         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
24682         * tests/uninorm/test-u32-nfkd.c: Likewise.
24683         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
24684         * tests/uninorm/test-u32-normalize-big.c: Likewise.
24685
24686 2010-03-27  Bruno Haible  <bruno@clisp.org>
24687
24688         Distinguish two kinds of module indicators.
24689         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
24690         gl_MODULE_INDICATOR.
24691         (gl_MODULE_INDICATOR): New macro.
24692         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
24693         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
24694         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
24695         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
24696         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
24697         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
24698         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
24699         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
24700         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
24701         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
24702         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
24703         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
24704         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
24705         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
24706         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
24707         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
24708         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
24709         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
24710         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
24711         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
24712         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
24713         * modules/cloexec (configure.ac): Likewise.
24714         * modules/getopt-gnu (configure.ac): Likewise.
24715         * modules/uninorm/u8-normalize (configure.ac): Likewise.
24716         * modules/uninorm/u16-normalize (configure.ac): Likewise.
24717         * modules/uninorm/u32-normalize (configure.ac): Likewise.
24718         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
24719
24720 2010-03-27  Bruno Haible  <bruno@clisp.org>
24721
24722         New module description field 'Comment'.
24723         * gnulib-tool: New option --extract-comment.
24724         (func_usage): Document it.
24725         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
24726         (func_get_comment): New function.
24727         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
24728
24729 2010-03-27  Bruno Haible  <bruno@clisp.org>
24730
24731         Addendum to 2010-02-07 commit.
24732         * gnulib-tool (func_usage): Document --extract-applicability option.
24733
24734 2010-03-27  Bruno Haible  <bruno@clisp.org>
24735
24736         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
24737         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
24738         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
24739         rather than link errors.
24740
24741 2010-03-27  Bruno Haible  <bruno@clisp.org>
24742
24743         Avoid side effects from tests-related modules on the compilation of lib.
24744         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
24745         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
24746         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
24747         parameter. Emit into AM_CPPFLAGS a definition of the designated C
24748         macro.
24749         (func_import): Define a witness macro. Assign it a value that depends
24750         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
24751         tests-related modules.
24752         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
24753         Reported by Jim Meyering.
24754
24755 2010-03-27  Bruno Haible  <bruno@clisp.org>
24756
24757         Factorize common .m4 code.
24758         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
24759         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
24760         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
24761         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
24762         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
24763         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
24764         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
24765         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
24766         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
24767         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
24768         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
24769         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
24770         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
24771         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
24772         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
24773         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
24774         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
24775         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
24776         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
24777         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
24778         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
24779         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
24780         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
24781         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
24782         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
24783         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
24784         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
24785         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
24786         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
24787         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
24788         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
24789         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
24790
24791 2010-03-27  Bruno Haible  <bruno@clisp.org>
24792
24793         Fix a compilation error on Cygwin with g++ >= 4.3.
24794         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
24795         if it is undefined or if we alias it to chmod.
24796         (lstat): Don't warn about the use of this function if it is undefined
24797         or if we alias it to stat.
24798         Reported by Simon Josefsson.
24799
24800 2010-03-27  Bruno Haible  <bruno@clisp.org>
24801
24802         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
24803         * modules/getlogin (configure.ac): Update.
24804
24805         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
24806         * modules/getlogin_r (configure.ac): Update.
24807
24808         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
24809         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
24810         * modules/inet_ntop (configure.ac): Update.
24811
24812         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
24813         * modules/inet_pton (configure.ac): Update.
24814
24815         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
24816         * modules/mbslen (configure.ac): Update.
24817
24818         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
24819         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
24820         * modules/forkpty (configure.ac): Update.
24821         * modules/openpty (configure.ac): Update.
24822
24823 2010-03-26  Simon Josefsson  <simon@josefsson.org>
24824
24825         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
24826         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
24827
24828 2010-03-25  Eric Blake  <eblake@redhat.com>
24829
24830         maint: use pragma consistently across replacement headers
24831         * lib/ctype.in.h (system_header): Hoist for consistent placement.
24832         * lib/dirent.in.h (system_header): Likewise.
24833         * lib/errno.in.h (system_header): Likewise.
24834         * lib/float.in.h (system_header): Likewise.
24835         * lib/getopt.in.h (system_header): Likewise.
24836         * lib/iconv.in.h (system_header): Likewise.
24837         * lib/inttypes.in.h (system_header): Likewise.
24838         * lib/langinfo.in.h (system_header): Likewise.
24839         * lib/locale.in.h (system_header): Likewise.
24840         * lib/math.in.h (system_header): Likewise.
24841         * lib/netdb.in.h (system_header): Likewise.
24842         * lib/netinet_in.in.h (system_header): Likewise.
24843         * lib/pty.in.h (system_header): Likewise.
24844         * lib/sched.in.h (system_header): Likewise.
24845         * lib/se-selinux.in.h (system_header): Likewise.
24846         * lib/search.in.h (system_header): Likewise.
24847         * lib/spawn.in.h (system_header): Likewise.
24848         * lib/stdarg.in.h (system_header): Likewise.
24849         * lib/stdint.in.h (system_header): Likewise.
24850         * lib/string.in.h (system_header): Likewise.
24851         * lib/strings.in.h (system_header): Likewise.
24852         * lib/sys_file.in.h (system_header): Likewise.
24853         * lib/sys_ioctl.in.h (system_header): Likewise.
24854         * lib/sys_socket.in.h (system_header): Likewise.
24855         * lib/sys_times.in.h (system_header): Likewise.
24856         * lib/sys_utsname.in.h (system_header): Likewise.
24857         * lib/sys_wait.in.h (system_header): Likewise.
24858         * lib/sysexits.in.h (system_header): Likewise.
24859         * lib/unistd.in.h (system_header): Likewise.
24860         * lib/wctype.in.h (system_header): Likewise.
24861
24862         arpa/inet: fix mingw compilation warning
24863         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
24864         Reported by Matthew Bolte.
24865
24866 2010-03-25  Bruno Haible  <bruno@clisp.org>
24867
24868         Avoid collision between gnulib wrapper and libintl wrapper.
24869         * lib/printf.c (printf): Don't define if a printf wrapper is already
24870         defined in intl/printf.c.
24871         Reported by Michel Boaventura <michel@michelboaventura.com>.
24872
24873 2010-03-25  Bruno Haible  <bruno@clisp.org>
24874
24875         Use ANSI C.
24876         * lib/readutmp.h (getutent): Provide ANSI C prototype.
24877
24878 2010-03-25  Bruno Haible  <bruno@clisp.org>
24879
24880         Minor formatting changes.
24881         * lib/acosl.c: Insert space before function argument list.
24882         * lib/argz.c: Likewise.
24883         * lib/asinl.c: Likewise.
24884         * lib/expl.c: Likewise.
24885         * lib/gen-uni-tables.c: Likewise.
24886         * lib/gettext.h: Likewise.
24887         * lib/glthread/lock.h: Likewise.
24888         * lib/tanl.c: Likewise.
24889         * lib/uniname/uniname.c: Likewise.
24890         * tests/test-idpriv-drop.c: Likewise.
24891         * tests/test-idpriv-droptemp.c: Likewise.
24892         * tests/test-lock.c: Likewise.
24893         * tests/test-tls.c: Likewise.
24894         * lib/argp-help.c: Insert space before function-like macro argument
24895         list.
24896         * lib/memcmp.c: Likewise.
24897         * tests/test-base64.c: Likewise.
24898         * lib/localename.c: Insert space before sizeof's argument list.
24899         * lib/safe-alloc.h: Likewise.
24900         * lib/file-set.h: Insert space before macro argument list.
24901         * tests/test-argp.c: Likewise.
24902         * lib/argp-namefrob.h: Insert space before function parameter list.
24903         * lib/getaddrinfo.c: Likewise.
24904         * lib/netdb.in.h: Likewise.
24905         * lib/parse-duration.h: Likewise.
24906         * lib/parse-duration.c: Likewise.
24907         * lib/poll.c: Likewise.
24908         * lib/select.c: Likewise.
24909         * lib/trim.h: Likewise.
24910         * tests/test-usleep.c: Likewise.
24911         * lib/ldexpl.c: Insert space before function parameter list and before
24912         function argument list.
24913         * lib/logl.c: Likewise.
24914         * lib/sqrtl.c: Likewise.
24915         * lib/trim.c: Likewise.
24916         * lib/cosl.c: Use GNU style indentation. Insert space before function
24917         argument list.
24918         * lib/sinl.c: Likewise.
24919         * lib/tsearch.c: Insert space after 'for'.
24920         Reported by Jim Meyering.
24921
24922 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
24923
24924         * maint.mk (sc_Wundef_boolean): Check for the presence of the
24925         config header before grepping, as it's not present before
24926         autoreconf/configure are run.  Reported by Simon Josefsson.
24927
24928 2010-03-23  Bruno Haible  <bruno@clisp.org>
24929
24930         pt_chown: Make it work with automake < 1.11.
24931         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
24932         Reported by Simon Josefsson.
24933
24934 2010-03-23  Bruno Haible  <bruno@clisp.org>
24935
24936         pt_chown: Don't depend on GPLed modules.
24937         * lib/pt_chown.c: Don't include idpriv.h.
24938         (main): Don't drop privileges.
24939         * modules/pt_chown (Depends-on): Remove idpriv-drop.
24940         Reported by Simon Josefsson.
24941
24942 2010-03-24  Simon Josefsson  <simon@josefsson.org>
24943
24944         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
24945         suggestions from karl@freefriends.org (Karl Berry).
24946
24947 2010-03-22  Eric Blake  <eblake@redhat.com>
24948
24949         gethostname: further tweaks
24950         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
24951         are overriding gethostname.
24952         Suggested by Bruno Haible.
24953
24954 2010-03-21  Bruno Haible  <bruno@clisp.org>
24955
24956         Fix comments.
24957         * lib/forkpty.c (rpl_forkpty): Fix comment.
24958         * lib/openpty.c (rpl_openpty): Likewise.
24959         Reported by Eric Blake.
24960
24961 2010-03-22  Eric Blake  <eblake@redhat.com>
24962
24963         gethostname: fix build on mingw
24964         * lib/unistd.in.h (includes): Work around fact that mingw
24965         <winsock2.h> re-includes <unistd.h>, by avoiding any
24966         redeclarations if we are being included by <winsock2.h>.
24967         Reported by Matthias Bolte.
24968
24969 2010-03-21  Bruno Haible  <bruno@clisp.org>
24970
24971         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
24972         * lib/forkpty.c (forkpty): New replacement function, from glibc with
24973         modifications.
24974         * lib/pty.in.h (forkpty): Update declaration. Add comments.
24975         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
24976         provide the replacement.
24977         * modules/forkpty (Depends-on): Add openpty, login_tty.
24978         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
24979         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
24980         * doc/glibc-functions/forkpty.texi: More supported platforms.
24981         * config/srclist.txt: Add forkpty.c (commented).
24982
24983 2010-03-21  Bruno Haible  <bruno@clisp.org>
24984
24985         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
24986         (Makefile.am): Verify that PTY_LIB is defined.
24987
24988         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
24989
24990 2010-03-21  Bruno Haible  <bruno@clisp.org>
24991
24992         Tests for module 'login_tty'.
24993         * modules/login_tty-tests: New file.
24994         * tests/test-login_tty.c: New file.
24995
24996         New module 'login_tty'.
24997         * lib/login_tty.c: New file.
24998         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
24999         * modules/login_tty: New file.
25000         * doc/glibc-functions/login_tty.texi: Mention the new module.
25001
25002 2010-03-21  Bruno Haible  <bruno@clisp.org>
25003
25004         login_tty: Documentation.
25005         * doc/glibc-functions/login_tty.texi: New file.
25006         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
25007
25008 2010-03-21  Bruno Haible  <bruno@clisp.org>
25009
25010         pty: Consistent macro naming.
25011         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
25012         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
25013         * modules/pty (configure.ac): Update.
25014
25015 2010-03-21  Bruno Haible  <bruno@clisp.org>
25016
25017         Tests for openpty: Make stricter.
25018         * tests/test-openpty.c (main): Add test of canonical processing and
25019         erase.
25020         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
25021
25022         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25023         * lib/openpty.c (openpty): New replacement function.
25024         * lib/pty.in.h: Include <termios.h>.
25025         (openpty): Update declaration. Add comments.
25026         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
25027         is not declared, arrange to provide the replacement. Check for _getpty
25028         and posix_openpt.
25029         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
25030         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
25031         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
25032         * modules/pty-tests (test_pty_c___LDADD): New variable.
25033         * doc/glibc-functions/openpty.texi: More supported platforms.
25034
25035 2010-03-21  Bruno Haible  <bruno@clisp.org>
25036
25037         setenv: Tweaks.
25038         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
25039         the test program.
25040         * doc/posix-functions/setenv.texi: Update platforms list.
25041
25042 2010-03-21  Bruno Haible  <bruno@clisp.org>
25043
25044         New module 'unlockpt'.
25045         * lib/unlockpt.c: New file, from glibc with modifications.
25046         * m4/unlockpt.m4: New file.
25047         * modules/unlockpt: New file.
25048         * lib/stdlib.in.h (unlockpt): New declaration.
25049         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
25050         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
25051         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
25052         HAVE_UNLOCKPT.
25053         * doc/posix-functions/unlockpt.texi: Mention the new module.
25054         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
25055         * config/srclist.txt: Add unlockpt.c (commented).
25056
25057 2010-03-21  Jim Meyering  <meyering@redhat.com>
25058
25059         maint.mk: prohibit inclusion of "intprops.h" without use
25060         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
25061
25062 2010-03-21  Bruno Haible  <bruno@clisp.org>
25063
25064         New module 'grantpt'.
25065         * lib/grantpt.c: New file, from glibc with modifications.
25066         * m4/grantpt.m4: New file.
25067         * modules/grantpt: New file.
25068         * lib/stdlib.in.h (grantpt): New declaration.
25069         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
25070         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
25071         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
25072         HAVE_GRANTPT.
25073         * doc/posix-functions/grantpt.texi: Mention the new module.
25074         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
25075         * config/srclist.txt: Add grantpt.c (commented).
25076
25077 2010-03-21  Bruno Haible  <bruno@clisp.org>
25078
25079         New module 'pt_chown'.
25080         * lib/pt_chown.c: New file, from glibc with modifications.
25081         * lib/pty-private.h: New file, from glibc with modifications.
25082         * modules/pt_chown: New file.
25083         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
25084
25085 2010-03-21  Bruno Haible  <bruno@clisp.org>
25086
25087         Tests for module 'ptsname'.
25088         * modules/ptsname-tests: New file.
25089         * tests/test-ptsname.c: New file.
25090
25091         New module 'ptsname'.
25092         * lib/ptsname.c: New file, from glibc with modifications.
25093         * m4/ptsname.m4: New file.
25094         * modules/ptsname: New file.
25095         * lib/stdlib.in.h (ptsname): New declaration.
25096         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
25097         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
25098         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
25099         HAVE_PTSNAME.
25100         * doc/posix-functions/ptsname.texi: Mention the new module.
25101         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
25102         * config/srclist.txt: Add ptsname.c (commented).
25103
25104 2010-03-21  Bruno Haible  <bruno@clisp.org>
25105
25106         Tests for module 'ttyname_r'.
25107         * modules/ttyname_r-tests: New file.
25108         * tests/test-ttyname_r.c: New file.
25109
25110         New module 'ttyname_r'.
25111         * lib/ttyname_r.c: New file.
25112         * m4/ttyname_r.m4: New file.
25113         * modules/ttyname_r: New file.
25114         * lib/unistd.in.h (ttyname_r): New declaration.
25115         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
25116         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
25117         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
25118         HAVE_TTYNAME_R.
25119         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
25120         * doc/posix-functions/ttyname_r.texi: Mention the new module.
25121
25122 2010-03-20  Bruno Haible  <bruno@clisp.org>
25123
25124         signal: Undefine macro definitions in C++ mode.
25125         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
25126         sigfillset): Undefine macro definitions from the system header in C++
25127         mode.
25128         Reported by John W. Eaton <jwe@gnu.org>.
25129
25130 2010-03-20  Bruno Haible  <bruno@clisp.org>
25131
25132         Ensure no #include statements inside extern "C" { ... }.
25133         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
25134         contain #include statements.
25135         * lib/time.in.h: Likewise.
25136
25137 2010-03-20  Bruno Haible  <bruno@clisp.org>
25138
25139         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
25140         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
25141         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
25142         Reported by John W. Eaton <jwe@gnu.org>.
25143
25144 2010-03-20  Bruno Haible  <bruno@clisp.org>
25145
25146         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
25147         Reported by Jim Meyering.
25148
25149 2010-03-20  Bruno Haible  <bruno@clisp.org>
25150
25151         pipe: Set errno upon failure.
25152         * lib/pipe.h: Specify that when -1 is returned, errno is set.
25153         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
25154         errno value in error message.
25155
25156 2010-03-20  Bruno Haible  <bruno@clisp.org>
25157             Jim Meyering  <meyering@redhat.com>
25158
25159         lchown: Avoid "unused variable" warning.
25160         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
25161
25162 2010-03-20  Bruno Haible  <bruno@clisp.org>
25163
25164         Work around unlink() bug on MacOS X 10.5.6.
25165         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
25166         attempting to unlink a parent directory.
25167         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
25168         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
25169         activate for the replacement function.
25170         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
25171
25172 2010-03-20  Bruno Haible  <bruno@clisp.org>
25173
25174         Fix link errors on Solaris 8.
25175         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
25176         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
25177
25178 2010-03-19  Jim Meyering  <meyering@redhat.com>
25179
25180         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
25181         The _LIBC implementation of build_range_exp correctly honors the
25182         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
25183         However, the non-_LIBC implementation would ignore that syntax-bit
25184         flag and return REG_ERANGE unconditionally.
25185         This change makes it honor that flag.
25186         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
25187         Make two pointer parameters "const".
25188         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
25189         (parse_bracket_exp): Update caller.
25190
25191         regex.m4: correct the reversed range endpoint ([b-a]) test
25192         * m4/regex.m4: When requiring that [b-a] evoke failure,
25193         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
25194         test pass once again for x86-based systems.
25195
25196 2010-03-19  Bruno Haible  <bruno@clisp.org>
25197
25198         scandir: Fix link error on Solaris 8.
25199         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
25200         macros.
25201
25202 2010-03-19  Bruno Haible  <bruno@clisp.org>
25203
25204         getusershell: Fix documentation.
25205         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
25206         module.
25207         * doc/glibc-functions/setusershell.texi: Likewise.
25208
25209         getusershell: Provide declaration, missing on Solaris 9.
25210         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
25211         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
25212         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
25213         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
25214         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25215         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
25216         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
25217         HAVE_GETUSERSHELL.
25218         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
25219
25220 2010-03-19  Bruno Haible  <bruno@clisp.org>
25221
25222         wctype: Provide iswblank function.
25223         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
25224         exists and is fine.
25225         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
25226         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
25227         * tests/test-wctype.c (main): Re-enable the iswblank tests.
25228         * doc/posix-functions/iswblank.texi: Update.
25229
25230 2010-03-19  Bruno Haible  <bruno@clisp.org>
25231
25232         Tests of module 'pty' in C++ mode.
25233         * modules/pty-tests: New file.
25234         * tests/test-pty-c++.cc: New file.
25235         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25236
25237 2010-03-19  Eric Blake  <eblake@redhat.com>
25238
25239         logb: fix documentation
25240         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
25241         1.5 declaration bug.
25242
25243         forkpty, openpty: prefer glibc's const-safe prototype
25244         * lib/forkpty.c (rpl_forkpty): New file.
25245         * lib/openpty.c (rpl_openpty): Likewise.
25246         * modules/forkpty (Files): Distribute it.
25247         * modules/openpty (Files): Likewise.
25248         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
25249         check...
25250         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
25251         replacement for for non-const BSD signature.
25252         * modules/pty (Makefile.am): Substitute witnesses.
25253         * lib/pty.in.h (forkpty, openpty): Declare replacements.
25254         * tests/test-forkpty.c: Update signature check.
25255         * tests/test-openpty.c: Likewise.
25256         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
25257         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25258
25259         forkpty, openpty: split functions into new modules
25260         * modules/pty (Makefile.am): Substitute new witnesses.
25261         (Libraries): Move library detection...
25262         * modules/forkpty: ...into new module.
25263         * modules/openpty: Another new module.
25264         * modules/pty-tests: Rename and split...
25265         * modules/forkpty-tests: ...to this...
25266         * modules/openpty-tests: ...and this.
25267         * tests/test-pty.c: Rename and split...
25268         * tests/test-forkpty.c: ...to this...
25269         * tests/test-openpty.c: ...and this.
25270         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
25271         (gl_PTY): Split library searching...
25272         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
25273         (gl_FORKPTY, gl_OPENPTY): New macros.
25274         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
25275         * NEWS: Mention the split.
25276         * MODULES.html.sh (Misc): Document the modules.
25277         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
25278         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25279
25280         pty: improve replacement header
25281         * lib/pty.in.h: New file.
25282         * modules/pty (Files): Ship it.
25283         (Makefile.am): Always build replacement.
25284         * m4/pty.m4: Rename...
25285         * m4/pty_h.m4: ...to this.
25286         (gl_PTY): Modernize setting of witness macros; update check of
25287         forkpty to take proper advantage of cache.
25288         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
25289
25290         getopt: avoid compiler warning
25291         * lib/getopt.c (attribute_hidden): Remove unused macro.
25292
25293 2010-03-18  Bruno Haible  <bruno@clisp.org>
25294
25295         Fix link errors on Solaris 8.
25296         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
25297         * modules/search-tests (test_search_c___LDADD): Likewise.
25298         * modules/signal-tests (test_signal_c___LDADD): Likewise.
25299         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
25300         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
25301         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
25302         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
25303         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
25304         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
25305
25306 2010-03-18  Bruno Haible  <bruno@clisp.org>
25307
25308         Fix bug introduced on 2010-03-14.
25309         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
25310         (gl_SPAWN_H): Require it.
25311         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
25312         Reported by Simon Josefsson.
25313
25314 2010-03-18  Bruno Haible  <bruno@clisp.org>
25315
25316         Fix typo introduced on 2009-12-31.
25317         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
25318         posix_spawn_file_actions_adddup2.
25319
25320 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
25321         and Eric Blake  <eblake@redhat.com>
25322
25323         test-vc-list-files-git: make more robust
25324         * tests/test-vc-list-files-git.sh: Unset problematic environment
25325         variables.  Chain commands together.
25326
25327 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
25328
25329         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
25330         `AC_CHECK_DECL' invocation.
25331
25332 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
25333
25334         * lib/inttostr.c (inttostr): Make sure the invocation of verify
25335         appears before executable statements. Suggested by Petr Sumbera
25336         <Petr.Sumbera@Sun.COM>.
25337
25338 2010-03-14  Bruno Haible  <bruno@clisp.org>
25339
25340         * tests/test-flock.c (test_exclusive): Comment out a test that causes
25341         portability problems. Instead use a simpler test.
25342         (main): Check that invalid arguments are rejected only on Linux.
25343
25344 2010-03-14  Bruno Haible  <bruno@clisp.org>
25345
25346         Fix bug introduced on 2009-12-31.
25347         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
25348         gl_PREREQ_SYS_H_WINSOCK2 always.
25349         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
25350         SYS_SOCKET_H variable.
25351         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
25352         Update comments.
25353         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
25354         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
25355         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25356         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25357         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
25358
25359 2010-03-14  Bruno Haible  <bruno@clisp.org>
25360
25361         Fix values returned by sinl, cosl.
25362         * lib/trigl.h: Add specification comments.
25363         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
25364         that combines the values from the precomputed table with the values of
25365         the Chebyshev polynomials.
25366
25367 2010-03-14  Bruno Haible  <bruno@clisp.org>
25368
25369         Fix compilation error when modules 'posix_spawn[p]' are not used.
25370         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
25371         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
25372
25373 2010-03-14  Bruno Haible  <bruno@clisp.org>
25374
25375         Fix compilation error on mingw when module 'time_r' is not used.
25376         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
25377         is 1.
25378         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
25379         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
25380         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
25381         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
25382
25383 2010-03-14  Bruno Haible  <bruno@clisp.org>
25384
25385         Fix compilation error with Sun C.
25386         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
25387         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
25388         instead of GCC specific ULONG_LONG_MAX.
25389         * lib/xstrtoll.c: Likewise.
25390         * lib/xstrtoull.c: Likewise.
25391
25392 2010-03-13  Bruno Haible  <bruno@clisp.org>
25393
25394         Allow the user to disable C++ code and tests.
25395         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
25396         (gl_PROG_ANSI_CXX): Require it.
25397
25398 2010-03-13  Bruno Haible  <bruno@clisp.org>
25399
25400         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
25401         cases.
25402
25403 2010-03-13  Bruno Haible  <bruno@clisp.org>
25404
25405         Test that gnulib does not break the standard C++ headers.
25406         * tests/test-locale-c++2.cc: New file.
25407         * modules/locale-tests (Files): Add it.
25408         (Makefile.am): Compile it for test-locale-c++.
25409         * tests/test-math-c++2.cc: New file.
25410         * modules/math-tests (Files): Add it.
25411         (Makefile.am): Compile it for test-math-c++.
25412         * tests/test-signal-c++2.cc: New file.
25413         * modules/signal-tests (Files): Add it.
25414         (Makefile.am): Compile it for test-signal-c++.
25415         * tests/test-stdio-c++2.cc: New file.
25416         * modules/stdio-tests (Files): Add it.
25417         (Makefile.am): Compile it for test-stdio-c++.
25418         * tests/test-stdlib-c++2.cc: New file.
25419         * modules/stdlib-tests (Files): Add it.
25420         (Makefile.am): Compile it for test-stdlib-c++.
25421         * tests/test-string-c++2.cc: New file.
25422         * modules/string-tests (Files): Add it.
25423         (Makefile.am): Compile it for test-string-c++.
25424         * tests/test-time-c++2.cc: New file.
25425         * modules/time-tests (Files): Add it.
25426         (Makefile.am): Compile it for test-time-c++.
25427         Reported by John W. Eaton <jwe@gnu.org>.
25428
25429 2010-03-13  Bruno Haible  <bruno@clisp.org>
25430
25431         * gnulib-tool (func_usage): Clarify which options are available for
25432         --create-testdir and --create-megatestdir.
25433
25434 2010-03-13  Bruno Haible  <bruno@clisp.org>
25435
25436         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
25437         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
25438         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
25439         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
25440         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
25441         when appropriate.
25442         Reported by Jim Meyering.
25443
25444 2010-03-12  Simon Josefsson  <simon@josefsson.org>
25445
25446         * gnulib-tool (func_import): Explain origin of code.
25447
25448 2010-03-12  Bruno Haible  <bruno@clisp.org>
25449
25450         Fix problem with automake's definition of CXXLINK.
25451         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
25452         Reported by Simon Josefsson and Ludovic Courtès.
25453
25454 2010-03-12  Bruno Haible  <bruno@clisp.org>
25455
25456         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
25457         stable releases.
25458
25459 2010-03-11  Bruno Haible  <bruno@clisp.org>
25460
25461         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
25462         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
25463         whether the system provides one variant or multiple variants of the
25464         function.
25465         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
25466         C++ compilers.
25467         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
25468         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
25469         Reported by Jim Meyering.
25470
25471 2010-03-09  Simon Josefsson  <simon@josefsson.org>
25472
25473         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
25474
25475 2010-03-08  Bruno Haible  <bruno@clisp.org>
25476
25477         gnulib-tool: Add support for --libtool in --create-testdir.
25478         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
25479         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
25480
25481 2010-03-08  Eric Blake  <eblake@redhat.com>
25482
25483         gnulib-tool.texi: mention possibility of git submodule
25484         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
25485         submodules.
25486         * doc/.gitignore: Ignore another generated file.
25487
25488 2010-03-08  Karl Berry  <karl@gnu.org>
25489
25490         * doc/gnulib-tool.texi (VCS Issues): Mention third option
25491         of committing gnulib files while skipping others.
25492
25493 2010-03-07  Bruno Haible  <bruno@clisp.org>
25494
25495         Tests of module 'wctype' in C++ mode.
25496         * tests/test-wctype-c++.cc: New file.
25497         * modules/wctype-tests (Files): Add it and tests/signature.h.
25498         (Depends-on): Add ansi-c++-opt.
25499         (Makefile.am): Arrange to compile and run test-wctype-c++.
25500
25501         Tests of module 'wchar' in C++ mode.
25502         * tests/test-wchar-c++.cc: New file.
25503         * modules/wchar-tests (Files): Add it and tests/signature.h.
25504         (Depends-on): Add ansi-c++-opt.
25505         (Makefile.am): Arrange to compile and run test-wchar-c++.
25506         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
25507         gl_MODULE_INDICATOR.
25508
25509         Tests of module 'unistd' in C++ mode.
25510         * tests/test-unistd-c++.cc: New file.
25511         * modules/unistd-tests (Files): Add it and tests/signature.h.
25512         (Depends-on): Add ansi-c++-opt.
25513         (Makefile.am): Arrange to compile and run test-unistd-c++.
25514         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
25515         gl_MODULE_INDICATOR.
25516
25517         Tests of module 'time' in C++ mode.
25518         * tests/test-time-c++.cc: New file.
25519         * modules/time-tests (Files): Add it and tests/signature.h.
25520         (Depends-on): Add ansi-c++-opt.
25521         (Makefile.am): Arrange to compile and run test-time-c++.
25522         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25523
25524         Tests of module 'sys_time' in C++ mode.
25525         * tests/test-sys_time-c++.cc: New file.
25526         * modules/sys_time-tests (Files): Add it and tests/signature.h.
25527         (Depends-on): Add ansi-c++-opt.
25528         (Makefile.am): Arrange to compile and run test-sys_time-c++.
25529         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
25530         gl_MODULE_INDICATOR.
25531
25532         Tests of module 'sys_stat' in C++ mode.
25533         * tests/test-sys_stat-c++.cc: New file.
25534         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
25535         (Depends-on): Add ansi-c++-opt.
25536         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
25537         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
25538         gl_MODULE_INDICATOR.
25539
25540         Tests of module 'sys_socket' in C++ mode.
25541         * tests/test-sys_socket-c++.cc: New file.
25542         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
25543         (Depends-on): Add ansi-c++-opt.
25544         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
25545         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
25546         gl_MODULE_INDICATOR.
25547
25548         Tests of module 'sys_select' in C++ mode.
25549         * tests/test-sys_select-c++.cc: New file.
25550         * modules/sys_select-tests (Files): Add it and tests/signature.h.
25551         (Depends-on): Add ansi-c++-opt.
25552         (Makefile.am): Arrange to compile and run test-sys_select-c++.
25553         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
25554         gl_MODULE_INDICATOR.
25555
25556         Tests of module 'sys_ioctl' in C++ mode.
25557         * tests/test-sys_ioctl-c++.cc: New file.
25558         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
25559         (Depends-on): Add ansi-c++-opt.
25560         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
25561         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
25562         gl_MODULE_INDICATOR.
25563
25564         Tests of module 'string' in C++ mode.
25565         * tests/test-string-c++.cc: New file.
25566         * modules/string-tests (Files): Add it and tests/signature.h.
25567         (Depends-on): Add ansi-c++-opt.
25568         (Makefile.am): Arrange to compile and run test-string-c++.
25569         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
25570         gl_MODULE_INDICATOR.
25571
25572         Tests of module 'stdlib' in C++ mode.
25573         * tests/test-stdlib-c++.cc: New file.
25574         * modules/stdlib-tests (Files): Add it and tests/signature.h.
25575         (Depends-on): Add ansi-c++-opt.
25576         (Makefile.am): Arrange to compile and run test-stdlib-c++.
25577         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
25578         gl_MODULE_INDICATOR.
25579
25580         Tests of module 'stdio' in C++ mode.
25581         * tests/test-stdio-c++.cc: New file.
25582         * modules/stdio-tests (Files): Add it and tests/signature.h.
25583         (Depends-on): Add ansi-c++-opt.
25584         (Makefile.am): Arrange to compile and run test-stdio-c++.
25585         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
25586         gl_MODULE_INDICATOR.
25587
25588         Tests of module 'spawn' in C++ mode.
25589         * tests/test-spawn-c++.cc: New file.
25590         * modules/spawn-tests (Files): Add it and tests/signature.h.
25591         (Depends-on): Add ansi-c++-opt.
25592         (Makefile.am): Arrange to compile and run test-spawn-c++.
25593         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
25594         gl_MODULE_INDICATOR.
25595
25596         Tests of module 'signal' in C++ mode.
25597         * tests/test-signal-c++.cc: New file.
25598         * modules/signal-tests (Files): Add it and tests/signature.h.
25599         (Depends-on): Add ansi-c++-opt.
25600         (Makefile.am): Arrange to compile and run test-signal-c++.
25601         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
25602         gl_MODULE_INDICATOR.
25603
25604         Tests of module 'search' in C++ mode.
25605         * tests/test-search-c++.cc: New file.
25606         * modules/search-tests (Files): Add it and tests/signature.h.
25607         (Depends-on): Add ansi-c++-opt.
25608         (Makefile.am): Arrange to compile and run test-search-c++.
25609         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
25610         gl_MODULE_INDICATOR.
25611
25612         Tests of module 'math' in C++ mode.
25613         * tests/test-math-c++.cc: New file.
25614         * modules/math-tests (Files): Add it and tests/signature.h.
25615         (Depends-on): Add ansi-c++-opt.
25616         (Makefile.am): Arrange to compile and run test-math-c++.
25617         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25618
25619         Tests of module 'locale' in C++ mode.
25620         * tests/test-locale-c++.cc: New file.
25621         * modules/locale-tests (Files): Add it and tests/signature.h.
25622         (Depends-on): Add ansi-c++-opt.
25623         (Makefile.am): Arrange to compile and run test-locale-c++.
25624         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
25625         gl_MODULE_INDICATOR.
25626
25627         Tests of module 'langinfo' in C++ mode.
25628         * tests/test-langinfo-c++.cc: New file.
25629         * modules/langinfo-tests (Files): Add it and tests/signature.h.
25630         (Depends-on): Add ansi-c++-opt.
25631         (Makefile.am): Arrange to compile and run test-langinfo-c++.
25632         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
25633         gl_MODULE_INDICATOR.
25634
25635         Tests of module 'iconv-h' in C++ mode.
25636         * tests/test-iconv-h-c++.cc: New file.
25637         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
25638         (Depends-on): Add ansi-c++-opt.
25639         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
25640
25641         Tests of module 'glob' in C++ mode.
25642         * tests/test-glob-c++.cc: New file.
25643         * modules/glob-tests (Files): Add it.
25644         (Depends-on): Add ansi-c++-opt.
25645         (Makefile.am): Arrange to compile and run test-glob-c++.
25646
25647         Tests of module 'fcntl-h' in C++ mode.
25648         * tests/test-fcntl-h-c++.cc: New file.
25649         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
25650         (Depends-on): Add ansi-c++-opt.
25651         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
25652         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
25653         gl_MODULE_INDICATOR.
25654
25655         Tests of module 'dirent' in C++ mode.
25656         * tests/test-dirent-c++.cc: New file.
25657         * modules/dirent-tests (Files): Add it and tests/signature.h.
25658         (Depends-on): Add ansi-c++-opt.
25659         (Makefile.am): Arrange to compile and run test-dirent-c++.
25660         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
25661         gl_MODULE_INDICATOR.
25662
25663         New module 'ansi-c++-opt'.
25664         * modules/ansi-c++-opt: New file.
25665         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
25666
25667         Document C++ namespace mode.
25668         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
25669
25670         wctype: Avoid #define replacements in C++ mode.
25671         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
25672         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
25673         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
25674         In C++, define a namespaced alias symbol.
25675         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
25676         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
25677         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
25678         rule.
25679
25680         wchar: Avoid #define replacements in C++ mode.
25681         * lib/wchar.in.h: Include c++defs.h.
25682         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
25683         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
25684         symbol.
25685         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
25686         * modules/wchar (Depends-on): Add c++defs.
25687         (Makefile.am): Update wchar.h rule.
25688
25689         unistd: Avoid #define replacements in C++ mode.
25690         * lib/unistd.in.h: Include c++defs.h.
25691         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
25692         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
25693         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
25694         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
25695         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
25696         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
25697         symbol.
25698         (environ): Update.
25699         * modules/unistd (Depends-on): Add c++defs.
25700         (Makefile.am): Update unistd.h rule.
25701
25702         time: Avoid #define replacements in C++ mode.
25703         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
25704         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
25705         define a namespaced alias symbol.
25706         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
25707         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
25708         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
25709         * modules/time (Depends-on): Add c++defs, warn-on-use.
25710         (Makefile.am): Update time.h rule.
25711         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
25712         * modules/nanosleep (configure.ac): Likewise.
25713         * modules/strptime (configure.ac): Likewise.
25714         * modules/timegm (configure.ac): Likewise.
25715
25716         sys_time: Avoid #define replacements in C++ mode.
25717         * lib/sys_time.in.h: Include c++defs.h.
25718         (gettimeofday): In C++, define a namespaced alias symbol.
25719         * modules/sys_time (Depends-on): Add c++defs.
25720         (Makefile.am): Update sys/time.h rule.
25721
25722         sys_stat: Avoid #define replacements in C++ mode.
25723         * lib/sys_stat.in.h: Include c++defs.h.
25724         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
25725         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
25726         namespaced alias symbol.
25727         In C++, define a namespaced alias symbol.
25728         * modules/sys_stat (Depends-on): Add c++defs.
25729         (Makefile.am): Update sys/stat.h rule.
25730
25731         sys_socket: Avoid #define replacements in C++ mode.
25732         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
25733         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
25734         definitions also when the system has a <sys/socket.h>.
25735         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
25736         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
25737         In C++, define a namespaced alias symbol.
25738         * modules/sys_socket (Depends-on): Add c++defs.
25739         (Makefile.am): Update sys/socket.h rule.
25740
25741         sys_select: Avoid #define replacements in C++ mode.
25742         * lib/sys_select.in.h: Include c++defs.h. Enable the function
25743         definitions also when the system has a <sys/select.h>.
25744         (select): In C++, define a namespaced alias symbol.
25745         * modules/sys_select (Depends-on): Add c++defs.
25746         (Makefile.am): Update sys/select.h rule.
25747
25748         sys_ioctl: Avoid #define replacements in C++ mode.
25749         * lib/sys_ioctl.in.h: Include c++defs.h.
25750         (ioctl): In C++, define a namespaced alias symbol.
25751         * modules/sys_ioctl (Depends-on): Add c++defs.
25752         (Makefile.am): Update sys/ioctl.h rule.
25753
25754         string: Avoid #define replacements in C++ mode.
25755         * lib/string.in.h: Include c++defs.h.
25756         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
25757         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
25758         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
25759         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
25760         strsignal, strverscmp): In C++, define a namespaced alias symbol.
25761         * modules/string (Depends-on): Add c++defs.
25762         (Makefile.am): Update string.h rule.
25763
25764         stdlib: Avoid #define replacements in C++ mode.
25765         * lib/stdlib.in.h: Include c++defs.h.
25766         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
25767         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
25768         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
25769         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
25770         symbol.
25771         * modules/stdlib (Depends-on): Add c++defs.
25772         (Makefile.am): Update stdlib.h rule.
25773
25774         stdio: Avoid #define replacements in C++ mode.
25775         * lib/stdio.in.h: Include c++defs.h.
25776         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
25777         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
25778         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
25779         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
25780         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
25781         namespaced alias symbol.
25782         * modules/stdio (Depends-on): Add c++defs.
25783         (Makefile.am): Update stdio.h rule.
25784
25785         spawn: Avoid #define replacements in C++ mode.
25786         * lib/spawn.in.h: Include c++defs.h.
25787         (posix_spawn, posix_spawnp, posix_spawnattr_init,
25788         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
25789         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
25790         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
25791         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
25792         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
25793         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
25794         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
25795         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
25796         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
25797         In C++, define a namespaced alias symbol.
25798         * modules/spawn (Depends-on): Add c++defs.
25799         (Makefile.am): Update spawn.h rule.
25800
25801         signal: Avoid #define replacements in C++ mode.
25802         * lib/signal.in.h: Include c++defs.h.
25803         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
25804         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
25805         namespaced alias symbol.
25806         * modules/signal (Depends-on): Add c++defs.
25807         (Makefile.am): Update signal.h rule.
25808
25809         search: Avoid #define replacements in C++ mode.
25810         * lib/search.in.h: Include c++defs.h.
25811         (_gl_search_compar_fn, _gl_search_action_fn): New types.
25812         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
25813         symbol.
25814         * modules/search (Depends-on): Add c++defs.
25815         (Makefile.am): Update search.h rule.
25816
25817         math: Avoid #define replacements in C++ mode.
25818         * lib/math.in.h: Include c++defs.h.
25819         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
25820         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
25821         trunc, truncl): In C++, define a namespaced alias symbol.
25822         * modules/math (Depends-on): Add c++defs.
25823         (Makefile.am): Update math.h rule.
25824
25825         locale: Avoid #define replacements in C++ mode.
25826         * lib/locale.in.h: Include c++defs.h.
25827         (duplocale): In C++, define a namespaced alias symbol.
25828         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
25829         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
25830         * modules/locale (Depends-on): Add c++defs.
25831         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
25832
25833         langinfo: Avoid #define replacements in C++ mode.
25834         * lib/langinfo.in.h: Include c++defs.h.
25835         (nl_langinfo): In C++, define a namespaced alias symbol.
25836         * modules/langinfo (Depends-on): Add c++defs.
25837         (Makefile.am): Update langinfo.h rule.
25838
25839         iconv-h: Avoid #define replacements in C++ mode.
25840         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
25841         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
25842         symbol.
25843         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
25844         whenever iconv is present.
25845         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
25846         (Makefile.am): Update iconv.h rule.
25847
25848         glob: Avoid #define replacements in C++ mode.
25849         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
25850         (_gl_glob_errfunc_fn): New type.
25851         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
25852         symbol.
25853         * modules/glob (Depends-on): Add c++defs, warn-on-use.
25854         (Makefile.am): Update glob.h rule.
25855
25856         fcntl-h: Avoid #define replacements in C++ mode.
25857         * lib/fcntl.in.h: Include c++defs.h.
25858         (fcntl, open, openat): In C++, define a namespaced alias symbol.
25859         * modules/fcntl-h (Depends-on): Add c++defs.
25860         (Makefile.am): Update fcntl.h rule.
25861
25862         dirent: Avoid #define replacements in C++ mode.
25863         * lib/dirent.in.h: Include c++defs.h.
25864         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
25865         namespaced alias symbol.
25866         (dirfd): Update declaration.
25867         * modules/dirent (Depends-on): Add c++defs.
25868         (Makefile.am): Update dirent.h rule.
25869
25870         ctype: Make it usable in C++ code.
25871         * lib/ctype.in.h: Include c++defs.h.
25872         (isblank): Declare as extern "C".
25873         * modules/ctype (Depends-on): Add c++defs.
25874         (Makefile.am): Update ctype.h rule.
25875
25876         New module 'c++defs'.
25877         * modules/c++defs: New file.
25878         * build-aux/c++defs.h: New file.
25879         Reported by John W. Eaton <jwe@gnu.org>.
25880
25881 2010-03-07  Bruno Haible  <bruno@clisp.org>
25882
25883         logb: Provide missing declaration for Cygwin.
25884         * lib/math.in.h (logb): New declaration.
25885         * m4/logb.m4: New file.
25886         * modules/logb (Files): Add m4/logb.m4.
25887         (Depends-on): Add math.
25888         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
25889         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
25890         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
25891         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
25892         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
25893
25894 2010-03-07  Bruno Haible  <bruno@clisp.org>
25895
25896         Fix test-cond link error.
25897         * tests/test-cond.c: Include <stdio.h>.
25898
25899 2010-03-07  Bruno Haible  <bruno@clisp.org>
25900
25901         Fix test-dirent-safer link error.
25902         * modules/dirent-safer-tests (Makefile.am): Define
25903         test_dirent_safer_LDADD.
25904
25905 2010-03-07  Bruno Haible  <bruno@clisp.org>
25906
25907         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
25908         among default module list.
25909
25910 2010-03-07  Bruno Haible  <bruno@clisp.org>
25911
25912         Fix link error on platforms with GNU libiconv.
25913         * modules/unistr/u8-strcoll-tests (Makefile): Define
25914         test_u8_strcoll_LDADD.
25915         * modules/unistr/u16-strcoll-tests (Makefile): Define
25916         test_u16_strcoll_LDADD.
25917         * modules/unistr/u32-strcoll-tests (Makefile): Define
25918         test_u32_strcoll_LDADD.
25919
25920 2010-03-07  Bruno Haible  <bruno@clisp.org>
25921
25922         Use POSIX declarations for socket functions.
25923         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
25924         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
25925         rpl_sendto): Change declaration to match POSIX.
25926         * lib/connect.c (rpl_connect): Likewise.
25927         * lib/accept.c (rpl_accept): Likewise.
25928         * lib/bind.c (rpl_bind): Likewise.
25929         * lib/getpeername.c (rpl_getpeername): Likewise.
25930         * lib/getsockname.c (rpl_getsockname): Likewise.
25931         * lib/recv.c (rpl_recv): Likewise.
25932         * lib/send.c (rpl_send): Likewise.
25933         * lib/recvfrom.c (rpl_recvfrom): Likewise.
25934         * lib/sendto.c (rpl_sendto): Likewise.
25935
25936 2010-03-06  Bruno Haible  <bruno@clisp.org>
25937
25938         Clarify access, euidaccess, faccessat.
25939         * doc/posix-functions/faccessat.texi: Mention security problem under
25940         "Other problems", not "Portability problems".
25941         * doc/posix-functions/access.texi: Likewise. Mention a related security
25942         problem.
25943         * doc/glibc-functions/euidaccess.texi: Mention security problems.
25944         * lib/euidaccess.c: Add comments about platforms.
25945         * lib/unistd.in.h (access, euidaccess): Add warnings.
25946
25947 2010-03-07  Bruno Haible  <bruno@clisp.org>
25948
25949         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
25950         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
25951         (POSIX_SPAWN_SETSCHEDULER): Likewise.
25952         (POSIX_SPAWN_USEVFORK): Define in a way that works when
25953         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
25954         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
25955         declare when POSIX_SPAWN_SETSCHEDULER is zero.
25956         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
25957         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
25958         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
25959         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
25960         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
25961         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
25962         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
25963         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
25964         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
25965         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
25966         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
25967         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
25968         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
25969         Likewise.
25970         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
25971         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
25972         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
25973         Likewise.
25974         * tests/test-spawn.c (main): Make it work when
25975         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
25976
25977 2010-03-07  Bruno Haible  <bruno@clisp.org>
25978
25979         Fix incorrect Makefile.am generation in German locale.
25980         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
25981         Execute sed command with character range in C locale.
25982
25983 2010-03-06  Bruno Haible  <bruno@clisp.org>
25984
25985         Tests for module 'iconv-h'.
25986         * modules/iconv-h-tests: New file.
25987         * tests/test-iconv-h.c: New file.
25988
25989         New module 'iconv-h'.
25990         * modules/iconv-h: New file.
25991         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
25992         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
25993         (configure.ac): Remove gl_ICONV_H.
25994         (Makefile.am): Remove rule for iconv.h.
25995
25996 2010-03-06  Bruno Haible  <bruno@clisp.org>
25997
25998         More consistent naming of *.m4 files.
25999         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
26000         * modules/wctype (Files): Update.
26001
26002         More consistent naming of *.m4 files.
26003         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
26004         * modules/wchar (Files): Update.
26005
26006 2010-03-06  Jim Meyering  <meyering@redhat.com>
26007
26008         euidaccess: relax license to LGPLv2+
26009         * modules/euidaccess (License): Relax to LGPLv2+.
26010
26011 2010-03-06  Bruno Haible  <bruno@clisp.org>
26012
26013         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
26014         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
26015         (Makefile.am): Augment lib_SOURCES instead.
26016
26017 2010-03-04  Jim Meyering  <meyering@redhat.com>
26018
26019         utime: remove obsolete module
26020         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
26021         unnecessary for years, and has been marked as obsolete for 10 months.
26022         * modules/utime: Remove file.
26023         * lib/utime.c: Remove file.
26024         * m4/utime.m4: Remove file.
26025         * m4/utimes-null.m4: Remove file.
26026         * doc/posix-functions/utime.texi (utime): Remove reference to
26027         the module.  Move the sole "fixed by gnulib" item into the
26028         "problems not fixed by Gnulib" list.
26029         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
26030
26031 2010-03-05  Simon Josefsson  <simon@josefsson.org>
26032
26033         * modules/exit (License): Relax license to LGPLv2+.
26034         (Status): Mark as obsolete.
26035         * NEWS: Mention deprecated 'exit' module.
26036         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
26037         of now obsolete 'exit'.
26038
26039 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26040
26041         fts-lgpl: remove unused module
26042         * modules/fts-lgpl: Remove.
26043         * MODULES.html.sh (func_all_modules): Adjust.
26044         * check-module (find_included_lib_files): Adjust.
26045         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
26046
26047 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
26048
26049         copy-acl: enhance Solaris ACL error handling
26050         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
26051         * lib/set-mode-acl.c (qset_acl): Likewise.
26052
26053 2010-03-02  Bruno Haible  <bruno@clisp.org>
26054
26055         spawn: Don't override the system defined values on FreeBSD 8.
26056         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
26057         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
26058         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
26059         if HAVE_POSIX_SPAWN is 1.
26060         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
26061
26062 2010-03-01  Bruno Haible  <bruno@clisp.org>
26063
26064         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
26065         regarding Automake.
26066
26067 2010-02-25  Bruno Haible  <bruno@clisp.org>
26068
26069         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
26070         * gnulib-tool: Define 'echo' as a function only before the ksh alias
26071         setting, not afterwards.
26072         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
26073
26074 2010-02-24  Eric Blake  <eblake@redhat.com>
26075
26076         bootstrap, git-version-gen: use timestamp
26077         * build-aux/git-version-gen (scriptversion): Force UTC.
26078         * build-aux/bootstrap (scriptversion): New variable.
26079
26080         bootstrap: allow older git
26081         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
26082         older than 1.6.4.  Requested by the libvirt project.
26083
26084 2010-02-23  Eric Blake  <eblake@redhat.com>
26085
26086         warn-on-use: work with old autoconf
26087         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
26088         AS_VAR semantics of autoconf 2.60.
26089         Reported by Bruno Haible.
26090
26091         bootstrap: improve some comments
26092         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
26093         clarification comments.
26094
26095         gettimeofday: provide correct function
26096         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
26097         when replacement is declared, otherwise provide gettimeofday.
26098         Reported by Michael Goffioul.
26099
26100 2010-02-23  Jim Meyering  <meyering@redhat.com>
26101
26102         lib-ignore: relax license to "unlimited", not LGPLv2+
26103         * modules/lib-ignore (License): Relax to "unlimited".
26104
26105 2010-02-23  Jim Meyering  <meyering@redhat.com>
26106
26107         lib-ignore: relax license to LGPLv2+
26108         * modules/lib-ignore (License): Relax to LGPLv2+.
26109
26110 2010-02-22  Eric Blake  <eblake@redhat.com>
26111
26112         lseek: avoid bash 3.2 broken pipe bug
26113         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
26114         warning from bash 3.2.
26115         Reported by Ben Pfaff, with analysis from Bruno Haible.
26116
26117         bootstrap: support non-FSF copyright holder
26118         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
26119         bootstrap.conf override of COPYRIGHT_HOLDER.
26120         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
26121
26122         bootstrap: interoperate with gettext 0.14.1
26123         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
26124
26125         bootstrap: allow for alternate submodule location
26126         * build-aux/bootstrap (gnulib_path): New variable; use instead of
26127         hardcoding submodule location.
26128         (gnulib_mk): Allow direct use of Makefile.am.
26129
26130         bootstrap: use GNULIB_SRCDIR to reduce disk usage
26131         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
26132         rather than reconfiguring where the submodule points.
26133
26134         gettimeofday: restore support for platforms that lack function
26135         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
26136         replacement if function is missing.
26137         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
26138         * modules/sys_time (Makefile.am): Substitute it.
26139         * lib/sys_time.in.h (gettimeofday): Check it.
26140         Reported by Michael Goffioul.
26141
26142 2010-02-21  Bruno Haible  <bruno@clisp.org>
26143
26144         * lib/stdio.in.h (obstack_printf): Fix typo.
26145
26146 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
26147
26148         vc-list-files: use bzr ls's -R option
26149         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
26150         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
26151
26152 2010-02-21  Jim Meyering  <meyering@redhat.com>
26153
26154         init.sh: fix EXEEXT shims to work also for names like test-prog
26155         * tests/init.sh: Re-exec a better shell, when needed.
26156         If the current shell lacks support for posix $(...), an init.sh-using
26157         test will now try to find a shell that supports that.  If EXEEXT is
26158         nonempty, we also require support for hyphen-in-alias-name and shell
26159         substitutions like ${var#glob}.  Failure to find such a shell results
26160         in a skipped test.
26161
26162 2010-02-21  Bruno Haible  <bruno@clisp.org>
26163
26164         Really work around around "broken pipe" error message from bash 3.2.
26165         * gnulib-tool (func_reset_sigpipe): Remove function.
26166         (echo): In bash 3.2, define to a function that uses printf.
26167         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
26168
26169 2010-02-20  Bruno Haible  <bruno@clisp.org>
26170
26171         Restore support for automake 1.9.6 with autoconf 2.61.
26172         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
26173         Reported by James Youngman <jay@gnu.org>.
26174
26175 2010-02-20  Bruno Haible  <bruno@clisp.org>
26176
26177         Improve *printf warning condition.
26178         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
26179         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
26180         and the function is overridden due to SIGPIPE emulation.
26181
26182 2010-02-20  Bruno Haible  <bruno@clisp.org>
26183
26184         * lib/stdio.in.h: Tweak comments.
26185
26186 2010-02-19  Bruno Haible  <bruno@clisp.org>
26187
26188         Make it easier to find modules. New gnulib-tool option '--find'.
26189         * gnulib-tool: New option --find.
26190         (func_usage): Document it.
26191         (func_sanitize_modulelist): New function, extracted from
26192         func_all_modules.
26193         (func_all_modules): Invoke it.
26194         * doc/gnulib-tool.texi (Which modules?): New node.
26195
26196 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
26197
26198         * lib/sys_select.in.h: Provide select replacement even if
26199         sys/select.h exists on a system, for Interix.
26200
26201 2010-02-18  Jim Meyering  <meyering@redhat.com>
26202
26203         init.sh: don't use $(...) just yet
26204         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
26205         to accommodate e.g., Solaris' /bin/sh.
26206
26207 2010-02-17  Bruno Haible  <bruno@clisp.org>
26208
26209         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
26210         Reported by Ludovic Courtès <ludo@gnu.org>.
26211
26212 2010-02-16  Simon Josefsson  <simon@josefsson.org>
26213
26214         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
26215         linking with -lintl.
26216
26217 2010-02-17  Simon Josefsson  <simon@josefsson.org>
26218
26219         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
26220         if not provided by the system's netdb.h.  Reported by
26221         ludo@gnu.org (Ludovic Courtès).
26222
26223 2010-02-15  Jim Meyering  <meyering@redhat.com>
26224
26225         init.sh: improve portability and efficiency
26226         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
26227         "dummy" in a for loop.
26228         Use '!', not '^' to select the complement of a character set used
26229         in a "case" statement.
26230         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
26231         Suggestions from Eric Blake.
26232
26233         init.sh: automatically accommodate programs with the .exe suffix
26234         Automatically arrange for an invocation of "prog" to execute the
26235         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
26236         may use the simpler "prog", yet still work when built on a system
26237         that requires specifying the added suffix.
26238         Do this by constructing a function named "prog" that invokes
26239         "prog.exe" for each .exe file in selected directories.
26240         * tests/init.sh (find_exe_basenames_): New function.
26241         (create_exe_shim_functions_): New function.
26242         (path_prepend_): Use it.
26243
26244         maint.mk: mark syntax-check sc_*.m rules as .PHONY
26245         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
26246         "make -t syntax-check" doesn't create a ton of sc_*.m files.
26247
26248 2010-02-14  Jim Meyering  <meyering@redhat.com>
26249
26250         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
26251         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
26252         (sc_prohibit_hash_pjw_without_use): New rule.
26253
26254         maint.mk: allow the default upload destination dir to be overridden
26255         * top/maint.mk (upload_dest_dir_): Define with a default that
26256         preserves the status quo.
26257         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
26258         Reported by Peter Simons.
26259
26260         maint.mk: prohibit inclusion of "hash.h" without_use
26261         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
26262
26263 2010-02-10  Jim Meyering  <meyering@redhat.com>
26264
26265         maint.mk: prohibit inclusion of "ignore-value.h" without_use
26266         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
26267
26268 2010-02-09  Eric Blake  <ebb9@byu.net>
26269         and Bruno Haible  <bruno@clisp.org>
26270
26271         obstack-printf-posix: ensure declaration
26272         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
26273         extracted from gl_FUNC_OBSTACK_PRINTF.
26274         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
26275         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
26276         Likewise.
26277         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
26278         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
26279         0.
26280
26281 2010-02-08  Bruno Haible  <bruno@clisp.org>
26282
26283         gnulib-tool: Fix typo in 2010-02-07 commit.
26284         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
26285         Reported by Eric Blake.
26286
26287 2010-02-07  Bruno Haible  <bruno@clisp.org>
26288
26289         gnulib-tool: Fix up caching patches.
26290         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
26291         option --no-cache. Use associative arrays when supported by the shell.
26292         (sed_comments): New variable.
26293         (modcache): Renamed from do_cache.
26294         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
26295         abbreviate unnecessarily.
26296         (have_associative): New variable.
26297         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
26298         way also for ksh and zsh.
26299         (func_init_sed_convert_to_cache_statements): New function, extracted
26300         from func_cache_lookup_module. Add support for associative arrays.
26301         Don't set the c_MODULE_cached variable here. Ignore all lines before
26302         the first field header. Remove only the final newline, not all trailing
26303         newlines. Support empty fields correctly. Limit the use of 'eval' to
26304         assignments.
26305         (func_get_description, func_get_status, func_get_notice,
26306         func_get_applicability, func_get_filelist, func_get_dependencies,
26307         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
26308         func_get_automake_snippet, func_get_include_directive,
26309         func_get_link_directive, func_get_license, func_get_maintainer):
26310         Update documentation. List the unoptimized code first. Add support for
26311         associative arrays. Limit the use of 'eval' to assignments.
26312         (func_get_applicability): Undo stylistic pessimisations.
26313         (func_get_automake_snippet, func_get_include_directive): Reduce code
26314         duplication.
26315         (func_modules_transitive_closure, func_modules_add_dummy,
26316         func_modules_notice, func_modules_to_filelist, func_add_file,
26317         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
26318         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
26319         func_create_testdir, func_create_megatestdir): Update documentation.
26320
26321 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26322
26323         * gnulib-tool (func_cache_lookup_module): Store the module name
26324         belonging to the cache variable; error out if two different
26325         module names map to the same cache variable name.
26326
26327 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26328
26329         gnulib-tool: Make caching optional.
26330         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
26331         Update matching short versions of --no-changelog.
26332         (func_usage): Update.
26333         (sed_extract_cache_prog): Renamed from ...
26334         (sed_extract_prog): ... this; revert to old extraction script.
26335         (func_get_description, func_get_status)
26336         (func_get_notice, func_get_applicability, func_get_filelist)
26337         (func_get_dependencies, func_get_autoconf_early_snippet)
26338         (func_get_autoconf_snippet, func_get_automake_snippet)
26339         (func_get_include_directive, func_get_link_directive)
26340         (func_get_license, func_get_maintainer): If $do_cache is false,
26341         use old, non-caching extraction scripts.
26342         Suggestion by Bruno Haible.
26343
26344 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26345
26346         gnulib-tool: cache module metainformation.
26347         * gnulib-tool (sed_extract_prog): Match newline before each
26348         header, and rewrite header to a shell variable suffix.
26349         (func_cache_var, func_cache_lookup_module): New functions,
26350         to turn a module name into a cache variable prefix, and to
26351         look up and cache module metainformation.
26352         (func_get_description, func_get_status)
26353         (func_get_notice, func_get_applicability, func_get_filelist)
26354         (func_get_dependencies, func_get_autoconf_early_snippet)
26355         (func_get_autoconf_snippet, func_get_automake_snippet)
26356         (func_get_include_directive, func_get_link_directive)
26357         (func_get_license, func_get_maintainer): Use
26358         func_cache_lookup_module.
26359
26360 2010-02-07  Bruno Haible  <bruno@clisp.org>
26361
26362         fnctl: Fix missing dependency.
26363         * modules/fcntl (Depends-on): Add getdtablesize.
26364         Reported by John W. Eaton <jwe@gnu.org>.
26365
26366 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26367
26368         Argp: fix recognition of short alias options.
26369
26370         * lib/argp-parse.c (convert_options): Fix improper use of
26371         `|' between character values.
26372         * tests/test-argp.c (group1_option): New alias option
26373         --read (-r).
26374         (group1_parser): Special handling for 'r'.
26375         (test15): New test case.
26376         (test_fun): Add test15.
26377         * tests/test-argp-2.sh: Update expected --help and --usage
26378         outputs.
26379
26380 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26381
26382         * tests/test-argp.c: Fix indentation.
26383
26384 2010-02-04  Eric Blake  <ebb9@byu.net>
26385
26386         gettimeofday: expose type of second argument
26387         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
26388         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
26389         * tests/test-gettimeofday.c: Use it to silence warning.
26390         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
26391         the issue.
26392
26393 2010-02-03  Jim Meyering  <meyering@redhat.com>
26394
26395         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
26396         * lib/regcomp.c (TYPE_SIGNED): Define.
26397         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
26398
26399         regcomp.c: avoid a new -Wshadow warning
26400         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
26401
26402 2010-02-01  Jim Meyering  <meyering@redhat.com>
26403
26404         removing useless parentheses in cpp #define directives
26405         For motivation, see commit c0221df4, "define STREQ(a,b)
26406         consistently, removing useless parentheses"
26407         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
26408         * lib/mountlist.c (MNT_IGNORE): Likewise.
26409         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
26410
26411 2010-02-01  Eric Blake  <ebb9@byu.net>
26412
26413         sys_time: use link-warning
26414         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
26415         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
26416         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
26417         * modules/sys_time (Depends-on): Add warn-on-use.
26418         (Makefile.am): Always build replacement.
26419         (configure.ac): Update substitutions.
26420         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
26421         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
26422         bother with SYS_TIME_H.
26423         * modules/gettimeofday (configure.ac): Declare indicator.
26424         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
26425         in use.
26426
26427         closein-tests: silence compiler warning
26428         * tests/test-closein.c (main): Ignore fread result.
26429         * modules/closein-tests (Depends-on): Add ignore-value.
26430
26431         tests: silence warning about system return
26432         * tests/test-areadlink-with-size.c (main): Ignore system result.
26433         * tests/test-areadlink.c (main): Likewise.
26434         * tests/test-areadlinkat-with-size.c (main): Likewise.
26435         * tests/test-areadlinkat.c (main): Likewise.
26436         * tests/test-canonicalize-lgpl.c (main): Likewise.
26437         * tests/test-canonicalize.c (main): Likewise.
26438         * tests/test-chown.c (main): Likewise.
26439         * tests/test-fchownat.c (main): Likewise.
26440         * tests/test-fdutimensat.c (main): Likewise.
26441         * tests/test-fstatat.c (main): Likewise.
26442         * tests/test-futimens.c (main): Likewise.
26443         * tests/test-lchown.c (main): Likewise.
26444         * tests/test-link.c (main): Likewise.
26445         * tests/test-linkat.c (main): Likewise.
26446         * tests/test-lstat.c (main): Likewise.
26447         * tests/test-mkdir.c (main): Likewise.
26448         * tests/test-mkdirat.c (main): Likewise.
26449         * tests/test-mkfifo.c (main): Likewise.
26450         * tests/test-mkfifoat.c (main): Likewise.
26451         * tests/test-mknod.c (main): Likewise.
26452         * tests/test-readlink.c (main): Likewise.
26453         * tests/test-remove.c (main): Likewise.
26454         * tests/test-rename.c (main): Likewise.
26455         * tests/test-renameat.c (main): Likewise.
26456         * tests/test-rmdir.c (main): Likewise.
26457         * tests/test-symlink.c (main): Likewise.
26458         * tests/test-symlinkat.c (main): Likewise.
26459         * tests/test-unlink.c (main): Likewise.
26460         * tests/test-unlinkat.c (main): Likewise.
26461         * tests/test-utimens.c (main): Likewise.
26462         * tests/test-utimensat.c (main): Likewise.
26463         * modules/areadlink-tests (Depends-on): Add ignore-value.
26464         * modules/areadlink-with-size-tests (Depends-on): Likewise.
26465         * modules/areadlinkat-tests (Depends-on): Likewise.
26466         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
26467         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
26468         * modules/canonicalize-tests (Depends-on): Likewise.
26469         * modules/chown-tests (Depends-on): Likewise.
26470         * modules/fdutimensat-tests (Depends-on): Likewise.
26471         * modules/futimens-tests (Depends-on): Likewise.
26472         * modules/lchown-tests (Depends-on): Likewise.
26473         * modules/link-tests (Depends-on): Likewise.
26474         * modules/linkat-tests (Depends-on): Likewise.
26475         * modules/lstat-tests (Depends-on): Likewise.
26476         * modules/mkdir-tests (Depends-on): Likewise.
26477         * modules/mkfifo-tests (Depends-on): Likewise.
26478         * modules/mkfifoat-tests (Depends-on): Likewise.
26479         * modules/mknod-tests (Depends-on): Likewise.
26480         * modules/openat-tests (Depends-on): Likewise.
26481         * modules/readlink-tests (Depends-on): Likewise.
26482         * modules/remove-tests (Depends-on): Likewise.
26483         * modules/rename-tests (Depends-on): Likewise.
26484         * modules/renameat-tests (Depends-on): Likewise.
26485         * modules/rmdir-tests (Depends-on): Likewise.
26486         * modules/symlink-tests (Depends-on): Likewise.
26487         * modules/symlinkat-tests (Depends-on): Likewise.
26488         * modules/unlink-tests (Depends-on): Likewise.
26489         * modules/utimens-tests (Depends-on): Likewise.
26490         * modules/utimensat-tests (Depends-on): Likewise.
26491
26492 2010-01-31  Bruno Haible  <bruno@clisp.org>
26493
26494         Perform the same test for many <math.h> functions.
26495         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
26496         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
26497         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
26498         of gl_MATHFUNC.
26499         * modules/acos (configure.ac): Likewise.
26500         * modules/asin (configure.ac): Likewise.
26501         * modules/atan (configure.ac): Likewise.
26502         * modules/atan2 (configure.ac): Likewise.
26503         * modules/cbrt (configure.ac): Likewise.
26504         * modules/copysign (configure.ac): Likewise.
26505         * modules/cos (configure.ac): Likewise.
26506         * modules/cosh (configure.ac): Likewise.
26507         * modules/erf (configure.ac): Likewise.
26508         * modules/erfc (configure.ac): Likewise.
26509         * modules/exp (configure.ac): Likewise.
26510         * modules/fmod (configure.ac): Likewise.
26511         * modules/hypot (configure.ac): Likewise.
26512         * modules/j0 (configure.ac): Likewise.
26513         * modules/j1 (configure.ac): Likewise.
26514         * modules/jn (configure.ac): Likewise.
26515         * modules/lgamma (configure.ac): Likewise.
26516         * modules/log (configure.ac): Likewise.
26517         * modules/log10 (configure.ac): Likewise.
26518         * modules/log1p (configure.ac): Likewise.
26519         * modules/pow (configure.ac): Likewise.
26520         * modules/remainder (configure.ac): Likewise.
26521         * modules/sin (configure.ac): Likewise.
26522         * modules/sinh (configure.ac): Likewise.
26523         * modules/tan (configure.ac): Likewise.
26524         * modules/tanh (configure.ac): Likewise.
26525         * modules/y0 (configure.ac): Likewise.
26526         * modules/y1 (configure.ac): Likewise.
26527         * modules/yn (configure.ac): Likewise.
26528         Suggested by Paolo Bonzini.
26529
26530 2010-01-31  Bruno Haible  <bruno@clisp.org>
26531
26532         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
26533
26534 2010-01-31  Bruno Haible  <bruno@clisp.org>
26535
26536         Work around getdelim() bug on FreeBSD 8.0.
26537         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
26538         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
26539         not work.
26540         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
26541         is 1.
26542         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
26543         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
26544         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
26545         a non-zero size.
26546         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
26547
26548 2010-01-31  Bruno Haible  <bruno@clisp.org>
26549
26550         Work around getline() bug on FreeBSD 8.0.
26551         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
26552         and a non-zero size.
26553         * tests/test-getline.c (main): Likewise.
26554         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
26555         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
26556
26557 2010-01-28  Eric Blake  <ebb9@byu.net>
26558
26559         regex: fix build failure
26560         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
26561         platforms.
26562
26563 2010-01-28  Jim Meyering  <meyering@redhat.com>
26564
26565         regex: do not ignore memory allocation failure
26566         * lib/regex_internal.c (create_cd_newstate): Detect
26567         re_node_set_init_copy failure.   Extracted from glibc commit
26568         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26569
26570         regex: sync more white-space changes from libc
26571         * lib/regex_internal.c: White-space only changes.
26572         * lib/regexec.c: Likewise.
26573
26574         regex: add many uses of __attribute_warn_unused_result__
26575         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
26576         * lib/regexec.c: Likewise.
26577         Extracted from a messy glibc commit.
26578
26579         regcomp.c: spelling and merge-artifact from glibc
26580         * lib/regcomp.c: Merge remainder of glibc's
26581         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26582
26583         regcomp.c: sync white-space changes from glibc
26584         * lib/regcomp.c: Merge to accommodate white space
26585         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26586
26587         regcomp.c: do not ignore internal return values
26588         * lib/regcomp.c: Do not ignore internal return values.
26589         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
26590         but without its white-space changes and spelling fixes.
26591
26592         regex_internal.h: define __attribute_warn_unused_result__
26593         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
26594
26595         maint: add a syntax-check rule to check for vulnerable Makefile.in
26596         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
26597
26598 2010-01-27  Jim Meyering  <meyering@redhat.com>
26599
26600         ncftpput-ftp: clean up spaces
26601         * build-aux/ncftpput-ftp: Make Copyright line consistent.
26602         Remove trailing blanks.
26603
26604 2010-01-27  Simon Josefsson  <simon@josefsson.org>
26605
26606         * build-aux/git-version-gen: Fix copyright statement.
26607         * build-aux/gnupload: Likewise.
26608         * tests/test-arcfour.c: Likewise.
26609         * tests/test-arctwo.c: Likewise.
26610         * tests/test-count-one-bits.c: Likewise.
26611         * tests/test-crc.c: Likewise.
26612         * tests/test-des.c: Likewise.
26613         * tests/test-gc-arcfour.c: Likewise.
26614         * tests/test-gc-arctwo.c: Likewise.
26615         * tests/test-gc-des.c: Likewise.
26616         * tests/test-gc-hmac-md5.c: Likewise.
26617         * tests/test-gc-hmac-sha1.c: Likewise.
26618         * tests/test-gc-md2.c: Likewise.
26619         * tests/test-gc-md4.c: Likewise.
26620         * tests/test-gc-md5.c: Likewise.
26621         * tests/test-gc-pbkdf2-sha1.c: Likewise.
26622         * tests/test-gc-rijndael.c: Likewise.
26623         * tests/test-gc-sha1.c: Likewise.
26624         * tests/test-gc.c: Likewise.
26625         * tests/test-gethostname.c: Likewise.
26626         * tests/test-gettimeofday.c: Likewise.
26627         * tests/test-hash.c: Likewise.
26628         * tests/test-hmac-md5.c: Likewise.
26629         * tests/test-hmac-sha1.c: Likewise.
26630         * tests/test-md2.c: Likewise.
26631         * tests/test-md4.c: Likewise.
26632         * tests/test-md5.c: Likewise.
26633         * tests/test-memchr.c: Likewise.
26634         * tests/test-memchr2.c: Likewise.
26635         * tests/test-memcmp.c: Likewise.
26636         * tests/test-memmem.c: Likewise.
26637         * tests/test-memrchr.c: Likewise.
26638         * tests/test-rawmemchr.c: Likewise.
26639         * tests/test-read-file.c: Likewise.
26640         * tests/test-rijndael.c: Likewise.
26641         * tests/test-sockets.c: Likewise.
26642         * tests/test-strchrnul.c: Likewise.
26643         * tests/test-strstr.c: Likewise.
26644         * tests/test-strtod.c: Likewise.
26645         * build-aux/ncftpput-ftp: Likewise.
26646
26647 2010-01-26  Eric Blake  <ebb9@byu.net>
26648
26649         ignore-value: update recommended header name
26650         * modules/ignore-value (Include): Only use <> for headers that
26651         exist in glibc.
26652
26653 2010-01-26  Jim Meyering  <meyering@redhat.com>
26654
26655         test-userspec.c: avoid compiler warnings
26656         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
26657         and "initialization discards qualifiers..." warnings.
26658         Put the first "uid" in its own scope, and make char* members "const".
26659
26660 2010-01-25  Bruno Haible  <bruno@clisp.org>
26661
26662         gnulib-tool: Make warning diagnostics consistent.
26663         * gnulib-tool (func_warning): New function.
26664         Use it everywhere where gnulib-tool produces output to stderr and it is
26665         not a fatal error.
26666
26667 2010-01-25  Bruno Haible  <bruno@clisp.org>
26668
26669         Fix test dependencies.
26670         * modules/xstrtol-tests (Depends-on): Add inttypes.
26671         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
26672
26673 2010-01-25 Pádraig Brady <P@draigBrady.com>
26674
26675         syntax-check: detect incorrect boolean macro values in config.h
26676         * modules/maintainer-makefile (configure.ac): Parameterize the location
26677         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
26678         The logic is from Eric Blake and the location indicated by Jim Meyering.
26679         Note the more natural CONFIG_HEADER name is prohibited by automake
26680         for backwards compatibility reasons.
26681         * top/maint.mk (sc_Wundef_boolean): New rule.
26682
26683 2010-01-25  Jim Meyering  <meyering@redhat.com>
26684
26685         bootstrap: detect MacOS 10.6's shasum, too
26686         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
26687         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
26688
26689 2010-01-23  Jim Meyering  <meyering@redhat.com>
26690
26691         xstrtoll: new module
26692         * modules/xstrtoll: New file.
26693         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
26694         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
26695         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
26696         ./configure fails if you use this module and lack "long long".
26697         * modules/xstrtoll-tests: New module.
26698         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
26699         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
26700         new init.sh-based test framework.
26701
26702 2010-01-24  Bruno Haible  <bruno@clisp.org>
26703
26704         Tests for module 'yn'.
26705         * modules/yn-tests: New file.
26706         * tests/test-yn.c: New file.
26707
26708         Tests for module 'y1'.
26709         * modules/y1-tests: New file.
26710         * tests/test-y1.c: New file.
26711
26712         Tests for module 'y0'.
26713         * modules/y0-tests: New file.
26714         * tests/test-y0.c: New file.
26715
26716         Tests for module 'tanh'.
26717         * modules/tanh-tests: New file.
26718         * tests/test-tanh.c: New file.
26719
26720         Tests for module 'tan'.
26721         * modules/tan-tests: New file.
26722         * tests/test-tan.c: New file.
26723
26724         Tests for module 'sqrt'.
26725         * modules/sqrt-tests: New file.
26726         * tests/test-sqrt.c: New file.
26727
26728         Tests for module 'sinh'.
26729         * modules/sinh-tests: New file.
26730         * tests/test-sinh.c: New file.
26731
26732         Tests for module 'sin'.
26733         * modules/sin-tests: New file.
26734         * tests/test-sin.c: New file.
26735
26736         Tests for module 'rint'.
26737         * modules/rint-tests: New file.
26738         * tests/test-rint.c: New file.
26739
26740         Tests for module 'remainder'.
26741         * modules/remainder-tests: New file.
26742         * tests/test-remainder.c: New file.
26743
26744         Tests for module 'pow'.
26745         * modules/pow-tests: New file.
26746         * tests/test-pow.c: New file.
26747
26748         Tests for module 'nextafter'.
26749         * modules/nextafter-tests: New file.
26750         * tests/test-nextafter.c: New file.
26751
26752         Tests for module 'modf'.
26753         * modules/modf-tests: New file.
26754         * tests/test-modf.c: New file.
26755
26756         Tests for module 'logb'.
26757         * modules/logb-tests: New file.
26758         * tests/test-logb.c: New file.
26759
26760         Tests for module 'log1p'.
26761         * modules/log1p-tests: New file.
26762         * tests/test-log1p.c: New file.
26763
26764         Tests for module 'log10'.
26765         * modules/log10-tests: New file.
26766         * tests/test-log10.c: New file.
26767
26768         Tests for module 'log'.
26769         * modules/log-tests: New file.
26770         * tests/test-log.c: New file.
26771
26772         Tests for module 'lgamma'.
26773         * modules/lgamma-tests: New file.
26774         * tests/test-lgamma.c: New file.
26775
26776         Tests for module 'ldexp'.
26777         * modules/ldexp-tests: New file.
26778         * tests/test-ldexp.c: New file.
26779
26780         Tests for module 'jn'.
26781         * modules/jn-tests: New file.
26782         * tests/test-jn.c: New file.
26783
26784         Tests for module 'j1'.
26785         * modules/j1-tests: New file.
26786         * tests/test-j1.c: New file.
26787
26788         Tests for module 'j0'.
26789         * modules/j0-tests: New file.
26790         * tests/test-j0.c: New file.
26791
26792         Tests for module 'hypot'.
26793         * modules/hypot-tests: New file.
26794         * tests/test-hypot.c: New file.
26795
26796         Tests for module 'fmod'.
26797         * modules/fmod-tests: New file.
26798         * tests/test-fmod.c: New file.
26799
26800         Tests for module 'fabs'.
26801         * modules/fabs-tests: New file.
26802         * tests/test-fabs.c: New file.
26803
26804         Tests for module 'exp'.
26805         * modules/exp-tests: New file.
26806         * tests/test-exp.c: New file.
26807
26808         Tests for module 'erfc'.
26809         * modules/erfc-tests: New file.
26810         * tests/test-erfc.c: New file.
26811
26812         Tests for module 'erf'.
26813         * modules/erf-tests: New file.
26814         * tests/test-erf.c: New file.
26815
26816         Tests for module 'cosh'.
26817         * modules/cosh-tests: New file.
26818         * tests/test-cosh.c: New file.
26819
26820         Tests for module 'cos'.
26821         * modules/cos-tests: New file.
26822         * tests/test-cos.c: New file.
26823
26824         Tests for module 'copysign'.
26825         * modules/copysign-tests: New file.
26826         * tests/test-copysign.c: New file.
26827
26828         Tests for module 'cbrt'.
26829         * modules/cbrt-tests: New file.
26830         * tests/test-cbrt.c: New file.
26831
26832         Tests for module 'atan2'.
26833         * modules/atan2-tests: New file.
26834         * tests/test-atan2.c: New file.
26835
26836         Tests for module 'atan'.
26837         * modules/atan-tests: New file.
26838         * tests/test-atan.c: New file.
26839
26840         Tests for module 'asin'.
26841         * modules/asin-tests: New file.
26842         * tests/test-asin.c: New file.
26843
26844         Tests for module 'acos'.
26845         * modules/acos-tests: New file.
26846         * tests/test-acos.c: New file.
26847
26848 2010-01-24  Bruno Haible  <bruno@clisp.org>
26849
26850         Fix tests for common <math.h> functions.
26851         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
26852         code snippet that references the function pointer, rather than merely
26853         calling the function. Substitute the FUNC_LIBM variable.
26854         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
26855         * modules/acos (configure.ac): Likewise.
26856         * modules/asin (configure.ac): Likewise.
26857         * modules/atan (configure.ac): Likewise.
26858         * modules/atan2 (configure.ac): Likewise.
26859         * modules/cbrt (configure.ac): Likewise.
26860         * modules/copysign (configure.ac): Likewise.
26861         * modules/cos (configure.ac): Likewise.
26862         * modules/cosh (configure.ac): Likewise.
26863         * modules/erf (configure.ac): Likewise.
26864         * modules/erfc (configure.ac): Likewise.
26865         * modules/exp (configure.ac): Likewise.
26866         * modules/fabs (configure.ac): Likewise.
26867         * modules/fmod (configure.ac): Likewise.
26868         * modules/hypot (configure.ac): Likewise.
26869         * modules/j0 (configure.ac): Likewise.
26870         * modules/j1 (configure.ac): Likewise.
26871         * modules/jn (configure.ac): Likewise.
26872         * modules/ldexp (configure.ac): Likewise.
26873         * modules/lgamma (configure.ac): Likewise.
26874         * modules/log (configure.ac): Likewise.
26875         * modules/log10 (configure.ac): Likewise.
26876         * modules/log1p (configure.ac): Likewise.
26877         * modules/logb (configure.ac): Likewise.
26878         * modules/modf (configure.ac): Likewise.
26879         * modules/nextafter (configure.ac): Likewise.
26880         * modules/pow (configure.ac): Likewise.
26881         * modules/remainder (configure.ac): Likewise.
26882         * modules/rint (configure.ac): Likewise.
26883         * modules/sin (configure.ac): Likewise.
26884         * modules/sinh (configure.ac): Likewise.
26885         * modules/tan (configure.ac): Likewise.
26886         * modules/tanh (configure.ac): Likewise.
26887         * modules/y0 (configure.ac): Likewise.
26888         * modules/y1 (configure.ac): Likewise.
26889         * modules/yn (configure.ac): Likewise.
26890
26891 2010-01-24  Bruno Haible  <bruno@clisp.org>
26892
26893         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
26894         * tests/test-acosl.c (x): New variable.
26895         (main): Store argument in x and fetch it from x.
26896         * tests/test-asinl.c (x): New variable.
26897         (main): Store argument in x and fetch it from x.
26898         * tests/test-atanl.c (x): New variable.
26899         (main): Store argument in x and fetch it from x.
26900         * tests/test-cosl.c (x): New variable.
26901         (main): Store argument in x and fetch it from x.
26902         * tests/test-expl.c (x): New variable.
26903         (main): Store argument in x and fetch it from x.
26904         * tests/test-logl.c (x): New variable.
26905         (main): Store argument in x and fetch it from x.
26906         * tests/test-sinl.c (x): New variable.
26907         (main): Store argument in x and fetch it from x.
26908         * tests/test-sqrtl.c (x): New variable.
26909         (main): Store argument in x and fetch it from x.
26910         * tests/test-tanl.c (x): New variable.
26911         (main): Store argument in x and fetch it from x.
26912
26913 2010-01-24  Bruno Haible  <bruno@clisp.org>
26914
26915         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
26916         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
26917         assignments to the initial TESTS_ENVIRONMENT.
26918         * doc/gnulib.texi (Unit test modules): Document it.
26919         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
26920         TESTS_ENVIRONMENT.
26921         * modules/btowc-tests (Makefile.am): Likewise.
26922         * modules/c-stack-tests (Makefile.am): Likewise.
26923         * modules/c-strcase-tests (Makefile.am): Likewise.
26924         * modules/copy-file-tests (Makefile.am): Likewise.
26925         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
26926         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
26927         * modules/mbrtowc-tests (Makefile.am): Likewise.
26928         * modules/mbscasecmp-tests (Makefile.am): Likewise.
26929         * modules/mbscasestr-tests (Makefile.am): Likewise.
26930         * modules/mbschr-tests (Makefile.am): Likewise.
26931         * modules/mbscspn-tests (Makefile.am): Likewise.
26932         * modules/mbsinit-tests (Makefile.am): Likewise.
26933         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
26934         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
26935         * modules/mbspbrk-tests (Makefile.am): Likewise.
26936         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
26937         * modules/mbsrchr-tests (Makefile.am): Likewise.
26938         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
26939         * modules/mbsspn-tests (Makefile.am): Likewise.
26940         * modules/mbsstr-tests (Makefile.am): Likewise.
26941         * modules/nl_langinfo-tests (Makefile.am): Likewise.
26942         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
26943         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
26944         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
26945         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
26946         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
26947         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
26948         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
26949         * modules/wcrtomb-tests (Makefile.am): Likewise.
26950         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
26951         * modules/wcsrtombs-tests (Makefile.am): Likewise.
26952         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
26953         assignments from TESTS_ENVIRONMENT.
26954         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
26955         augmentation.
26956         * modules/argp-version-etc-tests (Makefile.am): Likewise.
26957         * modules/atexit-tests (Makefile.am): Likewise.
26958         * modules/binary-io-tests (Makefile.am): Likewise.
26959         * modules/closein-tests (Makefile.am): Likewise.
26960         * modules/dprintf-posix-tests (Makefile.am): Likewise.
26961         * modules/exclude-tests (Makefile.am): Likewise.
26962         * modules/fflush-tests (Makefile.am): Likewise.
26963         * modules/fpending-tests (Makefile.am): Likewise.
26964         * modules/fprintf-posix-tests (Makefile.am): Likewise.
26965         * modules/freadahead-tests (Makefile.am): Likewise.
26966         * modules/freadptr-tests (Makefile.am): Likewise.
26967         * modules/freadseek-tests (Makefile.am): Likewise.
26968         * modules/fseek-tests (Makefile.am): Likewise.
26969         * modules/fseeko-tests (Makefile.am): Likewise.
26970         * modules/ftell-tests (Makefile.am): Likewise.
26971         * modules/ftello-tests (Makefile.am): Likewise.
26972         * modules/idpriv-drop-tests (Makefile.am): Likewise.
26973         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
26974         * modules/lseek-tests (Makefile.am): Likewise.
26975         * modules/parse-duration-tests (Makefile.am): Likewise.
26976         * modules/perror-tests (Makefile.am): Likewise.
26977         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
26978         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
26979         * modules/pipe-tests (Makefile.am): Likewise.
26980         * modules/pread-tests (Makefile.am): Likewise.
26981         * modules/printf-posix-tests (Makefile.am): Likewise.
26982         * modules/select-tests (Makefile.am): Likewise.
26983         * modules/sigpipe-tests (Makefile.am): Likewise.
26984         * modules/tsearch-tests (Makefile.am): Likewise.
26985         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
26986         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
26987         * modules/uniname/uniname-tests (Makefile.am): Likewise.
26988         * modules/uniwidth/width-tests (Makefile.am): Likewise.
26989         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
26990         * modules/version-etc-tests (Makefile.am): Likewise.
26991         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
26992         * modules/vprintf-posix-tests (Makefile.am): Likewise.
26993         * modules/xalloc-die-tests (Makefile.am): Likewise.
26994         * modules/xprintf-posix-tests (Makefile.am): Likewise.
26995         * modules/xstrtoimax-tests (Makefile.am): Likewise.
26996         * modules/xstrtol-tests (Makefile.am): Likewise.
26997         * modules/xstrtoumax-tests (Makefile.am): Likewise.
26998         * modules/yesno-tests (Makefile.am): Likewise.
26999         Suggested by Jim Meyering.
27000
27001 2010-01-24  Bruno Haible  <bruno@clisp.org>
27002
27003         More documentation.
27004         * doc/gnulib.texi (Writing modules): New chapter.
27005         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
27006         the new chapter.
27007
27008 2010-01-24  Jim Meyering  <meyering@redhat.com>
27009
27010         maint.mk: do not prepend "./" after filtering
27011         * top/maint.mk (_prepend_srcdir_prefix): New variable
27012         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
27013         "./" when $(srcdir) is ".".
27014
27015         define STREQ(a,b) consistently, removing useless parentheses
27016         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
27017         since the only risk is that "a" or "b" contains an unparenthesized
27018         comma, but if either did that, STREQ would have 3 or more arguments.
27019         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
27020         * lib/fts.c (STREQ): Remove unnecessary parentheses.
27021         * lib/hash-triple.c (STREQ): Likewise.
27022         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
27023         * lib/getugroups.c (STREQ): Likewise.
27024
27025 2010-01-23  Jim Meyering  <meyering@redhat.com>
27026
27027         maint.mk: fix syntax-check in a non-srcdir build directory
27028         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
27029         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
27030
27031 2010-01-22  Jim Meyering  <meyering@redhat.com>
27032
27033         userspec: add unit tests
27034         * tests/test-userspec.c: New file.
27035         * modules/userspec-tests: Likewise.
27036
27037 2010-01-21  Jim Meyering  <meyering@redhat.com>
27038
27039         maint.mk: handle source file names containing "." robustly
27040         * top/maint.mk (_dot_escaped_srcdir): Define.
27041         (VC_LIST): Use it in LHS of sed substitution.
27042
27043 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
27044
27045         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
27046         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
27047         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
27048         from a non-srcdir build.
27049
27050 2010-01-20  Eric Blake  <ebb9@byu.net>
27051
27052         warn-on-use: use instead of link-warning
27053         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
27054         * modules/unistd (Depends-on, Makefile.am): Likewise.
27055         * modules/arpa_inet (Depends-on): Replace link-warning with
27056         warn-on-use.
27057         (Makefile.am): Update rules accordingly.
27058         * modules/ctype (Depends-on, Makefile.am): Likewise.
27059         * modules/dirent (Depends-on, Makefile.am): Likewise.
27060         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
27061         * modules/inttypes (Depends-on, Makefile.am): Likewise.
27062         * modules/langinfo (Depends-on, Makefile.am): Likewise.
27063         * modules/locale (Depends-on, Makefile.am): Likewise.
27064         * modules/math (Depends-on, Makefile.am): Likewise.
27065         * modules/search (Depends-on, Makefile.am): Likewise.
27066         * modules/signal (Depends-on, Makefile.am): Likewise.
27067         * modules/spawn (Depends-on, Makefile.am): Likewise.
27068         * modules/stdlib (Depends-on, Makefile.am): Likewise.
27069         * modules/string (Depends-on, Makefile.am): Likewise.
27070         * modules/strings (Depends-on, Makefile.am): Likewise.
27071         * modules/sys_file (Depends-on, Makefile.am): Likewise.
27072         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
27073         * modules/sys_select (Depends-on, Makefile.am): Likewise.
27074         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
27075         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
27076         * modules/sys_times (Depends-on, Makefile.am): Likewise.
27077         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
27078         * modules/wchar (Depends-on, Makefile.am): Likewise.
27079         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
27080         should be poisoned.
27081         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
27082         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
27083         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
27084         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
27085         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
27086         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
27087         * m4/math_h.m4 (gl_MATH_H): Likewise.
27088         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
27089         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
27090         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
27091         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
27092         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
27093         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
27094         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
27095         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
27096         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
27097         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27098         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27099         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
27100         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27101         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
27102         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
27103         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27104         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
27105         GL_LINK_WARNING.
27106         * lib/ctype.in.h: Likewise.
27107         * lib/dirent.in.h: Likewise.
27108         * lib/fcntl.in.h: Likewise.
27109         * lib/inttypes.in.h: Likewise.
27110         * lib/langinfo.in.h: Likewise.
27111         * lib/locale.in.h: Likewise.
27112         * lib/math.in.h: Likewise.
27113         * lib/search.in.h: Likewise.
27114         * lib/signal.in.h: Likewise.
27115         * lib/spawn.in.h: Likewise.
27116         * lib/stdio.in.h: Likewise.
27117         * lib/stdlib.in.h: Likewise.
27118         * lib/string.in.h: Likewise.
27119         * lib/strings.in.h: Likewise.
27120         * lib/sys_file.in.h: Likewise.
27121         * lib/sys_ioctl.in.h: Likewise.
27122         * lib/sys_select.in.h: Likewise.
27123         * lib/sys_socket.in.h: Likewise.
27124         * lib/sys_stat.in.h: Likewise.
27125         * lib/sys_times.in.h: Likewise.
27126         * lib/sys_utsname.in.h: Likewise.
27127         * lib/unistd.in.h: Likewise.
27128         * lib/wchar.in.h: Likewise.
27129
27130 2010-01-20  Bruno Haible  <bruno@clisp.org>
27131
27132         Avoid duplicate -lm.
27133         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
27134         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
27135         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
27136         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
27137         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
27138         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
27139         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
27140         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
27141         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
27142         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
27143         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
27144         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27145         Reported by Paolo Bonzini.
27146
27147 2010-01-19  Bruno Haible  <bruno@clisp.org>
27148
27149         langinfo, nl_langinfo: Relicense under LGPLv2+.
27150         * modules/langinfo (License): Change to LGPLv2+.
27151         * modules/nl_langinfo (License): Likewise.
27152         Patch by David Lutterkort <lutter@redhat.com>.
27153
27154 2010-01-19  Bruno Haible  <bruno@clisp.org>
27155
27156         Avoid compilation error with cc on OSF/1 5.1.
27157         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
27158         statement, not before.
27159         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27160
27161 2010-01-18  Bruno Haible  <bruno@clisp.org>
27162
27163         Avoid a link error due to the __printf__ symbol.
27164         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
27165         and 2.6.x.
27166         (__format__, __printf__): Remove definitions.
27167         * lib/argp-fmtstream.h: Likewise.
27168         * lib/argp.h: Likewise.
27169         * lib/error.h: Likewise.
27170         * lib/vasnprintf.h: Likewise.
27171         * lib/xprintf.h: Likewise.
27172         * lib/xvasprintf.h: Likewise.
27173         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27174
27175 2010-01-18  Bruno Haible  <bruno@clisp.org>
27176
27177         Tests for module 'tanl'.
27178         * modules/tanl-tests: New file.
27179         * tests/test-tanl.c: New file.
27180
27181         Tests for module 'sqrtl'.
27182         * modules/sqrtl-tests: New file.
27183         * tests/test-sqrtl.c: New file.
27184
27185         Tests for module 'sinl'.
27186         * modules/sinl-tests: New file.
27187         * tests/test-sinl.c: New file.
27188
27189         Tests for module 'logl'.
27190         * modules/logl-tests: New file.
27191         * tests/test-logl.c: New file.
27192
27193         Tests for module 'expl'.
27194         * modules/expl-tests: New file.
27195         * tests/test-expl.c: New file.
27196
27197         Tests for module 'cosl'.
27198         * modules/cosl-tests: New file.
27199         * tests/test-cosl.c: New file.
27200
27201         Tests for module 'atanl'.
27202         * modules/atanl-tests: New file.
27203         * tests/test-atanl.c: New file.
27204
27205         Tests for module 'asinl'.
27206         * modules/asinl-tests: New file.
27207         * tests/test-asinl.c: New file.
27208
27209         Tests for module 'acosl'.
27210         * modules/acosl-tests: New file.
27211         * tests/test-acosl.c: New file.
27212
27213         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27214         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
27215         tanl): Use the standard gnulib idiom.
27216         * lib/cosl.c: Don't include trigl.c and sincosl.c.
27217         * lib/sinl.c: Likewise.
27218         * lib/tanl.c: Don't include trigl.c.
27219         (kernel_tanl): Make static.
27220         * lib/sincosl.c: Include trigl.h first.
27221         * lib/trigl.c: Likewise.
27222         * m4/acosl.m4: New file.
27223         * m4/asinl.m4: New file.
27224         * m4/atanl.m4: New file.
27225         * m4/cosl.m4: New file.
27226         * m4/expl.m4: New file.
27227         * m4/logl.m4: New file.
27228         * m4/sinl.m4: New file.
27229         * m4/sqrtl.m4: New file.
27230         * m4/tanl.m4: New file.
27231         * m4/mathl.m4: Remove file.
27232         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
27233         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27234         Don't initialize GNULIB_MATHL.
27235         * modules/acosl: New file.
27236         * modules/asinl: New file.
27237         * modules/atanl: New file.
27238         * modules/cosl: New file.
27239         * modules/expl: New file.
27240         * modules/logl: New file.
27241         * modules/sinl: New file.
27242         * modules/sqrtl: New file.
27243         * modules/tanl: New file.
27244         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
27245         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
27246         substitute GNULIB_MATHL.
27247         * modules/mathl: Rewritten.
27248         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
27249         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
27250         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
27251         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
27252         * doc/posix-functions/expl.texi: Mention the 'expl' module.
27253         * doc/posix-functions/logl.texi: Mention the 'logl' module.
27254         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
27255         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
27256         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
27257
27258 2010-01-18  Bruno Haible  <bruno@clisp.org>
27259
27260         sqrt: Make gl_FUNC_SQRT requirable.
27261         * m4/sqrt.m4: New file.
27262         * modules/sqrt (Files): Add it.
27263         (configure.ac): Invoke gl_FUNC_SQRT.
27264
27265 2010-01-18  Bruno Haible  <bruno@clisp.org>
27266
27267         New modules for common <math.h> functions.
27268         * m4/mathfunc.m4: New file.
27269         * modules/acos: New file.
27270         * modules/asin: New file.
27271         * modules/atan: New file.
27272         * modules/atan2: New file.
27273         * modules/cbrt: New file.
27274         * modules/copysign: New file.
27275         * modules/cos: New file.
27276         * modules/cosh: New file.
27277         * modules/erf: New file.
27278         * modules/erfc: New file.
27279         * modules/exp: New file.
27280         * modules/fabs: New file.
27281         * modules/fmod: New file.
27282         * modules/hypot: New file.
27283         * modules/j0: New file.
27284         * modules/j1: New file.
27285         * modules/jn: New file.
27286         * modules/ldexp: New file.
27287         * modules/lgamma: New file.
27288         * modules/log: New file.
27289         * modules/log10: New file.
27290         * modules/log1p: New file.
27291         * modules/logb: New file.
27292         * modules/modf: New file.
27293         * modules/nextafter: New file.
27294         * modules/pow: New file.
27295         * modules/remainder: New file.
27296         * modules/rint: New file.
27297         * modules/sin: New file.
27298         * modules/sinh: New file.
27299         * modules/sqrt: New file.
27300         * modules/tan: New file.
27301         * modules/tanh: New file.
27302         * modules/y0: New file.
27303         * modules/y1: New file.
27304         * modules/yn: New file.
27305         * doc/posix-functions/acos.texi: Mention the 'acos' module.
27306         * doc/posix-functions/asin.texi: Mention the 'asin' module.
27307         * doc/posix-functions/atan.texi: Mention the 'atan' module.
27308         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
27309         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
27310         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
27311         * doc/posix-functions/cos.texi: Mention the 'cos' module.
27312         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
27313         * doc/posix-functions/erf.texi: Mention the 'erf' module.
27314         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
27315         * doc/posix-functions/exp.texi: Mention the 'exp' module.
27316         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
27317         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
27318         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
27319         * doc/posix-functions/j0.texi: Mention the 'j0' module.
27320         * doc/posix-functions/j1.texi: Mention the 'j1' module.
27321         * doc/posix-functions/jn.texi: Mention the 'jn' module.
27322         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
27323         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
27324         * doc/posix-functions/log.texi: Mention the 'log' module.
27325         * doc/posix-functions/log10.texi: Mention the 'log10' module.
27326         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
27327         * doc/posix-functions/logb.texi: Mention the 'logb' module.
27328         * doc/posix-functions/modf.texi: Mention the 'modf' module.
27329         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
27330         * doc/posix-functions/pow.texi: Mention the 'pow' module.
27331         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
27332         * doc/posix-functions/rint.texi: Mention the 'rint' module.
27333         * doc/posix-functions/sin.texi: Mention the 'sin' module.
27334         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
27335         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
27336         * doc/posix-functions/tan.texi: Mention the 'tan' module.
27337         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
27338         * doc/posix-functions/y0.texi: Mention the 'y0' module.
27339         * doc/posix-functions/y1.texi: Mention the 'y1' module.
27340         * doc/posix-functions/yn.texi: Mention the 'yn' module.
27341
27342 2010-01-18  Jim Meyering  <meyering@redhat.com>
27343
27344         ignore-value: relax license to LGPLv2+
27345         * modules/ignore-value (License): Relax to LGPLv2+.
27346
27347         getdate: don't leak when TZ contains two or more '"'s
27348         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
27349         double quote in TZ after the first one.
27350
27351         readtokens: do not leak internal token_lengths buffer
27352         * lib/readtokens.c (readtokens): Free the local, lengths,
27353         when the supplied "token_lengths" parameter is NULL.
27354
27355 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27356
27357         Fix a couple of missing LIBTHREAD link failures on AIX.
27358         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
27359         $(LIBTHREAD).
27360         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
27361
27362         Link test-poll against INET_PTON_LIB.
27363         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
27364         for inet_pton on Solaris 10.
27365
27366 2010-01-17  Bruno Haible  <bruno@clisp.org>
27367
27368         unistdio/*-sprintf: Fix typo in module description.
27369         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
27370         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
27371         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
27372         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
27373         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
27374         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
27375         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
27376         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27377
27378 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27379
27380         gnulib-tool: fix filelist for AIX, HP-UX ksh.
27381         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
27382         variables in shell case patterns, for AIX and HP-UX ksh.
27383
27384         Split large sed scripts, for HP-UX sed.
27385         * modules/stdio: Split sed scripts around 50 sed commands,
27386         to avoid HP-UX limit of 99 commands, in the near future.
27387         * modules/string: Likewise.
27388         * modules/unistd: Likewise.
27389
27390         gnulib-tool: avoid writing in the current directory.
27391         * gnulib-tool (func_emit_lib_Makefile_am)
27392         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
27393         not in the current directory, so concurrent gnulib-tool
27394         instances do not interfere.
27395
27396 2010-01-16  Jim Meyering  <meyering@redhat.com>
27397
27398         doc: update users.txt
27399         * users.txt: Add grep.
27400         (diffutils, gzip): Update URLs.
27401
27402 2010-01-12  Bruno Haible  <bruno@clisp.org>
27403
27404         posix_spawn: Avoid test failure on Cygwin.
27405         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
27406         characters.
27407         Reported by Simon Josefsson.
27408
27409 2010-01-12  Bruno Haible  <bruno@clisp.org>
27410
27411         * tests/test-cond.c (main): When skipping the test, show the reason.
27412
27413 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27414
27415         * lib/striconv.c (str_cd_iconv): Avoid if before free.
27416
27417 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27418
27419         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
27420         VC_LIST_ALWAYS_EXCLUDE_REGEX.
27421
27422 2010-01-12  Eric Blake  <ebb9@byu.net>
27423
27424         build: guarantee AS_VAR_IF
27425         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
27426         (gl_AS_VAR_IF): Move...
27427         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
27428         Reported by Simon Josefsson.
27429
27430 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27431
27432         * lib/stdio.in.h: Fix typo.
27433
27434 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27435
27436         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
27437         libgpg-error.
27438
27439 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27440
27441         * tests/test-xalloc-die.sh: Use $EXEEXT.
27442
27443 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27444             Bruno Haible  <bruno@clisp.org>
27445
27446         getlogin, getlogin_r: Avoid test failure.
27447         * tests/test-getlogin.c: Include <stdio.h>.
27448         (main): Skip the test when the function fails because stdin is not a
27449         tty.
27450         * tests/test-getlogin_r.c: Include <stdio.h>.
27451         (main): Skip the test when the function fails because stdin is not a
27452         tty.
27453
27454 2010-01-11  Eric Blake  <ebb9@byu.net>
27455
27456         tests: avoid more large file warnings
27457         * tests/test-fflush.c: Avoid warning about ftell use.
27458         * tests/test-fseek.c: Avoid warning about fseek use.
27459
27460 2010-01-10  Bruno Haible  <bruno@clisp.org>
27461
27462         nproc: Work better on Linux when /proc and /sys are not mounted.
27463         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
27464         as lower bound when, on glibc/Linux systems,
27465         sysconf (_SC_NPROCESSORS_CONF) returns 1.
27466         Suggested by Pádraig Brady <P@draigbrady.com>.
27467         Reported by Dmitry V. Levin <ldv@altlinux.org>.
27468
27469         nproc: Refactor.
27470         * lib/nproc.c (num_processors_via_affinity_mask): New function,
27471         extracted from num_processors.
27472         (num_processors): Call it.
27473
27474 2010-01-11  Jim Meyering  <meyering@redhat.com>
27475
27476         utimecmp: avoid new warning from upcoming gcc-4.5.0
27477         * lib/utimecmp.c (BILLION): Define using #define rather than an
27478         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
27479
27480 2010-01-11  Eric Blake  <ebb9@byu.net>
27481
27482         math: add portability warnings for classification macros
27483         * modules/math (Depends-on): Add warn-on-use.
27484         (Makefile.am): Provide new substitutions.
27485         * m4/math_h.m4 (gl_MATH_H): Require inline.
27486         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
27487         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
27488         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
27489         implement warnings.
27490
27491         unistd: warn on use of environ without module
27492         * modules/unistd (Depends-on): Add warn-on-use.
27493         (Makefile.am): Provide new substitutions.
27494         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
27495         * lib/unistd.in.h (environ): Wrap with a warning helper function.
27496
27497         stdio: warn on suspicious uses
27498         * modules/stdio (Depends-on): Add warn-on-use.
27499         (Makefile.am): Provide new substitutions.
27500         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
27501         fseeko.
27502         * lib/stdio.in.h (gets): Always warn on use.
27503         (fseek, ftell): Adjust when warnings are issued, and honor
27504         _GL_NO_LARGE_FILES as a way to silence the warning.
27505         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
27506         any warning about large file offsets.
27507         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
27508         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
27509         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
27510         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
27511         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
27512         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
27513         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
27514         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
27515
27516         warn-on-use: new module
27517         * modules/warn-on-use: New file.
27518         * build-aux/warn-on-use.h: Likewise.
27519         * m4/warn-on-use.m4: Likewise.
27520         * MODULES.html.sh (Support for building): Mention it.
27521
27522 2010-01-10  Bruno Haible  <bruno@clisp.org>
27523
27524         Tests for module 'unistr/u32-strdup'.
27525         * modules/unistr/u32-strdup-tests: New file.
27526         * tests/unistr/test-u32-strdup.c: New file.
27527
27528         Tests for module 'unistr/u16-strdup'.
27529         * modules/unistr/u16-strdup-tests: New file.
27530         * tests/unistr/test-u16-strdup.c: New file.
27531
27532         Tests for module 'unistr/u8-strdup'.
27533         * modules/unistr/u8-strdup-tests: New file.
27534         * tests/unistr/test-u8-strdup.c: New file.
27535         * tests/unistr/test-strdup.h: New file.
27536
27537         Tests for module 'unistr/u32-strncmp'.
27538         * modules/unistr/u32-strncmp-tests: New file.
27539         * tests/unistr/test-u32-strncmp.c: New file.
27540
27541         Tests for module 'unistr/u16-strncmp'.
27542         * modules/unistr/u16-strncmp-tests: New file.
27543         * tests/unistr/test-u16-strncmp.c: New file.
27544
27545         Tests for module 'unistr/u8-strncmp'.
27546         * modules/unistr/u8-strncmp-tests: New file.
27547         * tests/unistr/test-u8-strncmp.c: New file.
27548         * tests/unistr/test-strncmp.h: New file.
27549
27550         Tests for module 'unistr/u32-strcoll'.
27551         * modules/unistr/u32-strcoll-tests: New file.
27552         * tests/unistr/test-u32-strcoll.c: New file.
27553
27554         Tests for module 'unistr/u16-strcoll'.
27555         * modules/unistr/u16-strcoll-tests: New file.
27556         * tests/unistr/test-u16-strcoll.c: New file.
27557
27558         Tests for module 'unistr/u8-strcoll'.
27559         * modules/unistr/u8-strcoll-tests: New file.
27560         * tests/unistr/test-u8-strcoll.c: New file.
27561
27562         Tests for module 'unistr/u32-strcmp'.
27563         * modules/unistr/u32-strcmp-tests: New file.
27564         * tests/unistr/test-u32-strcmp.c: New file.
27565         * tests/unistr/test-u32-strcmp.h: New file.
27566
27567         Tests for module 'unistr/u16-strcmp'.
27568         * modules/unistr/u16-strcmp-tests: New file.
27569         * tests/unistr/test-u16-strcmp.c: New file.
27570         * tests/unistr/test-u16-strcmp.h: New file.
27571
27572         Tests for module 'unistr/u8-strcmp'.
27573         * modules/unistr/u8-strcmp-tests: New file.
27574         * tests/unistr/test-u8-strcmp.c: New file.
27575         * tests/unistr/test-u8-strcmp.h: New file.
27576         * tests/unistr/test-strcmp.h: New file.
27577
27578         Tests for module 'unistr/u32-strncat'.
27579         * modules/unistr/u32-strncat-tests: New file.
27580         * tests/unistr/test-u32-strncat.c: New file.
27581
27582         Tests for module 'unistr/u16-strncat'.
27583         * modules/unistr/u16-strncat-tests: New file.
27584         * tests/unistr/test-u16-strncat.c: New file.
27585
27586         Tests for module 'unistr/u8-strncat'.
27587         * modules/unistr/u8-strncat-tests: New file.
27588         * tests/unistr/test-u8-strncat.c: New file.
27589         * tests/unistr/test-strncat.h: New file.
27590
27591         Tests for module 'unistr/u32-strcat'.
27592         * modules/unistr/u32-strcat-tests: New file.
27593         * tests/unistr/test-u32-strcat.c: New file.
27594
27595         Tests for module 'unistr/u16-strcat'.
27596         * modules/unistr/u16-strcat-tests: New file.
27597         * tests/unistr/test-u16-strcat.c: New file.
27598
27599         Tests for module 'unistr/u8-strcat'.
27600         * modules/unistr/u8-strcat-tests: New file.
27601         * tests/unistr/test-u8-strcat.c: New file.
27602         * tests/unistr/test-strcat.h: New file.
27603
27604         Tests for module 'unistr/u32-stpncpy'.
27605         * modules/unistr/u32-stpncpy-tests: New file.
27606         * tests/unistr/test-u32-stpncpy.c: New file.
27607
27608         Tests for module 'unistr/u16-stpncpy'.
27609         * modules/unistr/u16-stpncpy-tests: New file.
27610         * tests/unistr/test-u16-stpncpy.c: New file.
27611
27612         Tests for module 'unistr/u8-stpncpy'.
27613         * modules/unistr/u8-stpncpy-tests: New file.
27614         * tests/unistr/test-u8-stpncpy.c: New file.
27615         * tests/unistr/test-stpncpy.h: New file.
27616
27617         Tests for module 'unistr/u32-strncpy'.
27618         * modules/unistr/u32-strncpy-tests: New file.
27619         * tests/unistr/test-u32-strncpy.c: New file.
27620
27621         Tests for module 'unistr/u16-strncpy'.
27622         * modules/unistr/u16-strncpy-tests: New file.
27623         * tests/unistr/test-u16-strncpy.c: New file.
27624
27625         Tests for module 'unistr/u8-strncpy'.
27626         * modules/unistr/u8-strncpy-tests: New file.
27627         * tests/unistr/test-u8-strncpy.c: New file.
27628         * tests/unistr/test-strncpy.h: New file.
27629
27630         Tests for module 'unistr/u32-stpcpy'.
27631         * modules/unistr/u32-stpcpy-tests: New file.
27632         * tests/unistr/test-u32-stpcpy.c: New file.
27633
27634         Tests for module 'unistr/u16-stpcpy'.
27635         * modules/unistr/u16-stpcpy-tests: New file.
27636         * tests/unistr/test-u16-stpcpy.c: New file.
27637
27638         Tests for module 'unistr/u8-stpcpy'.
27639         * modules/unistr/u8-stpcpy-tests: New file.
27640         * tests/unistr/test-u8-stpcpy.c: New file.
27641         * tests/unistr/test-stpcpy.h: New file.
27642
27643         Tests for module 'unistr/u32-strcpy'.
27644         * modules/unistr/u32-strcpy-tests: New file.
27645         * tests/unistr/test-u32-strcpy.c: New file.
27646
27647         Tests for module 'unistr/u16-strcpy'.
27648         * modules/unistr/u16-strcpy-tests: New file.
27649         * tests/unistr/test-u16-strcpy.c: New file.
27650
27651         Tests for module 'unistr/u8-strcpy'.
27652         * modules/unistr/u8-strcpy-tests: New file.
27653         * tests/unistr/test-u8-strcpy.c: New file.
27654         * tests/unistr/test-strcpy.h: New file.
27655
27656         Tests for module 'unistr/u32-strnlen'.
27657         * modules/unistr/u32-strnlen-tests: New file.
27658         * tests/unistr/test-u32-strnlen.c: New file.
27659
27660         Tests for module 'unistr/u16-strnlen'.
27661         * modules/unistr/u16-strnlen-tests: New file.
27662         * tests/unistr/test-u16-strnlen.c: New file.
27663
27664         Tests for module 'unistr/u8-strnlen'.
27665         * modules/unistr/u8-strnlen-tests: New file.
27666         * tests/unistr/test-u8-strnlen.c: New file.
27667         * tests/unistr/test-strnlen.h: New file.
27668
27669         Tests for module 'unistr/u32-strlen'.
27670         * modules/unistr/u32-strlen-tests: New file.
27671         * tests/unistr/test-u32-strlen.c: New file.
27672
27673         Tests for module 'unistr/u16-strlen'.
27674         * modules/unistr/u16-strlen-tests: New file.
27675         * tests/unistr/test-u16-strlen.c: New file.
27676
27677         Tests for module 'unistr/u8-strlen'.
27678         * modules/unistr/u8-strlen-tests: New file.
27679         * tests/unistr/test-u8-strlen.c: New file.
27680
27681         Tests for module 'unistr/u32-prev'.
27682         * modules/unistr/u32-prev-tests: New file.
27683         * tests/unistr/test-u32-prev.c: New file.
27684
27685         Tests for module 'unistr/u16-prev'.
27686         * modules/unistr/u16-prev-tests: New file.
27687         * tests/unistr/test-u16-prev.c: New file.
27688
27689         Tests for module 'unistr/u8-prev'.
27690         * modules/unistr/u8-prev-tests: New file.
27691         * tests/unistr/test-u8-prev.c: New file.
27692
27693         Tests for module 'unistr/u32-next'.
27694         * modules/unistr/u32-next-tests: New file.
27695         * tests/unistr/test-u32-next.c: New file.
27696
27697         Tests for module 'unistr/u16-next'.
27698         * modules/unistr/u16-next-tests: New file.
27699         * tests/unistr/test-u16-next.c: New file.
27700
27701         Tests for module 'unistr/u8-next'.
27702         * modules/unistr/u8-next-tests: New file.
27703         * tests/unistr/test-u8-next.c: New file.
27704
27705         Tests for module 'unistr/u32-strmbtouc'.
27706         * modules/unistr/u32-strmbtouc-tests: New file.
27707         * tests/unistr/test-u32-strmbtouc.c: New file.
27708
27709         Tests for module 'unistr/u16-strmbtouc'.
27710         * modules/unistr/u16-strmbtouc-tests: New file.
27711         * tests/unistr/test-u16-strmbtouc.c: New file.
27712
27713         Tests for module 'unistr/u8-strmbtouc'.
27714         * modules/unistr/u8-strmbtouc-tests: New file.
27715         * tests/unistr/test-u8-strmbtouc.c: New file.
27716
27717         Tests for module 'unistr/u32-strmblen'.
27718         * modules/unistr/u32-strmblen-tests: New file.
27719         * tests/unistr/test-u32-strmblen.c: New file.
27720
27721         Tests for module 'unistr/u16-strmblen'.
27722         * modules/unistr/u16-strmblen-tests: New file.
27723         * tests/unistr/test-u16-strmblen.c: New file.
27724
27725         Tests for module 'unistr/u8-strmblen'.
27726         * modules/unistr/u8-strmblen-tests: New file.
27727         * tests/unistr/test-u8-strmblen.c: New file.
27728
27729         Tests for module 'unistr/u32-cpy-alloc'.
27730         * modules/unistr/u32-cpy-alloc-tests: New file.
27731         * tests/unistr/test-u32-cpy-alloc.c: New file.
27732
27733         Tests for module 'unistr/u16-cpy-alloc'.
27734         * modules/unistr/u16-cpy-alloc-tests: New file.
27735         * tests/unistr/test-u16-cpy-alloc.c: New file.
27736
27737         Tests for module 'unistr/u8-cpy-alloc'.
27738         * modules/unistr/u8-cpy-alloc-tests: New file.
27739         * tests/unistr/test-u8-cpy-alloc.c: New file.
27740         * tests/unistr/test-cpy-alloc.h: New file.
27741
27742         Tests for module 'unistr/u32-mbsnlen'.
27743         * modules/unistr/u32-mbsnlen-tests: New file.
27744         * tests/unistr/test-u32-mbsnlen.c: New file.
27745
27746         Tests for module 'unistr/u16-mbsnlen'.
27747         * modules/unistr/u16-mbsnlen-tests: New file.
27748         * tests/unistr/test-u16-mbsnlen.c: New file.
27749
27750         Tests for module 'unistr/u8-mbsnlen'.
27751         * modules/unistr/u8-mbsnlen-tests: New file.
27752         * tests/unistr/test-u8-mbsnlen.c: New file.
27753
27754         Tests for module 'unistr/u32-chr'.
27755         * modules/unistr/u32-chr-tests: New file.
27756         * tests/unistr/test-u32-chr.c: New file.
27757
27758         Tests for module 'unistr/u16-chr'.
27759         * modules/unistr/u16-chr-tests: New file.
27760         * tests/unistr/test-u16-chr.c: New file.
27761
27762         Tests for module 'unistr/u8-chr'.
27763         * modules/unistr/u8-chr-tests: New file.
27764         * tests/unistr/test-u8-chr.c: New file.
27765         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
27766
27767         Tests for module 'unistr/u32-cmp2'.
27768         * modules/unistr/u32-cmp2-tests: New file.
27769         * tests/unistr/test-u32-cmp2.c: New file.
27770
27771         Tests for module 'unistr/u16-cmp2'.
27772         * modules/unistr/u16-cmp2-tests: New file.
27773         * tests/unistr/test-u16-cmp2.c: New file.
27774
27775         Tests for module 'unistr/u8-cmp2'.
27776         * modules/unistr/u8-cmp2-tests: New file.
27777         * tests/unistr/test-u8-cmp2.c: New file.
27778         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
27779
27780         Tests for module 'unistr/u32-cmp'.
27781         * modules/unistr/u32-cmp-tests: New file.
27782         * tests/unistr/test-u32-cmp.c: New file.
27783
27784         Tests for module 'unistr/u16-cmp'.
27785         * modules/unistr/u16-cmp-tests: New file.
27786         * tests/unistr/test-u16-cmp.c: New file.
27787
27788         Tests for module 'unistr/u8-cmp'.
27789         * modules/unistr/u8-cmp-tests: New file.
27790         * tests/unistr/test-u8-cmp.c: New file.
27791         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
27792
27793         Tests for module 'unistr/u32-set'.
27794         * modules/unistr/u32-set-tests: New file.
27795         * tests/unistr/test-u32-set.c: New file.
27796
27797         Tests for module 'unistr/u16-set'.
27798         * modules/unistr/u16-set-tests: New file.
27799         * tests/unistr/test-u16-set.c: New file.
27800
27801         Tests for module 'unistr/u8-set'.
27802         * modules/unistr/u8-set-tests: New file.
27803         * tests/unistr/test-u8-set.c: New file.
27804         * tests/unistr/test-set.h: New file.
27805
27806         Tests for module 'unistr/u32-move'.
27807         * modules/unistr/u32-move-tests: New file.
27808         * tests/unistr/test-u32-move.c: New file.
27809
27810         Tests for module 'unistr/u16-move'.
27811         * modules/unistr/u16-move-tests: New file.
27812         * tests/unistr/test-u16-move.c: New file.
27813
27814         Tests for module 'unistr/u8-move'.
27815         * modules/unistr/u8-move-tests: New file.
27816         * tests/unistr/test-u8-move.c: New file.
27817         * tests/unistr/test-move.h: New file.
27818
27819         Tests for module 'unistr/u32-cpy'.
27820         * modules/unistr/u32-cpy-tests: New file.
27821         * tests/unistr/test-u32-cpy.c: New file.
27822
27823         Tests for module 'unistr/u16-cpy'.
27824         * modules/unistr/u16-cpy-tests: New file.
27825         * tests/unistr/test-u16-cpy.c: New file.
27826
27827         Tests for module 'unistr/u8-cpy'.
27828         * modules/unistr/u8-cpy-tests: New file.
27829         * tests/unistr/test-u8-cpy.c: New file.
27830         * tests/unistr/test-cpy.h: New file.
27831
27832 2010-01-09  Bruno Haible  <bruno@clisp.org>
27833
27834         Tests for module 'unistr/u32-uctomb'.
27835         * modules/unistr/u32-uctomb-tests: New file.
27836         * tests/unistr/test-u32-uctomb.c: New file.
27837
27838         Tests for module 'unistr/u16-uctomb'.
27839         * modules/unistr/u16-uctomb-tests: New file.
27840         * tests/unistr/test-u16-uctomb.c: New file.
27841
27842         Tests for module 'unistr/u8-uctomb'.
27843         * modules/unistr/u8-uctomb-tests: New file.
27844         * tests/unistr/test-u8-uctomb.c: New file.
27845
27846         Tests for module 'unistr/u32-mbtoucr'.
27847         * modules/unistr/u32-mbtoucr-tests: New file.
27848         * tests/unistr/test-u32-mbtoucr.c: New file.
27849
27850         Tests for module 'unistr/u16-mbtoucr'.
27851         * modules/unistr/u16-mbtoucr-tests: New file.
27852         * tests/unistr/test-u16-mbtoucr.c: New file.
27853
27854         Tests for module 'unistr/u8-mbtoucr'.
27855         * modules/unistr/u8-mbtoucr-tests: New file.
27856         * tests/unistr/test-u8-mbtoucr.c: New file.
27857
27858         Tests for module 'unistr/u32-mbtouc'.
27859         * modules/unistr/u32-mbtouc-tests: New file.
27860         * tests/unistr/test-u32-mbtouc.c: New file.
27861
27862         Tests for module 'unistr/u16-mbtouc'.
27863         * modules/unistr/u16-mbtouc-tests: New file.
27864         * tests/unistr/test-u16-mbtouc.c: New file.
27865
27866         Tests for module 'unistr/u8-mbtouc'.
27867         * modules/unistr/u8-mbtouc-tests: New file.
27868         * tests/unistr/test-u8-mbtouc.c: New file.
27869
27870         Tests for module 'unistr/u32-mbtouc-unsafe'.
27871         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
27872         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
27873         * tests/unistr/test-u32-mbtouc.h: New file.
27874
27875         Tests for module 'unistr/u16-mbtouc-unsafe'.
27876         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
27877         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
27878         * tests/unistr/test-u16-mbtouc.h: New file.
27879
27880         Tests for module 'unistr/u8-mbtouc-unsafe'.
27881         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
27882         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
27883         * tests/unistr/test-u8-mbtouc.h: New file.
27884
27885         Tests for module 'unistr/u32-mblen'.
27886         * modules/unistr/u32-mblen-tests: New file.
27887         * tests/unistr/test-u32-mblen.c: New file.
27888
27889         Tests for module 'unistr/u16-mblen'.
27890         * modules/unistr/u16-mblen-tests: New file.
27891         * tests/unistr/test-u16-mblen.c: New file.
27892
27893         Tests for module 'unistr/u8-mblen'.
27894         * modules/unistr/u8-mblen-tests: New file.
27895         * tests/unistr/test-u8-mblen.c: New file.
27896
27897         Tests for module 'unistr/u32-to-u16'.
27898         * modules/unistr/u32-to-u16-tests: New file.
27899         * tests/unistr/test-u32-to-u16.c: New file.
27900
27901         Tests for module 'unistr/u32-to-u8'.
27902         * modules/unistr/u32-to-u8-tests: New file.
27903         * tests/unistr/test-u32-to-u8.c: New file.
27904
27905         Tests for module 'unistr/u16-to-u32'.
27906         * modules/unistr/u16-to-u32-tests: New file.
27907         * tests/unistr/test-u16-to-u32.c: New file.
27908
27909         Tests for module 'unistr/u16-to-u8'.
27910         * modules/unistr/u16-to-u8-tests: New file.
27911         * tests/unistr/test-u16-to-u8.c: New file.
27912
27913         Tests for module 'unistr/u8-to-u32'.
27914         * modules/unistr/u8-to-u32-tests: New file.
27915         * tests/unistr/test-u8-to-u32.c: New file.
27916
27917         Tests for module 'unistr/u8-to-u16'.
27918         * modules/unistr/u8-to-u16-tests: New file.
27919         * tests/unistr/test-u8-to-u16.c: New file.
27920
27921         Tests for module 'unistr/u32-check'.
27922         * modules/unistr/u32-check-tests: New file.
27923         * tests/unistr/test-u32-check.c: New file.
27924
27925         Tests for module 'unistr/u16-check'.
27926         * modules/unistr/u16-check-tests: New file.
27927         * tests/unistr/test-u16-check.c: New file.
27928
27929         Tests for module 'unistr/u8-check'.
27930         * modules/unistr/u8-check-tests: New file.
27931         * tests/unistr/test-u8-check.c: New file.
27932
27933         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
27934         (category_equals): New function.
27935         (main): Add more tests.
27936         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
27937
27938         * tests/unictype/test-bidi_byname.c (main): Add more tests.
27939
27940 2010-01-10  Bruno Haible  <bruno@clisp.org>
27941
27942         unistr/u*-strcoll: Try harder to distinguish different strings.
27943         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
27944         compare s1 and s2 to see if they are different.
27945
27946 2010-01-10  Bruno Haible  <bruno@clisp.org>
27947
27948         unistr/u*-stpncpy: Fix the return value.
27949         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
27950         description of the return value consistent with stpncpy in glibc.
27951         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
27952         written non-NUL unit.
27953
27954 2010-01-10  Bruno Haible  <bruno@clisp.org>
27955
27956         unistr/u*-next: Add missing dependencies.
27957         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
27958         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
27959         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
27960
27961 2010-01-10  Bruno Haible  <bruno@clisp.org>
27962
27963         unistr/u8-mbsnlen: Fix return value for incomplete character.
27964         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
27965         u8_mblen.
27966         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
27967         Remove unistr/u8-mblen.
27968         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
27969         u16_mblen.
27970         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
27971         Remove unistr/u16-mblen.
27972
27973 2010-01-10  Bruno Haible  <bruno@clisp.org>
27974
27975         wchar: Fix compilation error when <wchar.h> is used from coreutils.
27976         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
27977         Reported by Brian Gough <bjg@gnu.org> and
27978         Chris Clayton <chris2553@googlemail.com> via
27979         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
27980
27981 2010-01-09  Bruno Haible  <bruno@clisp.org>
27982
27983         unistr/u16-to-u32: Reject invalid input.
27984         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
27985         u16_mbtouc.
27986         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
27987         Remove unistr/u16-mbtouc.
27988
27989         unistr/u16-to-u8: Reject invalid input.
27990         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
27991         u16_mbtouc.
27992         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
27993         Remove unistr/u16-mbtouc.
27994
27995         unistr/u8-to-u32: Reject invalid input.
27996         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
27997         u8_mbtouc.
27998         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
27999         Remove unistr/u8-mbtouc.
28000
28001         unistr/u8-to-u16: Reject invalid input.
28002         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
28003         u8_mbtouc.
28004         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
28005         Remove unistr/u8-mbtouc.
28006
28007 2010-01-09  Bruno Haible  <bruno@clisp.org>
28008
28009         Tests for module 'getlogin'.
28010         * modules/getlogin-tests: New file.
28011         * tests/test-getlogin.c: New file.
28012
28013         New module 'getlogin'.
28014         * lib/unistd.in.h (getlogin): New declaration.
28015         * lib/getlogin.c: New file.
28016         * m4/getlogin.m4: New file.
28017         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
28018         HAVE_GETLOGIN.
28019         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
28020         HAVE_GETLOGIN.
28021         * modules/getlogin: New file.
28022         * doc/posix-functions/getlogin.texi: Mention the new module.
28023         Reported by John W. Eaton <jwe@gnu.org>.
28024
28025 2010-01-09  Bruno Haible  <bruno@clisp.org>
28026
28027         getlogin_r: Support for native Windows.
28028         * lib/getlogin_r.c: Include <windows.h>
28029         (getlogin_r): Implement for native Windows.
28030         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
28031         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
28032         via John W. Eaton <jwe@gnu.org>.
28033
28034 2010-01-09  Bruno Haible  <bruno@clisp.org>
28035
28036         getlogin_r: Small fixes.
28037         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
28038         succeeds.
28039         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
28040         before testing whether getlogin_r is declared. No need to set
28041         HAVE_DECL_GETLOGIN_R to 1.
28042         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
28043
28044 2010-01-09  Bruno Haible  <bruno@clisp.org>
28045
28046         * lib/unistd.in.h (getlogin_r): Add comment.
28047
28048 2010-01-09  Bruno Haible  <bruno@clisp.org>
28049
28050         Tests for module 'getlogin_r'.
28051         * modules/getlogin_r-tests: New file.
28052         * tests/test-getlogin_r.c: New file.
28053
28054 2010-01-09  Jim Meyering  <meyering@redhat.com>
28055
28056         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
28057         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
28058         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
28059
28060 2010-01-08  Simon Josefsson  <simon@josefsson.org>
28061
28062         * lib/dup2.c (rpl_dup2): Improve comment.
28063
28064 2010-01-08  Eric Blake  <ebb9@byu.net>
28065
28066         maint.mk: allow packages to add makefile @@ exceptions
28067         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
28068         (sc_makefile_check): Rename...
28069         (sc_makefile_at_at_check): ...to this, and use hook.
28070
28071         dup2: work around mingw bug
28072         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
28073         Reported by Simon Josefsson.
28074
28075 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
28076
28077         glob: Fix C++ compilation.
28078         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
28079         C++.
28080
28081 2010-01-07  Bruno Haible  <bruno@clisp.org>
28082
28083         Fix indentation of wctype.in.h, broken since 2007-01-06.
28084         * lib/wctype.in.h: Fix indentation of preprocessor directives.
28085
28086 2010-01-07  Bruno Haible  <bruno@clisp.org>
28087
28088         mbslen: Avoid collision with system function.
28089         * lib/string.in.h [MirBSD]: Include <wchar.h>.
28090         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
28091         * m4/mbslen.m4: New file.
28092         * modules/mbslen (Files): Add it.
28093         (configure.ac): Invoke gl_MBSLEN.
28094         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
28095         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
28096         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
28097         via Ian Beckwith <ianb@erislabs.net>.
28098
28099 2010-01-07  Bruno Haible  <bruno@clisp.org>
28100
28101         dirent: Document the last fix.
28102         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
28103
28104 2010-01-07  Bruno Haible  <bruno@clisp.org>
28105
28106         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
28107         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
28108         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
28109         va_list are defined.
28110         * doc/posix-headers/stdio.texi: Document the bug of missing types.
28111         Reported by Eric Blake.
28112
28113 2010-01-07  Bruno Haible  <bruno@clisp.org>
28114
28115         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
28116         * modules/xlist (Depends-on): Add 'list',
28117         * modules/xoset (Depends-on): Add 'oset'.
28118         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28119
28120 2010-01-07  Bruno Haible  <bruno@clisp.org>
28121
28122         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
28123         * doc/posix-functions/strncasecmp.texi: Likewise.
28124
28125 2010-01-07  Bruno Haible  <bruno@clisp.org>
28126
28127         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
28128
28129 2010-01-07  John W. Eaton  <jwe@octave.org>
28130
28131         wctype: allow C++ use
28132         * lib/wctype.in.h: Add extern "C" block for C++.
28133
28134 2010-01-06  Eric Blake  <ebb9@byu.net>
28135
28136         maint.mk: detect incorrect GFDL usage
28137         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
28138
28139 2010-01-06  Jim Meyering  <meyering@redhat.com>
28140         and Eric Blake  <ebb9@byu.net>
28141
28142         maint.mk: ignore multi-line copyright in NEWS
28143         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
28144
28145 2010-01-06  Eric Blake  <ebb9@byu.net>
28146
28147         select: add missing dependency
28148         * modules/select-tests (Depends-on): Move sockets dependency...
28149         * modules/select (Depends-on): ...here.
28150         Reported by Ian Beckwith.
28151
28152         doc: regenerate INSTALL
28153         * doc/INSTALL: Reflect recent autoconf update.
28154         * doc/INSTALL.ISO: Likewise.
28155         * doc/INSTALL.UTF-8: Likewise.
28156
28157         pread: fix compilation on glibc
28158         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
28159         Reported by Ralf Wildenhues.
28160
28161         dirent: fix test failure
28162         * lib/dirent.in.h (includes): Guarantee ino_t.
28163         Reported by Ralf Wildenhues.
28164
28165 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
28166
28167         linkat, renameat: avoid bad free
28168         * lib/at-func2.c (at_func2): Fix typo.
28169         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
28170
28171 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28172
28173         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
28174         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
28175         to avoid failure of symlink test later.
28176
28177 2010-01-06  Eric Blake  <ebb9@byu.net>
28178
28179         stdio, unistd: guarantee ssize_t
28180         * lib/unistd.in.h (includes): Ensure that types required by POSIX
28181         2008 are exposed when needed.
28182         * lib/stdio.in.h (includes): Likewise.
28183         Reported by Ralf Wildenhues.
28184
28185 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
28186
28187         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
28188         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
28189         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
28190
28191 2010-01-06  Jim Meyering  <meyering@redhat.com>
28192
28193         readtokens: this module *does* require xalloc.h
28194         It uses only functions that were omitted by the old syntax-check rule.
28195         * lib/readtokens.c: Include "xalloc.h" once again.
28196         * modules/readtokens (Depends-on): Add xalloc.
28197         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
28198
28199 2010-01-05  Eric Blake  <ebb9@byu.net>
28200
28201         maint: support 'make announcement' from a VPATH build
28202         * top/maint.mk (announcement): Look for correct NEWS file.
28203
28204 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
28205
28206         utimens (fdutimens): ignore a negative FD, per contract
28207         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
28208         when we have a valid file descriptor.  Otherwise, using a brand
28209         new glibc (with just-patched futimens that now fails with EBADF)
28210         would cause this function to fail with ENOSYS.
28211         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
28212         See also http://bugzilla.redhat.com/552320.
28213
28214 2010-01-05  Eric Blake  <ebb9@byu.net>
28215
28216         strcase: document what it provides
28217         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
28218         gnulib module.
28219         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
28220         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
28221
28222 2010-01-05  Jim Meyering  <meyering@redhat.com>
28223
28224         maint: remove useless inclusions of "xalloc.h"
28225         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
28226         * lib/readtokens.c: Likewise.
28227         * lib/same.c: Likewise.
28228         * modules/getloadavg (Depends-on): Remove xalloc.
28229         * modules/readtokens: Likewise.
28230         * modules/same: Likewise.
28231
28232         maint.mk: include 4 more function names in alloca.h-checking regexp
28233         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
28234         regexp.  Before, we would give a false-positive (saying alloca.h
28235         is included unnecessarily) when the only uses involved omitted symbols.
28236
28237         xalloc.h: use consistent formatting
28238         * lib/xalloc.h: Move declarations to start in the first column.
28239
28240 2010-01-05  Eric Blake  <ebb9@byu.net>
28241
28242         mkdir: avoid xalloc
28243         * lib/mkdir.c (includes): Drop unused header.
28244         Reported by John W. Eaton.
28245
28246 2010-01-04  Jim Meyering  <meyering@redhat.com>
28247
28248         nl_langinfo: avoid configure-time syntax error
28249         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
28250         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
28251         the empty string.  Don't let that provoke a shell syntax error.
28252
28253         regcomp, regexec, fnmatch: avoid array bounds read error
28254         * lib/regcomp.c (build_equiv_class): From glibc:
28255         Use only the low 24 bits of a findidx return value as an index
28256         into the weights array.  Patch by Ulrich Drepper:
28257         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
28258         * lib/regexec.c (check_node_accept_bytes): Likewise.
28259         * lib/fnmatch_loop.c (FCT): Likewise.
28260
28261         regcomp: skip collseq lookup when there are no rules
28262         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
28263         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
28264
28265         regcomp: recognize ill-formed { } expressions
28266         * lib/regcomp.c (parse_dup_op): From glibc:
28267         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
28268
28269         regcomp: fix typo in comment
28270         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
28271         s/satisfy/satisfies/.
28272
28273         regcomp: sync from glibc: remove dead store
28274         * lib/regcomp.c (duplicate_node_closure): Remove useless
28275         search_duplicated_node call and dead store.
28276
28277         regcomp: sync from glibc; always use nl_langinfo
28278         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
28279         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
28280         * modules/regex (Depends-on): Add nl_langinfo.
28281
28282 2010-01-04  Eric Blake  <ebb9@byu.net>
28283
28284         fdopendir: fix configure test
28285         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
28286
28287 2010-01-01  Bruno Haible  <bruno@clisp.org>
28288
28289         wchar: Remove unused configure check.
28290         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
28291
28292 2010-01-01  Eric Blake  <ebb9@byu.net>
28293
28294         headers: make check of system header explicit
28295         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
28296         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
28297         ourselves.
28298         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
28299         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28300         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
28301         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
28302         internals.
28303         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
28304         missing.
28305         Suggested by Bruno Haible.
28306
28307 2010-01-01  Jim Meyering  <meyering@redhat.com>
28308
28309         ChangeLog: tweak to eliminate unnecessary copyright line
28310         * ChangeLog: Remove a copyright line that was mistakenly updated
28311         by today's update-copyright run.  Reported by Eric Blake.
28312
28313         test-update-copyright: don't let envvar setting cause test failure
28314         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
28315
28316 2010-01-01  Bruno Haible  <bruno@clisp.org>
28317
28318         localename: Avoid gcc warning.
28319         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
28320         function if it is not used.
28321
28322 2010-01-01  Jim Meyering  <meyering@redhat.com>
28323
28324         update nearly all FSF copyright year lists to include 2010
28325         Use the same procedure as for 2009, outlined in
28326         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
28327
28328         version-etc: set COPYRIGHT_YEAR to 2010
28329         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
28330
28331 2009-12-31  Eric Blake  <ebb9@byu.net>
28332
28333         doc: correct availability of cygwin 1.5.x getopt
28334         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
28335         variables.
28336         * doc/posix-functions/opterr.texi (opterr): Likewise.
28337         * doc/posix-functions/optind.texi (optind): Likewise.
28338         * doc/posix-functions/optopt.texi (optopt): Likewise.
28339         * doc/posix-functions/tzname.texi (tzname): Likewise.
28340
28341         openat: update maintainer
28342         * modules/openat (Maintainer): Add myself.
28343
28344         utimens: avoid shadowing warning
28345         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
28346         buffers into one, to avoid shadowing, as well as avoiding a
28347         redundant stat.
28348         Reported by Jim Meyering.
28349
28350         test-dup2: avoid compiler warning
28351         * tests/test-dup2.c (is_inheritable): Only define if used.
28352
28353 2010-01-01  Bruno Haible  <bruno@clisp.org>
28354
28355         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
28356         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
28357         defined, use wctomb instead of wcrtomb.
28358
28359 2010-01-01  Bruno Haible  <bruno@clisp.org>
28360
28361         iconv: Reject native Solaris iconv.
28362         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
28363         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
28364
28365 2009-12-31  Bruno Haible  <bruno@clisp.org>
28366
28367         * tests/test-signal.c (main): Remove test of 'SIG'.
28368
28369 2009-12-31  Bruno Haible  <bruno@clisp.org>
28370
28371         spawn: Fix incomplete fix.
28372         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28373         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28374         warnings for GNULIB_POSIXCHECK again.
28375         Reported by Eric Blake.
28376
28377 2009-12-31  Bruno Haible  <bruno@clisp.org>
28378
28379         Avoid namespace pollution on glibc systems.
28380         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
28381         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
28382         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
28383         glibc systems.
28384
28385 2009-12-31  Bruno Haible  <bruno@clisp.org>
28386
28387         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
28388         (gl_REPLACE_WCHAR_H): Turn into a no-op.
28389         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
28390         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
28391         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
28392         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
28393         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
28394
28395 2009-12-31  Bruno Haible  <bruno@clisp.org>
28396
28397         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28398         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
28399         afterwards.
28400
28401 2009-12-31  Bruno Haible  <bruno@clisp.org>
28402
28403         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
28404         SYS_UTSNAME_H.
28405
28406 2009-12-31  Bruno Haible  <bruno@clisp.org>
28407
28408         spawn: Fix misapplied patch.
28409         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28410         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28411         warnings for GNULIB_POSIXCHECK.
28412
28413 2009-12-31  Bruno Haible  <bruno@clisp.org>
28414
28415         times: Update after sys_times changed.
28416         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
28417         * modules/times (Files): Add it.
28418         (configure.ac): Invoke gl_FUNC_TIMES.
28419
28420 2009-12-31  Bruno Haible  <bruno@clisp.org>
28421
28422         Use AC_C_INLINE where necessary.
28423         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
28424         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
28425         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
28426         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
28427         * m4/mbfile.m4 (gl_MBFILE): Likewise.
28428         * m4/mbiter.m4 (gl_MBITER): Likewise.
28429         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
28430         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28431         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
28432         * modules/u64 (configure.ac): Likewise.
28433
28434 2009-12-31  Bruno Haible  <bruno@clisp.org>
28435
28436         Use AC_C_INLINE instead of module 'inline' where possible.
28437         * modules/inline (Description): Clarify purpose.
28438         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
28439         * modules/count-one-bits (Depends-on): Remove inline.
28440         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
28441         * modules/openat (Depends-on): Remove inline.
28442         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
28443         instead of depending on module 'inline'.
28444         * modules/filevercmp (Depends-on, configure.ac): Likewise.
28445         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
28446         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
28447         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
28448         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
28449         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
28450         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
28451         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
28452         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
28453         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
28454         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
28455         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
28456         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
28457         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
28458         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
28459         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
28460         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
28461         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
28462         Likewise.
28463         * modules/unictype/property-ascii-hex-digit (Depends-on,
28464         configure.ac): Likewise.
28465         * modules/unictype/property-bidi-arabic-digit (Depends-on,
28466         configure.ac): Likewise.
28467         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
28468         configure.ac): Likewise.
28469         * modules/unictype/property-bidi-block-separator (Depends-on,
28470         configure.ac): Likewise.
28471         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
28472         configure.ac): Likewise.
28473         * modules/unictype/property-bidi-common-separator (Depends-on,
28474         configure.ac): Likewise.
28475         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
28476         Likewise.
28477         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
28478         configure.ac): Likewise.
28479         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
28480         configure.ac): Likewise.
28481         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
28482         configure.ac): Likewise.
28483         * modules/unictype/property-bidi-european-digit (Depends-on,
28484         configure.ac): Likewise.
28485         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
28486         configure.ac): Likewise.
28487         * modules/unictype/property-bidi-left-to-right (Depends-on,
28488         configure.ac): Likewise.
28489         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
28490         configure.ac): Likewise.
28491         * modules/unictype/property-bidi-other-neutral (Depends-on,
28492         configure.ac): Likewise.
28493         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
28494         Likewise.
28495         * modules/unictype/property-bidi-segment-separator (Depends-on,
28496         configure.ac): Likewise.
28497         * modules/unictype/property-bidi-whitespace (Depends-on,
28498         configure.ac): Likewise.
28499         * modules/unictype/property-combining (Depends-on, configure.ac):
28500         Likewise.
28501         * modules/unictype/property-composite (Depends-on, configure.ac):
28502         Likewise.
28503         * modules/unictype/property-currency-symbol (Depends-on,
28504         configure.ac): Likewise.
28505         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
28506         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
28507         Likewise.
28508         * modules/unictype/property-default-ignorable-code-point (Depends-on,
28509         configure.ac): Likewise.
28510         * modules/unictype/property-deprecated (Depends-on, configure.ac):
28511         Likewise.
28512         * modules/unictype/property-diacritic (Depends-on, configure.ac):
28513         Likewise.
28514         * modules/unictype/property-extender (Depends-on, configure.ac):
28515         Likewise.
28516         * modules/unictype/property-format-control (Depends-on, configure.ac):
28517         Likewise.
28518         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
28519         Likewise.
28520         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
28521         Likewise.
28522         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
28523         Likewise.
28524         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
28525         Likewise.
28526         * modules/unictype/property-hyphen (Depends-on, configure.ac):
28527         Likewise.
28528         * modules/unictype/property-id-continue (Depends-on, configure.ac):
28529         Likewise.
28530         * modules/unictype/property-id-start (Depends-on, configure.ac):
28531         Likewise.
28532         * modules/unictype/property-ideographic (Depends-on, configure.ac):
28533         Likewise.
28534         * modules/unictype/property-ids-binary-operator (Depends-on,
28535         configure.ac): Likewise.
28536         * modules/unictype/property-ids-trinary-operator (Depends-on,
28537         configure.ac): Likewise.
28538         * modules/unictype/property-ignorable-control (Depends-on,
28539         configure.ac): Likewise.
28540         * modules/unictype/property-iso-control (Depends-on, configure.ac):
28541         Likewise.
28542         * modules/unictype/property-join-control (Depends-on, configure.ac):
28543         Likewise.
28544         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
28545         Likewise.
28546         * modules/unictype/property-line-separator (Depends-on, configure.ac):
28547         Likewise.
28548         * modules/unictype/property-logical-order-exception (Depends-on,
28549         configure.ac): Likewise.
28550         * modules/unictype/property-lowercase (Depends-on, configure.ac):
28551         Likewise.
28552         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
28553         * modules/unictype/property-non-break (Depends-on, configure.ac):
28554         Likewise.
28555         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
28556         Likewise.
28557         * modules/unictype/property-numeric (Depends-on, configure.ac):
28558         Likewise.
28559         * modules/unictype/property-other-alphabetic (Depends-on,
28560         configure.ac): Likewise.
28561         * modules/unictype/property-other-default-ignorable-code-point
28562         (Depends-on, configure.ac): Likewise.
28563         * modules/unictype/property-other-grapheme-extend (Depends-on,
28564         configure.ac): Likewise.
28565         * modules/unictype/property-other-id-continue (Depends-on,
28566         configure.ac): Likewise.
28567         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
28568         Likewise.
28569         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
28570         Likewise.
28571         * modules/unictype/property-other-math (Depends-on, configure.ac):
28572         Likewise.
28573         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
28574         Likewise.
28575         * modules/unictype/property-paired-punctuation (Depends-on,
28576         configure.ac): Likewise.
28577         * modules/unictype/property-paragraph-separator (Depends-on,
28578         configure.ac): Likewise.
28579         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
28580         Likewise.
28581         * modules/unictype/property-pattern-white-space (Depends-on,
28582         configure.ac): Likewise.
28583         * modules/unictype/property-private-use (Depends-on, configure.ac):
28584         Likewise.
28585         * modules/unictype/property-punctuation (Depends-on, configure.ac):
28586         Likewise.
28587         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
28588         Likewise.
28589         * modules/unictype/property-radical (Depends-on, configure.ac):
28590         Likewise.
28591         * modules/unictype/property-sentence-terminal (Depends-on,
28592         configure.ac): Likewise.
28593         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
28594         Likewise.
28595         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
28596         * modules/unictype/property-terminal-punctuation (Depends-on,
28597         configure.ac): Likewise.
28598         * modules/unictype/property-titlecase (Depends-on, configure.ac):
28599         Likewise.
28600         * modules/unictype/property-unassigned-code-value (Depends-on,
28601         configure.ac): Likewise.
28602         * modules/unictype/property-unified-ideograph (Depends-on,
28603         configure.ac): Likewise.
28604         * modules/unictype/property-uppercase (Depends-on, configure.ac):
28605         Likewise.
28606         * modules/unictype/property-variation-selector (Depends-on,
28607         configure.ac): Likewise.
28608         * modules/unictype/property-white-space (Depends-on, configure.ac):
28609         Likewise.
28610         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
28611         Likewise.
28612         * modules/unictype/property-xid-start (Depends-on, configure.ac):
28613         Likewise.
28614         * modules/unictype/property-zero-width (Depends-on, configure.ac):
28615         Likewise.
28616         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
28617         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
28618         Likewise.
28619
28620 2009-12-31  Bruno Haible  <bruno@clisp.org>
28621
28622         Remove unnecessary AC_C_INLINE invocation.
28623         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
28624         since 2009-08-21.
28625
28626 2009-12-31  Jim Meyering  <meyering@redhat.com>
28627
28628         maint.mk: don't require explicit gpg_key_ID in cfg.mk
28629         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
28630         With this change, we can all remove the gpg_key_ID = ... definition
28631         from our respective cfg.mk files.
28632
28633         maint.mk: create announcement template in ~/, not in /tmp
28634         * top/maint.mk (emit_upload_commands): Adjust.
28635         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
28636         Remove temporary file, .ci-msg.
28637
28638 2009-12-31  Eric Blake  <ebb9@byu.net>
28639
28640         link-warning: always build headers with link warnings
28641         * modules/arpa_inet (Makefile.am): Always build replacement
28642         header.
28643         * modules/ctype (Makefile.am): Likewise.
28644         * modules/dirent (Makefile.am): Likewise.
28645         * modules/inttypes (Makefile.am): Likewise.
28646         * modules/langinfo (Makefile.am): Likewise.
28647         * modules/locale (Makefile.am): Likewise.
28648         * modules/spawn (Makefile.am): Likewise.
28649         * modules/sys_file (Makefile.am): Likewise.
28650         * modules/sys_ioctl (Makefile.am): Likewise.
28651         * modules/sys_select (Makefile.am): Likewise.
28652         * modules/sys_socket (Makefile.am): Likewise.
28653         * modules/sys_times (Makefile.am): Likewise.
28654         * modules/sys_utsname (Makefile.am): Likewise.
28655         * modules/sys_wait (Makefile.am): Likewise.
28656         * modules/wchar (Makefile.am): Likewise.
28657         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
28658         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
28659         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
28660         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
28661         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
28662         Likewise.
28663         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
28664         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
28665         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
28666         Likewise.
28667         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
28668         Likewise.
28669         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
28670         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
28671         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
28672         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28673         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28674         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
28675         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
28676         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
28677         (gl_WCHAR_H_DEFAULTS): Likewise.
28678
28679 2009-12-31  Eric Blake  <ebb9@byu.net>
28680
28681         signal, spawn: use link warnings
28682         * lib/signal.in.h (sigset_t): Make unconditional.
28683         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
28684         (sigpending, sigprocmask, sigaction): Add link warnings.
28685         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
28686         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
28687         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
28688         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
28689         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
28690         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
28691         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
28692         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
28693         (posix_spawn_file_actions_destroy)
28694         (posix_spawn_file_actions_addopen)
28695         (posix_spawn_file_actions_addclose)
28696         (posix_spawn_file_actions_adddup2): Likewise.
28697         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
28698         * tests/test-signal.c (main): Enhance test.
28699
28700         spawn: improve wrapper support
28701         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
28702         (gl_SPAWN_H_DEFAULTS): New defaults.
28703         * modules/spawn (Makefile.am): Substitute them.
28704         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
28705         Only declare if missing or broken.
28706
28707         sys_times, sys_utsname: use include_next
28708         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
28709         header.
28710         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
28711         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
28712         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
28713         * modules/sys_times (Depends-on): Add include_next.
28714         (Makefile.am): Substitute additional values.
28715         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
28716         * lib/sys_times.in.h (includes): Include native header, if
28717         available.
28718         * lib/sys_utsname.in.h (includes): Likewise.
28719         * tests/test-sys_times.c (main): Enhance test.
28720
28721         fdutimensat: revert prior patch
28722         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
28723         utimens.h.
28724         Reported by Bruno Haible.
28725
28726 2009-12-30  Eric Blake  <ebb9@byu.net>
28727
28728         sys_wait: drop link-warning dependency
28729         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
28730         link-warning efforts.
28731         * lib/sys_wait.in.h: Likewise.
28732
28733         fdutimensat: remove bogus dependency
28734         * modules/fdutimensat (Depends-on): Drop inline.
28735
28736         unistd: fix typo
28737         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
28738
28739 2009-12-30  Bruno Haible  <bruno@clisp.org>
28740
28741         Fix compilation error with Solaris cc.
28742         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
28743         * lib/unicase/u16-is-invariant.c: Likewise.
28744         * lib/unicase/u32-is-invariant.c: Likewise.
28745         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
28746
28747 2009-12-30  Bruno Haible  <bruno@clisp.org>
28748
28749         Fix test crash.
28750         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
28751         locales.
28752         Reported by Simon Josefsson <simon@josefsson.org>.
28753
28754 2009-12-30  Bruno Haible  <bruno@clisp.org>
28755
28756         Fix compilation error on most platforms.
28757         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
28758         Reported by Simon Josefsson <simon@josefsson.org>
28759         and Nelson H. F. Beebe <beebe@math.utah.edu>.
28760
28761 2009-12-30  Eric Blake  <ebb9@byu.net>
28762
28763         futimens, utimensat: work around ntfs-3g bug
28764         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
28765         a ctime bug is present, and expand workaround to cover ntfs-3g.
28766         * lib/utimens.c (fdutimens, lutimens): Likewise.
28767         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
28768         (validate_timespec): Adjust return value.
28769         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
28770         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28771         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
28772
28773 2009-12-29  Eric Blake  <ebb9@byu.net>
28774
28775         link-warning: make usage consistent
28776         * modules/ctype (Depends-on): Add link-warning.
28777         (Makefile.am): Update rules accordingly.
28778         * modules/langinfo (Depends-on, Makefile.am): Likewise.
28779         * modules/locale (Depends-on, Makefile.am): Likewise.
28780         * modules/sys_file (Makefile.am): Likewise.
28781         * modules/getopt-posix (Makefile.am): Delete unused link warning
28782         efforts.
28783         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
28784         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
28785         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
28786         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
28787
28788         stdio: remove unused variables
28789         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
28790         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
28791         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
28792
28793         tests: test more substitute headers
28794         * modules/ctype-tests: New file.
28795         * modules/dirent-tests: Likewise.
28796         * modules/spawn-tests: Likewise.
28797         * modules/sys_file-tests: Likewise.
28798         * modules/sys_ioctl-tests: Likewise.
28799         * modules/sys_wait-tests: Likewise.
28800         * tests/test-ctype.c: Likewise.
28801         * tests/test-dirent.c: Likewise.
28802         * tests/test-spawn.c: Likewise.
28803         * tests/test-sys_file.c: Likewise.
28804         * tests/test-sys_ioctl.c: Likewise.
28805         * tests/test-sys_wait.c: Likewise.
28806         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
28807         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
28808         whether or not flock is in use.
28809
28810         tests: remove License section from module
28811         * modules/arpa_inet-tests: Remove unneeded section.
28812         * modules/byteswap-tests: Likewise.
28813         * modules/ceilf-tests: Likewise.
28814         * modules/ceill-tests: Likewise.
28815         * modules/crypto/des-tests: Likewise.
28816         * modules/crypto/gc-arcfour-tests: Likewise.
28817         * modules/crypto/gc-arctwo-tests: Likewise.
28818         * modules/crypto/gc-des-tests: Likewise.
28819         * modules/crypto/gc-hmac-md5-tests: Likewise.
28820         * modules/crypto/gc-hmac-sha1-tests: Likewise.
28821         * modules/crypto/gc-md2-tests: Likewise.
28822         * modules/crypto/gc-md4-tests: Likewise.
28823         * modules/crypto/gc-md5-tests: Likewise.
28824         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
28825         * modules/crypto/gc-rijndael-tests: Likewise.
28826         * modules/crypto/gc-sha1-tests: Likewise.
28827         * modules/crypto/gc-tests: Likewise.
28828         * modules/crypto/md2-tests: Likewise.
28829         * modules/crypto/md4-tests: Likewise.
28830         * modules/fcntl-h-tests: Likewise.
28831         * modules/floorf-tests: Likewise.
28832         * modules/floorl-tests: Likewise.
28833         * modules/frexp-nolibm-tests: Likewise.
28834         * modules/frexp-tests: Likewise.
28835         * modules/frexpl-nolibm-tests: Likewise.
28836         * modules/frexpl-tests: Likewise.
28837         * modules/getaddrinfo-tests: Likewise.
28838         * modules/inttypes-tests: Likewise.
28839         * modules/isfinite-tests: Likewise.
28840         * modules/isinf-tests: Likewise.
28841         * modules/ldexpl-tests: Likewise.
28842         * modules/locale-tests: Likewise.
28843         * modules/math-tests: Likewise.
28844         * modules/netdb-tests: Likewise.
28845         * modules/netinet_in-tests: Likewise.
28846         * modules/printf-frexp-tests: Likewise.
28847         * modules/printf-frexpl-tests: Likewise.
28848         * modules/priv-set-tests: Likewise.
28849         * modules/random_r-tests: Likewise.
28850         * modules/round-tests: Likewise.
28851         * modules/roundf-tests: Likewise.
28852         * modules/roundl-tests: Likewise.
28853         * modules/search-tests: Likewise.
28854         * modules/select-tests: Likewise.
28855         * modules/signal-tests: Likewise.
28856         * modules/stdbool-tests: Likewise.
28857         * modules/stddef-tests: Likewise.
28858         * modules/stdint-tests: Likewise.
28859         * modules/stdio-tests: Likewise.
28860         * modules/stdlib-tests: Likewise.
28861         * modules/string-tests: Likewise.
28862         * modules/strings-tests: Likewise.
28863         * modules/sys_select-tests: Likewise.
28864         * modules/sys_socket-tests: Likewise.
28865         * modules/sys_stat-tests: Likewise.
28866         * modules/sys_time-tests: Likewise.
28867         * modules/sys_utsname-tests: Likewise.
28868         * modules/sysexits-tests: Likewise.
28869         * modules/time-tests: Likewise.
28870         * modules/trunc-tests: Likewise.
28871         * modules/truncf-tests: Likewise.
28872         * modules/truncl-tests: Likewise.
28873         * modules/tsearch-tests: Likewise.
28874         * modules/unistd-tests: Likewise.
28875         * modules/wchar-tests: Likewise.
28876         * modules/wctype-tests: Likewise.
28877
28878         tests: fix license on several tests
28879         * tests/test-des.c: Update to GPLv3+.
28880         * tests/test-flock.c: Likewise.
28881         * tests/test-fsync.c: Likewise.
28882         * tests/test-futimens.h: Likewise.
28883         * tests/test-gc-arcfour.c: Likewise.
28884         * tests/test-gc-arctwo.c: Likewise.
28885         * tests/test-gc-des.c: Likewise.
28886         * tests/test-gc-hmac-md5.c: Likewise.
28887         * tests/test-gc-hmac-sha1.c: Likewise.
28888         * tests/test-gc-md2.c: Likewise.
28889         * tests/test-gc-md4.c: Likewise.
28890         * tests/test-gc-md5.c: Likewise.
28891         * tests/test-gc-pbkdf2-sha1.c: Likewise.
28892         * tests/test-gc-rijndael.c: Likewise.
28893         * tests/test-gc-sha1.c: Likewise.
28894         * tests/test-gc.c: Likewise.
28895         * tests/test-getcwd.c: Likewise.
28896         * tests/test-link.c: Likewise.
28897         * tests/test-link.h: Likewise.
28898         * tests/test-lutimens.h: Likewise.
28899         * tests/test-md2.c: Likewise.
28900         * tests/test-md4.c: Likewise.
28901         * tests/test-mkdir.h: Likewise.
28902         * tests/test-rename.c: Likewise.
28903         * tests/test-rename.h: Likewise.
28904         * tests/test-safe-alloc.c: Likewise.
28905         * tests/test-utimens-common.h: Likewise.
28906         * tests/test-utimens.h: Likewise.
28907
28908         maint: sync license texts
28909         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
28910         * doc/gpl-3.0.texi: Revert copyright year update.
28911         * doc/lgpl-3.0.texi: Likewise.
28912
28913 2009-12-29  Jim Meyering  <meyering@redhat.com>
28914
28915         update nearly all FSF copyright year lists to include 2009
28916         The files named by the following are exempted:
28917             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
28918               test -f "$dst" && { echo "$dst"; continue; }
28919               test -d "$dst" || continue
28920               echo "$dst"/$(basename "$src")
28921             done > exempt
28922             git ls-files tests/unictype >> exempt
28923         In the remaining files, convert to all-interval notation if
28924         - there is already at least one year interval like 2000-2003
28925         - the file is maintained by me
28926         - the file is in lib/uni*/, where that style already prevails
28927         Otherwise, use update-copyright's default.
28928
28929 2009-12-29  Simon Josefsson  <simon@josefsson.org>
28930         and Eric Blake  <ebb9@byu.net>
28931
28932         tests: don't require debug system() to pass
28933         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
28934         * tests/test-rmdir.h (test_rmdir_func): Likewise.
28935         * tests/test-unlink.h (test_unlink_func): Likewise.
28936         * tests/test-fstatat.c (main): ...into callers.
28937         * tests/test-lstat.c (main): Likewise.
28938         * tests/test-rmdir.c (main): Likewise.
28939         * tests/test-unlink.c (main): Likewise.
28940         * tests/test-unlinkat.c (main): Likewise.
28941         * tests/test-areadlink-with-size.c (main): Don't require a
28942         debug-only system call to pass, aiding cross-testing to mingw.
28943         * tests/test-areadlink.c (main): Likewise.
28944         * tests/test-areadlinkat-with-size.c (main): Likewise.
28945         * tests/test-areadlinkat.c (main): Likewise.
28946         * tests/test-canonicalize-lgpl.c (main): Likewise.
28947         * tests/test-canonicalize.c (main): Likewise.
28948         * tests/test-chown.c (main): Likewise.
28949         * tests/test-fchownat.c (main): Likewise.
28950         * tests/test-lchown.c (main): Likewise.
28951         * tests/test-fdutimensat.c (main): Likewise.
28952         * tests/test-futimens.c (main): Likewise.
28953         * tests/test-link.c (main): Likewise.
28954         * tests/test-linkat.c (main): Likewise.
28955         * tests/test-mkdir.c (main): Likewise.
28956         * tests/test-mkdirat.c (main): Likewise.
28957         * tests/test-mkfifo.c (main): Likewise.
28958         * tests/test-mkfifoat.c (main): Likewise.
28959         * tests/test-mknod.c (main): Likewise.
28960         * tests/test-readlink.c (main): Likewise.
28961         * tests/test-remove.c (main): Likewise.
28962         * tests/test-rename.c (main): Likewise.
28963         * tests/test-renameat.c (main): Likewise.
28964         * tests/test-symlink.c (main): Likewise.
28965         * tests/test-symlinkat.c (main): Likewise.
28966         * tests/test-utimens.c (main): Likewise.
28967         * tests/test-utimensat.c (main): Likewise.
28968
28969 2009-12-29  Simon Josefsson  <simon@josefsson.org>
28970
28971         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
28972         on $(UNUSED_PARAMETER_H) to avoid build failure.
28973
28974 2009-12-28  Jim Meyering  <meyering@redhat.com>
28975
28976         update-copyright: you may specify a max. line length other than 72
28977         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
28978
28979         maint: use consistent FSF copyright line syntax
28980         * lib/posixtm.c: Add missing comma in FSF copyright line.
28981         * lib/posixtm.h: Likewise.
28982         * lib/getugroups.c: Add missing ", Inc.".
28983
28984         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
28985         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
28986         FSF copyright line.  Remove trailing blanks.
28987
28988 2009-12-28  Eric Blake  <ebb9@byu.net>
28989
28990         test-dup2: reduce dependencies
28991         * modules/cloexec (Configure.ac): Set witness.
28992         * modules/dup2-tests (Depends-on): Drop cloexec.
28993         * tests/test-dup2.c (main): Skip portion of test if cloexec module
28994         not present.
28995         Suggested by Bruno Haible.
28996
28997 2009-12-26  Bruno Haible  <bruno@clisp.org>
28998
28999         Remove an unneeded dependency.
29000         * modules/fseterr (Depends-on): Remove dup2.
29001
29002 2009-12-26  Eric Blake  <ebb9@byu.net>
29003
29004         tests: use macros.h in more places
29005         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
29006         (ASSERT_STREAM): Provide default of stderr.
29007         * tests/test-dirent-safer.c: Include macros.h, using alternate
29008         stream for assertions.
29009         * tests/test-dup-safer.c: Likewise.
29010         * tests/test-freopen-safer.c: Likewise.
29011         * tests/test-getopt.c: Likewise.
29012         * tests/test-openat-safer.c: Likewise.
29013         * tests/test-pipe.c: Likewise.
29014         * tests/test-popen-safer.c: Likewise.
29015         * modules/dirent-safer-tests (Files): Include macros.h.
29016         * modules/unistd-safer-tests (Files): Likewise.
29017         * modules/freopen-safer-tests (Files): Likewise.
29018         * modules/getopt-posix-tests (Files): Likewise.
29019         * modules/openat-safer-tests (Files): Likewise.
29020         * modules/pipe-tests (Files): Likewise.
29021
29022 2009-12-26  Bruno Haible  <bruno@clisp.org>
29023
29024         javacomp: Portability fix.
29025         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
29026         that it also works on Solaris.
29027
29028 2009-12-26  Bruno Haible  <bruno@clisp.org>
29029
29030         localename: Fix storage allocation of gl_locale_name_thread's result.
29031         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
29032         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
29033         all platforms that have 'uselocale'.
29034         (gl_locale_name_thread_unsafe): New function, extracted from
29035         gl_locale_name_thread.
29036         (gl_locale_name_thread): Call struniq on all platforms that have
29037         'uselocale'.
29038         * tests/test-localename.c (test_locale_name_thread): Check that the
29039         resulting strings are permanently allocated.
29040         * modules/localename-tests (Depends-on): Add strdup.
29041
29042 2009-12-26  Bruno Haible  <bruno@clisp.org>
29043
29044         * tests/test-localename.c (categories): Fill in the strings.
29045
29046 2009-12-26  Jim Meyering  <meyering@redhat.com>
29047
29048         isdir: complete the removal of m4/isdir.m4
29049         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
29050
29051         isdir: clean up, since at least grep still uses it
29052         * lib/isdir.c: Include "isdir.h".
29053         (S_ISDIR): Remove now-unneeded definition.
29054         * modules/isdir (Files): Add lib/isdir.h.
29055         * lib/isdir.h: New file, with declaration.
29056         * m4/isdir.m4: Remove file -- unneeded.
29057
29058 2009-12-25  Bruno Haible  <bruno@clisp.org>
29059
29060         selinux-h: Make generated .h files standalone.
29061         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
29062         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
29063         * lib/se-selinux.in.h: Likewise.
29064         * modules/selinux-h (Depends-on): Add unused-parameter.
29065         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
29066         selinux/selinux.h and selinux/context.h.
29067         Suggested by Eric Blake.
29068
29069 2009-12-25  Bruno Haible  <bruno@clisp.org>
29070
29071         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
29072         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
29073         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
29074         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
29075         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
29076
29077 2009-12-24  Bruno Haible  <bruno@clisp.org>
29078
29079         openat: Fix warning.
29080         * lib/openat-proc.c: Include <unistd.h>.
29081
29082 2009-12-24  Bruno Haible  <bruno@clisp.org>
29083
29084         New module 'unused-parameter'.
29085         * build-aux/unused-parameter.h: New file, extracted from earlier
29086         gnulib-common.m4.
29087         * modules/unused-parameter: New file.
29088         * lib/unistr.h: Include unused-parameter.h.
29089         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
29090         _GL_UNUSED.
29091         * modules/unistr/base (Depends-on): Add unused-parameter.
29092
29093 2009-12-24  Bruno Haible  <bruno@clisp.org>
29094
29095         Add missing dependencies to 'extensions' module.
29096         * m4/extensions.m4: Add comment.
29097         * modules/accept4 (Depends-on): Add extensions.
29098         * modules/dup3 (Depends-on): Likewise.
29099         * modules/fcntl (Depends-on): Likewise.
29100         * modules/futimens (Depends-on): Likewise.
29101         * modules/mknod (Depends-on): Likewise.
29102         * modules/pipe2 (Depends-on): Likewise.
29103         * modules/stat-time (Depends-on): Likewise.
29104         * modules/strcasestr-simple (Depends-on): Likewise.
29105         * modules/strsignal (Depends-on): Likewise.
29106         * modules/utimensat (Depends-on): Likewise.
29107         * modules/localcharset (Depends-on): Likewise. Needed because of
29108         gl_FCNTL_O_FLAGS.
29109         * modules/wcrtomb (Depends-on): Likewise. Needed because of
29110         AC_TYPE_MBSTATE_T.
29111         * modules/wcsnrtombs (Depends-on): Likewise.
29112         * modules/wcsrtombs (Depends-on): Likewise.
29113
29114 2009-12-24  Bruno Haible  <bruno@clisp.org>
29115
29116         binary-io: Avoid gcc warning due to SET_BINARY.
29117         * lib/binary-io.h (SET_BINARY): Cast the result to void.
29118         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
29119
29120 2009-12-24  Bruno Haible  <bruno@clisp.org>
29121
29122         Avoid future namespace pollution on glibc systems.
29123         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
29124         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
29125         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
29126         glibc systems.
29127
29128 2009-12-24  Bruno Haible  <bruno@clisp.org>
29129
29130         Refactor common macros used in tests.
29131         * tests/macros.h: New file.
29132         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
29133         and/or <stdlib.h>, if appropriate.
29134         (ASSERT, SIZEOF): Remove macros.
29135         * tests/test-areadlink-with-size.c: Likewise.
29136         * tests/test-areadlinkat.c: Likewise.
29137         * tests/test-areadlinkat-with-size.c: Likewise.
29138         * tests/test-argmatch.c: Likewise.
29139         * tests/test-argv-iter.c: Likewise.
29140         * tests/test-array-mergesort.c: Likewise.
29141         * tests/test-array_list.c: Likewise.
29142         * tests/test-array_oset.c: Likewise.
29143         * tests/test-avltree_list.c: Likewise.
29144         * tests/test-avltree_oset.c: Likewise.
29145         * tests/test-avltreehash_list.c: Likewise.
29146         * tests/test-base64.c: Likewise.
29147         * tests/test-binary-io.c: Likewise.
29148         * tests/test-bitrotate.c: Likewise.
29149         * tests/test-btowc.c: Likewise.
29150         * tests/test-byteswap.c: Likewise.
29151         * tests/test-c-ctype.c: Likewise.
29152         * tests/test-c-stack.c: Likewise.
29153         * tests/test-c-strcasecmp.c: Likewise.
29154         * tests/test-c-strcasestr.c: Likewise.
29155         * tests/test-c-strncasecmp.c: Likewise.
29156         * tests/test-c-strstr.c: Likewise.
29157         * tests/test-canonicalize-lgpl.c: Likewise.
29158         * tests/test-canonicalize.c: Likewise.
29159         * tests/test-carray_list.c: Likewise.
29160         * tests/test-ceilf1.c: Likewise.
29161         * tests/test-ceilf2.c: Likewise.
29162         * tests/test-ceill.c: Likewise.
29163         * tests/test-chown.c: Likewise.
29164         * tests/test-cloexec.c: Likewise.
29165         * tests/test-copy-acl.c: Likewise.
29166         * tests/test-copy-file.c: Likewise.
29167         * tests/test-count-one-bits.c: Likewise.
29168         * tests/test-dprintf-posix.c: Likewise.
29169         * tests/test-dup2.c: Likewise.
29170         * tests/test-dup3.c: Likewise.
29171         * tests/test-duplocale.c: Likewise.
29172         * tests/test-fbufmode.c: Likewise.
29173         * tests/test-fchdir.c: Likewise.
29174         * tests/test-fchownat.c: Likewise.
29175         * tests/test-fcntl-safer.c: Likewise.
29176         * tests/test-fcntl.c: Likewise.
29177         * tests/test-fdopendir.c: Likewise.
29178         * tests/test-fdutimensat.c: Likewise.
29179         * tests/test-fflush2.c: Likewise.
29180         * tests/test-file-has-acl.c: Likewise.
29181         * tests/test-filevercmp.c: Likewise.
29182         * tests/test-flock.c: Likewise.
29183         * tests/test-floorf1.c: Likewise.
29184         * tests/test-floorf2.c: Likewise.
29185         * tests/test-floorl.c: Likewise.
29186         * tests/test-fnmatch.c: Likewise.
29187         * tests/test-fopen.h: Likewise.
29188         * tests/test-fpending.c: Likewise.
29189         * tests/test-fprintf-posix.c: Likewise.
29190         * tests/test-fpurge.c: Likewise.
29191         * tests/test-freadable.c: Likewise.
29192         * tests/test-freadahead.c: Likewise.
29193         * tests/test-freading.c: Likewise.
29194         * tests/test-freadptr.c: Likewise.
29195         * tests/test-freadptr2.c: Likewise.
29196         * tests/test-freadseek.c: Likewise.
29197         * tests/test-freopen.c: Likewise.
29198         * tests/test-frexp.c: Likewise.
29199         * tests/test-frexpl.c: Likewise.
29200         * tests/test-fseek.c: Likewise.
29201         * tests/test-fseeko.c: Likewise.
29202         * tests/test-fstatat.c: Likewise.
29203         * tests/test-fstrcmp.c: Likewise.
29204         * tests/test-fsync.c: Likewise.
29205         * tests/test-ftell.c: Likewise.
29206         * tests/test-ftello.c: Likewise.
29207         * tests/test-func.c: Likewise.
29208         * tests/test-futimens.c: Likewise.
29209         * tests/test-fwritable.c: Likewise.
29210         * tests/test-fwriting.c: Likewise.
29211         * tests/test-getcwd.c: Likewise.
29212         * tests/test-getdate.c: Likewise.
29213         * tests/test-getdelim.c: Likewise.
29214         * tests/test-getdtablesize.c: Likewise.
29215         * tests/test-getgroups.c: Likewise.
29216         * tests/test-getline.c: Likewise.
29217         * tests/test-getndelim2.c: Likewise.
29218         * tests/test-glob.c: Likewise.
29219         * tests/test-hash.c: Likewise.
29220         * tests/test-i-ring.c: Likewise.
29221         * tests/test-iconv-utf.c: Likewise.
29222         * tests/test-iconv.c: Likewise.
29223         * tests/test-idpriv-drop.c: Likewise.
29224         * tests/test-idpriv-droptemp.c: Likewise.
29225         * tests/test-inet_ntop.c: Likewise.
29226         * tests/test-inet_pton.c: Likewise.
29227         * tests/test-isblank.c: Likewise.
29228         * tests/test-isfinite.c: Likewise.
29229         * tests/test-isinf.c: Likewise.
29230         * tests/test-isnan.c: Likewise.
29231         * tests/test-isnand.h: Likewise.
29232         * tests/test-isnanf.h: Likewise.
29233         * tests/test-isnanl.h: Likewise.
29234         * tests/test-lchown.c: Likewise.
29235         * tests/test-ldexpl.c: Likewise.
29236         * tests/test-link.c: Likewise.
29237         * tests/test-linkat.c: Likewise.
29238         * tests/test-linked_list.c: Likewise.
29239         * tests/test-linkedhash_list.c: Likewise.
29240         * tests/test-localename.c: Likewise.
29241         * tests/test-lseek.c: Likewise.
29242         * tests/test-lstat.c: Likewise.
29243         * tests/test-mbmemcasecmp.c: Likewise.
29244         * tests/test-mbmemcasecoll.c: Likewise.
29245         * tests/test-mbrtowc.c: Likewise.
29246         * tests/test-mbscasecmp.c: Likewise.
29247         * tests/test-mbscasestr1.c: Likewise.
29248         * tests/test-mbscasestr2.c: Likewise.
29249         * tests/test-mbscasestr3.c: Likewise.
29250         * tests/test-mbscasestr4.c: Likewise.
29251         * tests/test-mbschr.c: Likewise.
29252         * tests/test-mbscspn.c: Likewise.
29253         * tests/test-mbsinit.c: Likewise.
29254         * tests/test-mbsncasecmp.c: Likewise.
29255         * tests/test-mbsnrtowcs.c: Likewise.
29256         * tests/test-mbspbrk.c: Likewise.
29257         * tests/test-mbspcasecmp.c: Likewise.
29258         * tests/test-mbsrchr.c: Likewise.
29259         * tests/test-mbsrtowcs.c: Likewise.
29260         * tests/test-mbsspn.c: Likewise.
29261         * tests/test-mbsstr1.c: Likewise.
29262         * tests/test-mbsstr2.c: Likewise.
29263         * tests/test-mbsstr3.c: Likewise.
29264         * tests/test-memchr.c: Likewise.
29265         * tests/test-memchr2.c: Likewise.
29266         * tests/test-memcmp.c: Likewise.
29267         * tests/test-memmem.c: Likewise.
29268         * tests/test-memrchr.c: Likewise.
29269         * tests/test-mkdir.c: Likewise.
29270         * tests/test-mkdirat.c: Likewise.
29271         * tests/test-mkfifo.c: Likewise.
29272         * tests/test-mkfifoat.c: Likewise.
29273         * tests/test-mknod.c: Likewise.
29274         * tests/test-nanosleep.c: Likewise.
29275         * tests/test-nl_langinfo.c: Likewise.
29276         * tests/test-obstack-printf.c: Likewise.
29277         * tests/test-open.c: Likewise.
29278         * tests/test-openat.c: Likewise.
29279         * tests/test-pipe-filter-gi1.c: Likewise.
29280         * tests/test-pipe-filter-gi2-main.c: Likewise.
29281         * tests/test-pipe-filter-ii1.c: Likewise.
29282         * tests/test-pipe-filter-ii2-main.c: Likewise.
29283         * tests/test-pipe2.c: Likewise.
29284         * tests/test-popen.h: Likewise.
29285         * tests/test-posixtm.c: Likewise.
29286         * tests/test-pread.c: Likewise.
29287         * tests/test-printf-frexp.c: Likewise.
29288         * tests/test-printf-frexpl.c: Likewise.
29289         * tests/test-printf-posix.c: Likewise.
29290         * tests/test-priv-set.c: Likewise.
29291         * tests/test-quotearg.c: Likewise.
29292         * tests/test-random_r.c: Likewise.
29293         * tests/test-rawmemchr.c: Likewise.
29294         * tests/test-rbtree_list.c: Likewise.
29295         * tests/test-rbtree_oset.c: Likewise.
29296         * tests/test-rbtreehash_list.c: Likewise.
29297         * tests/test-readlink.c: Likewise.
29298         * tests/test-remove.c: Likewise.
29299         * tests/test-rename.c: Likewise.
29300         * tests/test-renameat.c: Likewise.
29301         * tests/test-rmdir.c: Likewise.
29302         * tests/test-round1.c: Likewise.
29303         * tests/test-roundf1.c: Likewise.
29304         * tests/test-roundl.c: Likewise.
29305         * tests/test-safe-alloc.c: Likewise.
29306         * tests/test-sameacls.c: Likewise.
29307         * tests/test-set-mode-acl.c: Likewise.
29308         * tests/test-setenv.c: Likewise.
29309         * tests/test-sigaction.c: Likewise.
29310         * tests/test-signbit.c: Likewise.
29311         * tests/test-sleep.c: Likewise.
29312         * tests/test-snprintf-posix.c: Likewise.
29313         * tests/test-snprintf.c: Likewise.
29314         * tests/test-sprintf-posix.c: Likewise.
29315         * tests/test-stat-time.c: Likewise.
29316         * tests/test-stat.c: Likewise.
29317         * tests/test-strcasestr.c: Likewise.
29318         * tests/test-strchrnul.c: Likewise.
29319         * tests/test-strerror.c: Likewise.
29320         * tests/test-striconv.c: Likewise.
29321         * tests/test-striconveh.c: Likewise.
29322         * tests/test-striconveha.c: Likewise.
29323         * tests/test-strsignal.c: Likewise.
29324         * tests/test-strstr.c: Likewise.
29325         * tests/test-strtod.c: Likewise.
29326         * tests/test-strverscmp.c: Likewise.
29327         * tests/test-symlink.c: Likewise.
29328         * tests/test-symlinkat.c: Likewise.
29329         * tests/test-trunc1.c: Likewise.
29330         * tests/test-trunc2.c: Likewise.
29331         * tests/test-truncf1.c: Likewise.
29332         * tests/test-truncf2.c: Likewise.
29333         * tests/test-truncl.c: Likewise.
29334         * tests/test-uname.c: Likewise.
29335         * tests/test-unlink.c: Likewise.
29336         * tests/test-unlinkat.c: Likewise.
29337         * tests/test-unsetenv.c: Likewise.
29338         * tests/test-usleep.c: Likewise.
29339         * tests/test-utimens.c: Likewise.
29340         * tests/test-utimensat.c: Likewise.
29341         * tests/test-vasnprintf-posix.c: Likewise.
29342         * tests/test-vasnprintf-posix2.c: Likewise.
29343         * tests/test-vasnprintf.c: Likewise.
29344         * tests/test-vasprintf-posix.c: Likewise.
29345         * tests/test-vasprintf.c: Likewise.
29346         * tests/test-vdprintf-posix.c: Likewise.
29347         * tests/test-vfprintf-posix.c: Likewise.
29348         * tests/test-vprintf-posix.c: Likewise.
29349         * tests/test-vsnprintf-posix.c: Likewise.
29350         * tests/test-vsnprintf.c: Likewise.
29351         * tests/test-vsprintf-posix.c: Likewise.
29352         * tests/test-wcrtomb.c: Likewise.
29353         * tests/test-wcsnrtombs.c: Likewise.
29354         * tests/test-wcsrtombs.c: Likewise.
29355         * tests/test-wctype.c: Likewise.
29356         * tests/test-wcwidth.c: Likewise.
29357         * tests/test-xfprintf-posix.c: Likewise.
29358         * tests/test-xmemdup0.c: Likewise.
29359         * tests/test-xprintf-posix.c: Likewise.
29360         * tests/test-xvasprintf.c: Likewise.
29361         * tests/unicase/test-locale-language.c: Likewise.
29362         * tests/unicase/test-mapping-part1.h: Likewise.
29363         * tests/unicase/test-predicate-part1.h: Likewise.
29364         * tests/unicase/test-u8-casecmp.c: Likewise.
29365         * tests/unicase/test-u8-casecoll.c: Likewise.
29366         * tests/unicase/test-u8-casefold.c: Likewise.
29367         * tests/unicase/test-u8-is-cased.c: Likewise.
29368         * tests/unicase/test-u8-is-casefolded.c: Likewise.
29369         * tests/unicase/test-u8-is-lowercase.c: Likewise.
29370         * tests/unicase/test-u8-is-titlecase.c: Likewise.
29371         * tests/unicase/test-u8-is-uppercase.c: Likewise.
29372         * tests/unicase/test-u8-tolower.c: Likewise.
29373         * tests/unicase/test-u8-totitle.c: Likewise.
29374         * tests/unicase/test-u8-toupper.c: Likewise.
29375         * tests/unicase/test-u16-casecmp.c: Likewise.
29376         * tests/unicase/test-u16-casecoll.c: Likewise.
29377         * tests/unicase/test-u16-casefold.c: Likewise.
29378         * tests/unicase/test-u16-is-cased.c: Likewise.
29379         * tests/unicase/test-u16-is-casefolded.c: Likewise.
29380         * tests/unicase/test-u16-is-lowercase.c: Likewise.
29381         * tests/unicase/test-u16-is-titlecase.c: Likewise.
29382         * tests/unicase/test-u16-is-uppercase.c: Likewise.
29383         * tests/unicase/test-u16-tolower.c: Likewise.
29384         * tests/unicase/test-u16-totitle.c: Likewise.
29385         * tests/unicase/test-u16-toupper.c: Likewise.
29386         * tests/unicase/test-u32-casecmp.c: Likewise.
29387         * tests/unicase/test-u32-casecoll.c: Likewise.
29388         * tests/unicase/test-u32-casefold.c: Likewise.
29389         * tests/unicase/test-u32-is-cased.c: Likewise.
29390         * tests/unicase/test-u32-is-casefolded.c: Likewise.
29391         * tests/unicase/test-u32-is-lowercase.c: Likewise.
29392         * tests/unicase/test-u32-is-titlecase.c: Likewise.
29393         * tests/unicase/test-u32-is-uppercase.c: Likewise.
29394         * tests/unicase/test-u32-tolower.c: Likewise.
29395         * tests/unicase/test-u32-totitle.c: Likewise.
29396         * tests/unicase/test-u32-toupper.c: Likewise.
29397         * tests/unicase/test-ulc-casecmp.c: Likewise.
29398         * tests/unicase/test-ulc-casecoll.c: Likewise.
29399         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
29400         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
29401         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
29402         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
29403         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
29404         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
29405         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
29406         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
29407         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
29408         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
29409         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
29410         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
29411         * tests/unictype/test-bidi_byname.c: Likewise.
29412         * tests/unictype/test-bidi_name.c: Likewise.
29413         * tests/unictype/test-bidi_of.c: Likewise.
29414         * tests/unictype/test-bidi_test.c: Likewise.
29415         * tests/unictype/test-block_list.c: Likewise.
29416         * tests/unictype/test-block_of.c: Likewise.
29417         * tests/unictype/test-block_test.c: Likewise.
29418         * tests/unictype/test-categ_and.c: Likewise.
29419         * tests/unictype/test-categ_and_not.c: Likewise.
29420         * tests/unictype/test-categ_byname.c: Likewise.
29421         * tests/unictype/test-categ_name.c: Likewise.
29422         * tests/unictype/test-categ_none.c: Likewise.
29423         * tests/unictype/test-categ_of.c: Likewise.
29424         * tests/unictype/test-categ_or.c: Likewise.
29425         * tests/unictype/test-categ_test_withtable.c: Likewise.
29426         * tests/unictype/test-combining.c: Likewise.
29427         * tests/unictype/test-decdigit.c: Likewise.
29428         * tests/unictype/test-digit.c: Likewise.
29429         * tests/unictype/test-mirror.c: Likewise.
29430         * tests/unictype/test-numeric.c: Likewise.
29431         * tests/unictype/test-pr_byname.c: Likewise.
29432         * tests/unictype/test-pr_test.c: Likewise.
29433         * tests/unictype/test-predicate-part1.h: Likewise.
29434         * tests/unictype/test-scripts.c: Likewise.
29435         * tests/unictype/test-sy_c_ident.c: Likewise.
29436         * tests/unictype/test-sy_java_ident.c: Likewise.
29437         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
29438         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
29439         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
29440         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
29441         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
29442         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
29443         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
29444         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
29445         * tests/uninorm/test-canonical-decomposition.c: Likewise.
29446         * tests/uninorm/test-compat-decomposition.c: Likewise.
29447         * tests/uninorm/test-composition.c: Likewise.
29448         * tests/uninorm/test-decomposing-form.c: Likewise.
29449         * tests/uninorm/test-decomposition.c: Likewise.
29450         * tests/uninorm/test-u8-nfc.c: Likewise.
29451         * tests/uninorm/test-u8-nfd.c: Likewise.
29452         * tests/uninorm/test-u8-nfkc.c: Likewise.
29453         * tests/uninorm/test-u8-nfkd.c: Likewise.
29454         * tests/uninorm/test-u8-normcmp.c: Likewise.
29455         * tests/uninorm/test-u8-normcoll.c: Likewise.
29456         * tests/uninorm/test-u16-nfc.c: Likewise.
29457         * tests/uninorm/test-u16-nfd.c: Likewise.
29458         * tests/uninorm/test-u16-nfkc.c: Likewise.
29459         * tests/uninorm/test-u16-nfkd.c: Likewise.
29460         * tests/uninorm/test-u16-normcmp.c: Likewise.
29461         * tests/uninorm/test-u16-normcoll.c: Likewise.
29462         * tests/uninorm/test-u32-nfc.c: Likewise.
29463         * tests/uninorm/test-u32-nfd.c: Likewise.
29464         * tests/uninorm/test-u32-nfkc.c: Likewise.
29465         * tests/uninorm/test-u32-nfkd.c: Likewise.
29466         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29467         * tests/uninorm/test-u32-normcmp.c: Likewise.
29468         * tests/uninorm/test-u32-normcoll.c: Likewise.
29469         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
29470         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
29471         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
29472         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
29473         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
29474         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
29475         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
29476         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
29477         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
29478         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
29479         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
29480         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
29481         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
29482         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
29483         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
29484         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
29485         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
29486         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
29487         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
29488         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
29489         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
29490         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
29491         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
29492         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
29493         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
29494         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
29495         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
29496         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
29497         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
29498         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
29499         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
29500         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
29501         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
29502         * tests/uniwidth/test-u8-strwidth.c: Likewise.
29503         * tests/uniwidth/test-u8-width.c: Likewise.
29504         * tests/uniwidth/test-u16-strwidth.c: Likewise.
29505         * tests/uniwidth/test-u16-width.c: Likewise.
29506         * tests/uniwidth/test-u32-strwidth.c: Likewise.
29507         * tests/uniwidth/test-u32-width.c: Likewise.
29508         * tests/uniwidth/test-uc_width.c: Likewise.
29509         * tests/uniwidth/test-uc_width2.c: Likewise.
29510         * modules/acl-tests (Files): Add tests/macros.h.
29511         * modules/areadlink-tests (Files): Likewise.
29512         * modules/areadlink-with-size-tests (Files): Likewise.
29513         * modules/areadlinkat-tests (Files): Likewise.
29514         * modules/areadlinkat-with-size-tests (Files): Likewise.
29515         * modules/argmatch-tests (Files): Likewise.
29516         * modules/argv-iter-tests (Files): Likewise.
29517         * modules/array-list-tests (Files): Likewise.
29518         * modules/array-mergesort-tests (Files): Likewise.
29519         * modules/array-oset-tests (Files): Likewise.
29520         * modules/avltree-list-tests (Files): Likewise.
29521         * modules/avltree-oset-tests (Files): Likewise.
29522         * modules/avltreehash-list-tests (Files): Likewise.
29523         * modules/base64-tests (Files): Likewise.
29524         * modules/binary-io-tests (Files): Likewise.
29525         * modules/bitrotate-tests (Files): Likewise.
29526         * modules/btowc-tests (Files): Likewise.
29527         * modules/byteswap-tests (Files): Likewise.
29528         * modules/c-ctype-tests (Files): Likewise.
29529         * modules/c-stack-tests (Files): Likewise.
29530         * modules/c-strcase-tests (Files): Likewise.
29531         * modules/c-strcasestr-tests (Files): Likewise.
29532         * modules/c-strstr-tests (Files): Likewise.
29533         * modules/canonicalize-lgpl-tests (Files): Likewise.
29534         * modules/canonicalize-tests (Files): Likewise.
29535         * modules/carray-list-tests (Files): Likewise.
29536         * modules/ceilf-tests (Files): Likewise.
29537         * modules/ceill-tests (Files): Likewise.
29538         * modules/chown-tests (Files): Likewise.
29539         * modules/cloexec-tests (Files): Likewise.
29540         * modules/copy-file-tests (Files): Likewise.
29541         * modules/count-one-bits-tests (Files): Likewise.
29542         * modules/dprintf-posix-tests (Files): Likewise.
29543         * modules/dup2-tests (Files): Likewise.
29544         * modules/dup3-tests (Files): Likewise.
29545         * modules/duplocale-tests (Files): Likewise.
29546         * modules/fbufmode-tests (Files): Likewise.
29547         * modules/fchdir-tests (Files): Likewise.
29548         * modules/fcntl-safer-tests (Files): Likewise.
29549         * modules/fcntl-tests (Files): Likewise.
29550         * modules/fdopendir-tests (Files): Likewise.
29551         * modules/fdutimensat-tests (Files): Likewise.
29552         * modules/fflush-tests (Files): Likewise.
29553         * modules/filevercmp-tests (Files): Likewise.
29554         * modules/flock-tests (Files): Likewise.
29555         * modules/floorf-tests (Files): Likewise.
29556         * modules/floorl-tests (Files): Likewise.
29557         * modules/fnmatch-tests (Files): Likewise.
29558         * modules/fopen-safer-tests (Files): Likewise.
29559         * modules/fopen-tests (Files): Likewise.
29560         * modules/fpending-tests (Files): Likewise.
29561         * modules/fprintf-posix-tests (Files): Likewise.
29562         * modules/fpurge-tests (Files): Likewise.
29563         * modules/freadable-tests (Files): Likewise.
29564         * modules/freadahead-tests (Files): Likewise.
29565         * modules/freading-tests (Files): Likewise.
29566         * modules/freadptr-tests (Files): Likewise.
29567         * modules/freadseek-tests (Files): Likewise.
29568         * modules/freopen-tests (Files): Likewise.
29569         * modules/frexp-nolibm-tests (Files): Likewise.
29570         * modules/frexp-tests (Files): Likewise.
29571         * modules/frexpl-nolibm-tests (Files): Likewise.
29572         * modules/frexpl-tests (Files): Likewise.
29573         * modules/fseek-tests (Files): Likewise.
29574         * modules/fseeko-tests (Files): Likewise.
29575         * modules/fstrcmp-tests (Files): Likewise.
29576         * modules/fsync-tests (Files): Likewise.
29577         * modules/ftell-tests (Files): Likewise.
29578         * modules/ftello-tests (Files): Likewise.
29579         * modules/func-tests (Files): Likewise.
29580         * modules/futimens-tests (Files): Likewise.
29581         * modules/fwritable-tests (Files): Likewise.
29582         * modules/fwriting-tests (Files): Likewise.
29583         * modules/getcwd-tests (Files): Likewise.
29584         * modules/getdate-tests (Files): Likewise.
29585         * modules/getdelim-tests (Files): Likewise.
29586         * modules/getdtablesize-tests (Files): Likewise.
29587         * modules/getgroups-tests (Files): Likewise.
29588         * modules/getline-tests (Files): Likewise.
29589         * modules/getndelim2-tests (Files): Likewise.
29590         * modules/glob-tests (Files): Likewise.
29591         * modules/hash-tests (Files): Likewise.
29592         * modules/i-ring-tests (Files): Likewise.
29593         * modules/iconv-tests (Files): Likewise.
29594         * modules/iconv_open-utf-tests (Files): Likewise.
29595         * modules/idpriv-drop-tests (Files): Likewise.
29596         * modules/idpriv-droptemp-tests (Files): Likewise.
29597         * modules/inet_ntop-tests (Files): Likewise.
29598         * modules/inet_pton-tests (Files): Likewise.
29599         * modules/isblank-tests (Files): Likewise.
29600         * modules/isfinite-tests (Files): Likewise.
29601         * modules/isinf-tests (Files): Likewise.
29602         * modules/isnan-tests (Files): Likewise.
29603         * modules/isnand-nolibm-tests (Files): Likewise.
29604         * modules/isnand-tests (Files): Likewise.
29605         * modules/isnanf-nolibm-tests (Files): Likewise.
29606         * modules/isnanf-tests (Files): Likewise.
29607         * modules/isnanl-nolibm-tests (Files): Likewise.
29608         * modules/isnanl-tests (Files): Likewise.
29609         * modules/lchown-tests (Files): Likewise.
29610         * modules/ldexpl-tests (Files): Likewise.
29611         * modules/link-tests (Files): Likewise.
29612         * modules/linkat-tests (Files): Likewise.
29613         * modules/linked-list-tests (Files): Likewise.
29614         * modules/linkedhash-list-tests (Files): Likewise.
29615         * modules/localename-tests (Files): Likewise.
29616         * modules/lseek-tests (Files): Likewise.
29617         * modules/lstat-tests (Files): Likewise.
29618         * modules/mbmemcasecmp-tests (Files): Likewise.
29619         * modules/mbmemcasecoll-tests (Files): Likewise.
29620         * modules/mbrtowc-tests (Files): Likewise.
29621         * modules/mbscasecmp-tests (Files): Likewise.
29622         * modules/mbscasestr-tests (Files): Likewise.
29623         * modules/mbschr-tests (Files): Likewise.
29624         * modules/mbscspn-tests (Files): Likewise.
29625         * modules/mbsinit-tests (Files): Likewise.
29626         * modules/mbsncasecmp-tests (Files): Likewise.
29627         * modules/mbsnrtowcs-tests (Files): Likewise.
29628         * modules/mbspbrk-tests (Files): Likewise.
29629         * modules/mbspcasecmp-tests (Files): Likewise.
29630         * modules/mbsrchr-tests (Files): Likewise.
29631         * modules/mbsrtowcs-tests (Files): Likewise.
29632         * modules/mbsspn-tests (Files): Likewise.
29633         * modules/mbsstr-tests (Files): Likewise.
29634         * modules/memchr-tests (Files): Likewise.
29635         * modules/memchr2-tests (Files): Likewise.
29636         * modules/memcmp-tests (Files): Likewise.
29637         * modules/memmem-tests (Files): Likewise.
29638         * modules/memrchr-tests (Files): Likewise.
29639         * modules/mkdir-tests (Files): Likewise.
29640         * modules/mkfifo-tests (Files): Likewise.
29641         * modules/mkfifoat-tests (Files): Likewise.
29642         * modules/mknod-tests (Files): Likewise.
29643         * modules/nanosleep-tests (Files): Likewise.
29644         * modules/nl_langinfo-tests (Files): Likewise.
29645         * modules/obstack-printf-tests (Files): Likewise.
29646         * modules/open-tests (Files): Likewise.
29647         * modules/openat-tests (Files): Likewise.
29648         * modules/pipe-filter-gi-tests (Files): Likewise.
29649         * modules/pipe-filter-ii-tests (Files): Likewise.
29650         * modules/pipe2-tests (Files): Likewise.
29651         * modules/popen-safer-tests (Files): Likewise.
29652         * modules/popen-tests (Files): Likewise.
29653         * modules/posixtm-tests (Files): Likewise.
29654         * modules/pread-tests (Files): Likewise.
29655         * modules/printf-frexp-tests (Files): Likewise.
29656         * modules/printf-frexpl-tests (Files): Likewise.
29657         * modules/printf-posix-tests (Files): Likewise.
29658         * modules/priv-set-tests (Files): Likewise.
29659         * modules/quotearg-tests (Files): Likewise.
29660         * modules/random_r-tests (Files): Likewise.
29661         * modules/rawmemchr-tests (Files): Likewise.
29662         * modules/rbtree-list-tests (Files): Likewise.
29663         * modules/rbtree-oset-tests (Files): Likewise.
29664         * modules/rbtreehash-list-tests (Files): Likewise.
29665         * modules/readlink-tests (Files): Likewise.
29666         * modules/remove-tests (Files): Likewise.
29667         * modules/rename-tests (Files): Likewise.
29668         * modules/renameat-tests (Files): Likewise.
29669         * modules/rmdir-tests (Files): Likewise.
29670         * modules/round-tests (Files): Likewise.
29671         * modules/roundf-tests (Files): Likewise.
29672         * modules/roundl-tests (Files): Likewise.
29673         * modules/safe-alloc-tests (Files): Likewise.
29674         * modules/setenv-tests (Files): Likewise.
29675         * modules/sigaction-tests (Files): Likewise.
29676         * modules/signbit-tests (Files): Likewise.
29677         * modules/sleep-tests (Files): Likewise.
29678         * modules/snprintf-posix-tests (Files): Likewise.
29679         * modules/snprintf-tests (Files): Likewise.
29680         * modules/sprintf-posix-tests (Files): Likewise.
29681         * modules/stat-tests (Files): Likewise.
29682         * modules/stat-time-tests (Files): Likewise.
29683         * modules/strcasestr-tests (Files): Likewise.
29684         * modules/strchrnul-tests (Files): Likewise.
29685         * modules/strerror-tests (Files): Likewise.
29686         * modules/striconv-tests (Files): Likewise.
29687         * modules/striconveh-tests (Files): Likewise.
29688         * modules/striconveha-tests (Files): Likewise.
29689         * modules/strsignal-tests (Files): Likewise.
29690         * modules/strstr-tests (Files): Likewise.
29691         * modules/strtod-tests (Files): Likewise.
29692         * modules/strverscmp-tests (Files): Likewise.
29693         * modules/symlink-tests (Files): Likewise.
29694         * modules/symlinkat-tests (Files): Likewise.
29695         * modules/trunc-tests (Files): Likewise.
29696         * modules/truncf-tests (Files): Likewise.
29697         * modules/truncl-tests (Files): Likewise.
29698         * modules/uname-tests (Files): Likewise.
29699         * modules/unicase/cased-tests (Files): Likewise.
29700         * modules/unicase/ignorable-tests (Files): Likewise.
29701         * modules/unicase/locale-language-tests (Files): Likewise.
29702         * modules/unicase/tolower-tests (Files): Likewise.
29703         * modules/unicase/totitle-tests (Files): Likewise.
29704         * modules/unicase/toupper-tests (Files): Likewise.
29705         * modules/unicase/u8-casecmp-tests (Files): Likewise.
29706         * modules/unicase/u8-casecoll-tests (Files): Likewise.
29707         * modules/unicase/u8-casefold-tests (Files): Likewise.
29708         * modules/unicase/u8-is-cased-tests (Files): Likewise.
29709         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
29710         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
29711         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
29712         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
29713         * modules/unicase/u8-tolower-tests (Files): Likewise.
29714         * modules/unicase/u8-totitle-tests (Files): Likewise.
29715         * modules/unicase/u8-toupper-tests (Files): Likewise.
29716         * modules/unicase/u16-casecmp-tests (Files): Likewise.
29717         * modules/unicase/u16-casecoll-tests (Files): Likewise.
29718         * modules/unicase/u16-casefold-tests (Files): Likewise.
29719         * modules/unicase/u16-is-cased-tests (Files): Likewise.
29720         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
29721         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
29722         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
29723         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
29724         * modules/unicase/u16-tolower-tests (Files): Likewise.
29725         * modules/unicase/u16-totitle-tests (Files): Likewise.
29726         * modules/unicase/u16-toupper-tests (Files): Likewise.
29727         * modules/unicase/u32-casecmp-tests (Files): Likewise.
29728         * modules/unicase/u32-casecoll-tests (Files): Likewise.
29729         * modules/unicase/u32-casefold-tests (Files): Likewise.
29730         * modules/unicase/u32-is-cased-tests (Files): Likewise.
29731         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
29732         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
29733         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
29734         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
29735         * modules/unicase/u32-tolower-tests (Files): Likewise.
29736         * modules/unicase/u32-totitle-tests (Files): Likewise.
29737         * modules/unicase/u32-toupper-tests (Files): Likewise.
29738         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
29739         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
29740         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
29741         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
29742         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
29743         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
29744         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
29745         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
29746         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
29747         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
29748         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
29749         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
29750         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
29751         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
29752         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
29753         * modules/unictype/bidicategory-name-tests (Files): Likewise.
29754         * modules/unictype/bidicategory-of-tests (Files): Likewise.
29755         * modules/unictype/bidicategory-test-tests (Files): Likewise.
29756         * modules/unictype/block-list-tests (Files): Likewise.
29757         * modules/unictype/block-of-tests (Files): Likewise.
29758         * modules/unictype/block-test-tests (Files): Likewise.
29759         * modules/unictype/category-C-tests (Files): Likewise.
29760         * modules/unictype/category-Cc-tests (Files): Likewise.
29761         * modules/unictype/category-Cf-tests (Files): Likewise.
29762         * modules/unictype/category-Cn-tests (Files): Likewise.
29763         * modules/unictype/category-Co-tests (Files): Likewise.
29764         * modules/unictype/category-Cs-tests (Files): Likewise.
29765         * modules/unictype/category-L-tests (Files): Likewise.
29766         * modules/unictype/category-Ll-tests (Files): Likewise.
29767         * modules/unictype/category-Lm-tests (Files): Likewise.
29768         * modules/unictype/category-Lo-tests (Files): Likewise.
29769         * modules/unictype/category-Lt-tests (Files): Likewise.
29770         * modules/unictype/category-Lu-tests (Files): Likewise.
29771         * modules/unictype/category-M-tests (Files): Likewise.
29772         * modules/unictype/category-Mc-tests (Files): Likewise.
29773         * modules/unictype/category-Me-tests (Files): Likewise.
29774         * modules/unictype/category-Mn-tests (Files): Likewise.
29775         * modules/unictype/category-N-tests (Files): Likewise.
29776         * modules/unictype/category-Nd-tests (Files): Likewise.
29777         * modules/unictype/category-Nl-tests (Files): Likewise.
29778         * modules/unictype/category-No-tests (Files): Likewise.
29779         * modules/unictype/category-P-tests (Files): Likewise.
29780         * modules/unictype/category-Pc-tests (Files): Likewise.
29781         * modules/unictype/category-Pd-tests (Files): Likewise.
29782         * modules/unictype/category-Pe-tests (Files): Likewise.
29783         * modules/unictype/category-Pf-tests (Files): Likewise.
29784         * modules/unictype/category-Pi-tests (Files): Likewise.
29785         * modules/unictype/category-Po-tests (Files): Likewise.
29786         * modules/unictype/category-Ps-tests (Files): Likewise.
29787         * modules/unictype/category-S-tests (Files): Likewise.
29788         * modules/unictype/category-Sc-tests (Files): Likewise.
29789         * modules/unictype/category-Sk-tests (Files): Likewise.
29790         * modules/unictype/category-Sm-tests (Files): Likewise.
29791         * modules/unictype/category-So-tests (Files): Likewise.
29792         * modules/unictype/category-Z-tests (Files): Likewise.
29793         * modules/unictype/category-Zl-tests (Files): Likewise.
29794         * modules/unictype/category-Zp-tests (Files): Likewise.
29795         * modules/unictype/category-Zs-tests (Files): Likewise.
29796         * modules/unictype/category-and-not-tests (Files): Likewise.
29797         * modules/unictype/category-and-tests (Files): Likewise.
29798         * modules/unictype/category-byname-tests (Files): Likewise.
29799         * modules/unictype/category-name-tests (Files): Likewise.
29800         * modules/unictype/category-none-tests (Files): Likewise.
29801         * modules/unictype/category-of-tests (Files): Likewise.
29802         * modules/unictype/category-or-tests (Files): Likewise.
29803         * modules/unictype/category-test-withtable-tests (Files): Likewise.
29804         * modules/unictype/combining-class-tests (Files): Likewise.
29805         * modules/unictype/ctype-alnum-tests (Files): Likewise.
29806         * modules/unictype/ctype-alpha-tests (Files): Likewise.
29807         * modules/unictype/ctype-blank-tests (Files): Likewise.
29808         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
29809         * modules/unictype/ctype-digit-tests (Files): Likewise.
29810         * modules/unictype/ctype-graph-tests (Files): Likewise.
29811         * modules/unictype/ctype-lower-tests (Files): Likewise.
29812         * modules/unictype/ctype-print-tests (Files): Likewise.
29813         * modules/unictype/ctype-punct-tests (Files): Likewise.
29814         * modules/unictype/ctype-space-tests (Files): Likewise.
29815         * modules/unictype/ctype-upper-tests (Files): Likewise.
29816         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
29817         * modules/unictype/decimal-digit-tests (Files): Likewise.
29818         * modules/unictype/digit-tests (Files): Likewise.
29819         * modules/unictype/mirror-tests (Files): Likewise.
29820         * modules/unictype/numeric-tests (Files): Likewise.
29821         * modules/unictype/property-alphabetic-tests (Files): Likewise.
29822         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
29823         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
29824         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
29825         Likewise.
29826         * modules/unictype/property-bidi-block-separator-tests (Files):
29827         Likewise.
29828         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
29829         Likewise.
29830         * modules/unictype/property-bidi-common-separator-tests (Files):
29831         Likewise.
29832         * modules/unictype/property-bidi-control-tests (Files): Likewise.
29833         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
29834         Likewise.
29835         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
29836         Likewise.
29837         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
29838         Likewise.
29839         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
29840         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
29841         Likewise.
29842         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
29843         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
29844         Likewise.
29845         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
29846         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
29847         * modules/unictype/property-bidi-segment-separator-tests (Files):
29848         Likewise.
29849         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
29850         * modules/unictype/property-byname-tests (Files): Likewise.
29851         * modules/unictype/property-combining-tests (Files): Likewise.
29852         * modules/unictype/property-composite-tests (Files): Likewise.
29853         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
29854         * modules/unictype/property-dash-tests (Files): Likewise.
29855         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
29856         * modules/unictype/property-default-ignorable-code-point-tests (Files):
29857         Likewise.
29858         * modules/unictype/property-deprecated-tests (Files): Likewise.
29859         * modules/unictype/property-diacritic-tests (Files): Likewise.
29860         * modules/unictype/property-extender-tests (Files): Likewise.
29861         * modules/unictype/property-format-control-tests (Files): Likewise.
29862         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
29863         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
29864         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
29865         * modules/unictype/property-hex-digit-tests (Files): Likewise.
29866         * modules/unictype/property-hyphen-tests (Files): Likewise.
29867         * modules/unictype/property-id-continue-tests (Files): Likewise.
29868         * modules/unictype/property-id-start-tests (Files): Likewise.
29869         * modules/unictype/property-ideographic-tests (Files): Likewise.
29870         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
29871         * modules/unictype/property-ids-trinary-operator-tests (Files):
29872         Likewise.
29873         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
29874         * modules/unictype/property-iso-control-tests (Files): Likewise.
29875         * modules/unictype/property-join-control-tests (Files): Likewise.
29876         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
29877         * modules/unictype/property-line-separator-tests (Files): Likewise.
29878         * modules/unictype/property-logical-order-exception-tests (Files):
29879         Likewise.
29880         * modules/unictype/property-lowercase-tests (Files): Likewise.
29881         * modules/unictype/property-math-tests (Files): Likewise.
29882         * modules/unictype/property-non-break-tests (Files): Likewise.
29883         * modules/unictype/property-not-a-character-tests (Files): Likewise.
29884         * modules/unictype/property-numeric-tests (Files): Likewise.
29885         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
29886         * modules/unictype/property-other-default-ignorable-code-point-tests
29887         (Files): Likewise.
29888         * modules/unictype/property-other-grapheme-extend-tests (Files):
29889         Likewise.
29890         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
29891         * modules/unictype/property-other-id-start-tests (Files): Likewise.
29892         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
29893         * modules/unictype/property-other-math-tests (Files): Likewise.
29894         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
29895         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
29896         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
29897         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
29898         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
29899         * modules/unictype/property-private-use-tests (Files): Likewise.
29900         * modules/unictype/property-punctuation-tests (Files): Likewise.
29901         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
29902         * modules/unictype/property-radical-tests (Files): Likewise.
29903         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
29904         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
29905         * modules/unictype/property-space-tests (Files): Likewise.
29906         * modules/unictype/property-terminal-punctuation-tests (Files):
29907         Likewise.
29908         * modules/unictype/property-test-tests (Files): Likewise.
29909         * modules/unictype/property-titlecase-tests (Files): Likewise.
29910         * modules/unictype/property-unassigned-code-value-tests (Files):
29911         Likewise.
29912         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
29913         * modules/unictype/property-uppercase-tests (Files): Likewise.
29914         * modules/unictype/property-variation-selector-tests (Files): Likewise.
29915         * modules/unictype/property-white-space-tests (Files): Likewise.
29916         * modules/unictype/property-xid-continue-tests (Files): Likewise.
29917         * modules/unictype/property-xid-start-tests (Files): Likewise.
29918         * modules/unictype/property-zero-width-tests (Files): Likewise.
29919         * modules/unictype/scripts-tests (Files): Likewise.
29920         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
29921         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
29922         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
29923         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
29924         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
29925         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
29926         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
29927         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
29928         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
29929         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
29930         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
29931         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
29932         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
29933         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
29934         * modules/uninorm/composition-tests (Files): Likewise.
29935         * modules/uninorm/decomposing-form-tests (Files): Likewise.
29936         * modules/uninorm/decomposition-tests (Files): Likewise.
29937         * modules/uninorm/filter-tests (Files): Likewise.
29938         * modules/uninorm/nfc-tests (Files): Likewise.
29939         * modules/uninorm/nfd-tests (Files): Likewise.
29940         * modules/uninorm/nfkc-tests (Files): Likewise.
29941         * modules/uninorm/nfkd-tests (Files): Likewise.
29942         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
29943         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
29944         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
29945         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
29946         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
29947         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
29948         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
29949         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
29950         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
29951         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
29952         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
29953         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
29954         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
29955         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
29956         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
29957         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
29958         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
29959         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
29960         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
29961         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
29962         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
29963         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
29964         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
29965         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
29966         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
29967         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
29968         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
29969         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
29970         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
29971         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
29972         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
29973         * modules/uniwidth/u8-width-tests (Files): Likewise.
29974         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
29975         * modules/uniwidth/u16-width-tests (Files): Likewise.
29976         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
29977         * modules/uniwidth/u32-width-tests (Files): Likewise.
29978         * modules/uniwidth/width-tests (Files): Likewise.
29979         * modules/unlink-tests (Files): Likewise.
29980         * modules/unsetenv-tests (Files): Likewise.
29981         * modules/usleep-tests (Files): Likewise.
29982         * modules/utimens-tests (Files): Likewise.
29983         * modules/utimensat-tests (Files): Likewise.
29984         * modules/vasnprintf-posix-tests (Files): Likewise.
29985         * modules/vasnprintf-tests (Files): Likewise.
29986         * modules/vasprintf-posix-tests (Files): Likewise.
29987         * modules/vasprintf-tests (Files): Likewise.
29988         * modules/vdprintf-posix-tests (Files): Likewise.
29989         * modules/vfprintf-posix-tests (Files): Likewise.
29990         * modules/vprintf-posix-tests (Files): Likewise.
29991         * modules/vsnprintf-posix-tests (Files): Likewise.
29992         * modules/vsnprintf-tests (Files): Likewise.
29993         * modules/vsprintf-posix-tests (Files): Likewise.
29994         * modules/wcrtomb-tests (Files): Likewise.
29995         * modules/wcsnrtombs-tests (Files): Likewise.
29996         * modules/wcsrtombs-tests (Files): Likewise.
29997         * modules/wctype-tests (Files): Likewise.
29998         * modules/wcwidth-tests (Files): Likewise.
29999         * modules/xmemdup0-tests (Files): Likewise.
30000         * modules/xprintf-posix-tests (Files): Likewise.
30001         * modules/xvasprintf-tests (Files): Likewise.
30002
30003 2009-12-24  Eric Blake  <ebb9@byu.net>
30004
30005         test-nanosleep: fix typo
30006         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
30007         patch.
30008         Reported by Bruno Haible.
30009
30010 2009-12-24  Bruno Haible  <bruno@clisp.org>
30011
30012         Reduce namespace pollution on glibc systems.
30013         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
30014         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
30015         systems.
30016         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
30017         <getopt.h> on glibc systems.
30018         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
30019         systems.
30020         * lib/fcntl.c: Include <unistd.h> here instead.
30021
30022 2009-12-24  Bruno Haible  <bruno@clisp.org>
30023
30024         * lib/stdlib.in.h (includes): Fix typo in today's commit.
30025
30026 2009-12-24  Eric Blake  <ebb9@byu.net>
30027
30028         tests: add signature checks
30029         * tests/signature.h (SIGNATURE_CHECK): New file.
30030         * modules/atexit-tests (Files): Use it.
30031         * modules/btowc-tests (Files): Likewise.
30032         * modules/canonicalize-lgpl-tests (Files): Likewise.
30033         * modules/ceilf-tests (Files): Likewise.
30034         * modules/ceill-tests (Files): Likewise.
30035         * modules/chown-tests (Files): Likewise.
30036         * modules/dprintf-posix-tests (Files): Likewise.
30037         * modules/dup2-tests (Files): Likewise.
30038         * modules/dup3-tests (Files): Likewise.
30039         * modules/duplocale-tests (Files): Likewise.
30040         * modules/fchdir-tests (Files): Likewise.
30041         * modules/fcntl-tests (Files): Likewise.
30042         * modules/fdopendir-tests (Files): Likewise.
30043         * modules/fflush-tests (Files): Likewise.
30044         * modules/flock-tests (Files): Likewise.
30045         * modules/floorf-tests (Files): Likewise.
30046         * modules/floorl-tests (Files): Likewise.
30047         * modules/fnmatch-tests (Files): Likewise.
30048         * modules/fopen-tests (Files): Likewise.
30049         * modules/fprintf-posix-tests (Files): Likewise.
30050         * modules/freopen-tests (Files): Likewise.
30051         * modules/frexp-nolibm-tests (Files): Likewise.
30052         * modules/frexp-tests (Files): Likewise.
30053         * modules/frexpl-nolibm-tests (Files): Likewise.
30054         * modules/frexpl-tests (Files): Likewise.
30055         * modules/fseek-tests (Files): Likewise.
30056         * modules/fseeko-tests (Files): Likewise.
30057         * modules/fsync-tests (Files): Likewise.
30058         * modules/ftell-tests (Files): Likewise.
30059         * modules/ftello-tests (Files): Likewise.
30060         * modules/futimens-tests (Files): Likewise.
30061         * modules/getaddrinfo-tests (Files): Likewise.
30062         * modules/getcwd-tests (Files): Likewise.
30063         * modules/getdelim-tests (Files): Likewise.
30064         * modules/getdtablesize-tests (Files): Likewise.
30065         * modules/getgroups-tests (Files): Likewise.
30066         * modules/gethostname-tests (Files): Likewise.
30067         * modules/getline-tests (Files): Likewise.
30068         * modules/getopt-posix-tests (Files): Likewise.
30069         * modules/gettimeofday-tests (Files): Likewise.
30070         * modules/glob-tests (Files): Likewise.
30071         * modules/iconv-tests (Files): Likewise.
30072         * modules/inet_ntop-tests (Files): Likewise.
30073         * modules/inet_pton-tests (Files): Likewise.
30074         * modules/isblank-tests (Files): Likewise.
30075         * modules/lchown-tests (Files): Likewise.
30076         * modules/ldexpl-tests (Files): Likewise.
30077         * modules/link-tests (Files): Likewise.
30078         * modules/linkat-tests (Files): Likewise.
30079         * modules/lseek-tests (Files): Likewise.
30080         * modules/lstat-tests (Files): Likewise.
30081         * modules/mbrtowc-tests (Files): Likewise.
30082         * modules/mbsinit-tests (Files): Likewise.
30083         * modules/mbsnrtowcs-tests (Files): Likewise.
30084         * modules/mbsrtowcs-tests (Files): Likewise.
30085         * modules/memchr-tests (Files): Likewise.
30086         * modules/memcmp-tests (Files): Likewise.
30087         * modules/memmem-tests (Files): Likewise.
30088         * modules/memrchr-tests (Files): Likewise.
30089         * modules/mkdir-tests (Files): Likewise.
30090         * modules/mkfifo-tests (Files): Likewise.
30091         * modules/mkfifoat-tests (Files): Likewise.
30092         * modules/mknod-tests (Files): Likewise.
30093         * modules/nanosleep-tests (Files): Likewise.
30094         * modules/nl_langinfo-tests (Files): Likewise.
30095         * modules/obstack-printf-tests (Files): Likewise.
30096         * modules/open-tests (Files): Likewise.
30097         * modules/openat-tests (Files): Likewise.
30098         * modules/perror-tests (Files): Likewise.
30099         * modules/pipe2-tests (Files): Likewise.
30100         * modules/poll-tests (Files): Likewise.
30101         * modules/popen-tests (Files): Likewise.
30102         * modules/posix_spawn-tests (Files): Likewise.
30103         * modules/posix_spawnp-tests (Files): Likewise.
30104         * modules/pread-tests (Files): Likewise.
30105         * modules/printf-posix-tests (Files): Likewise.
30106         * modules/pty-tests (Files): Likewise.
30107         * modules/random_r-tests (Files): Likewise.
30108         * modules/rawmemchr-tests (Files): Likewise.
30109         * modules/readlink-tests (Files): Likewise.
30110         * modules/remove-tests (Files): Likewise.
30111         * modules/rename-tests (Files): Likewise.
30112         * modules/renameat-tests (Files): Likewise.
30113         * modules/rmdir-tests (Files): Likewise.
30114         * modules/round-tests (Files): Likewise.
30115         * modules/roundf-tests (Files): Likewise.
30116         * modules/roundl-tests (Files): Likewise.
30117         * modules/select-tests (Files): Likewise.
30118         * modules/setenv-tests (Files): Likewise.
30119         * modules/sigaction-tests (Files): Likewise.
30120         * modules/sleep-tests (Files): Likewise.
30121         * modules/snprintf-posix-tests (Files): Likewise.
30122         * modules/snprintf-tests (Files): Likewise.
30123         * modules/sprintf-posix-tests (Files): Likewise.
30124         * modules/stat-tests (Files): Likewise.
30125         * modules/strcasestr-tests (Files): Likewise.
30126         * modules/strchrnul-tests (Files): Likewise.
30127         * modules/strerror-tests (Files): Likewise.
30128         * modules/strsignal-tests (Files): Likewise.
30129         * modules/strstr-tests (Files): Likewise.
30130         * modules/strtod-tests (Files): Likewise.
30131         * modules/strverscmp-tests (Files): Likewise.
30132         * modules/symlink-tests (Files): Likewise.
30133         * modules/symlinkat-tests (Files): Likewise.
30134         * modules/times-tests (Files): Likewise.
30135         * modules/trunc-tests (Files): Likewise.
30136         * modules/truncf-tests (Files): Likewise.
30137         * modules/truncl-tests (Files): Likewise.
30138         * modules/tsearch-tests (Files): Likewise.
30139         * modules/uname-tests (Files): Likewise.
30140         * modules/unlink-tests (Files): Likewise.
30141         * modules/unsetenv-tests (Files): Likewise.
30142         * modules/usleep-tests (Files): Likewise.
30143         * modules/utimensat-tests (Files): Likewise.
30144         * modules/vasprintf-tests (Files): Likewise.
30145         * modules/vdprintf-posix-tests (Files): Likewise.
30146         * modules/vfprintf-posix-tests (Files): Likewise.
30147         * modules/vprintf-posix-tests (Files): Likewise.
30148         * modules/vsnprintf-posix-tests (Files): Likewise.
30149         * modules/vsnprintf-tests (Files): Likewise.
30150         * modules/vsprintf-posix-tests (Files): Likewise.
30151         * modules/wcrtomb-tests (Files): Likewise.
30152         * modules/wcsnrtombs-tests (Files): Likewise.
30153         * modules/wcsrtombs-tests (Files): Likewise.
30154         * modules/wcwidth-tests (Files): Likewise.
30155         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
30156         * tests/test-isinf.c (isinf): Likewise.
30157         * tests/test-isnan.c (isnan): Likewise.
30158         * tests/test-signbit.c (signbit): Likewise.
30159         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
30160         declaration, either as macro or with correct signature.
30161         (select): Ensure function under test is declared with correct
30162         signature in correct header.
30163         * tests/test-atexit.c (atexit): Likewise.
30164         * tests/test-btowc.c (btowc): Likewise.
30165         * tests/test-canonicalize-lgpl.c (realpath)
30166         (canonicalize_file_name): Likewise.
30167         * tests/test-ceilf1.c (ceilf): Likewise.
30168         * tests/test-ceill.c (ceill): Likewise.
30169         * tests/test-chown.c (chown): Likewise.
30170         * tests/test-dprintf-posix.c (dprintf): Likewise.
30171         * tests/test-dup2.c (dup2): Likewise.
30172         * tests/test-dup3.c (dup3): Likewise.
30173         * tests/test-duplocale.c (duplocale): Likewise.
30174         * tests/test-fchdir.c (fchdir): Likewise.
30175         * tests/test-fchownat.c (fchownat): Likewise.
30176         * tests/test-fcntl.c (fcntl): Likewise.
30177         * tests/test-fdopendir.c (fdopendir): Likewise.
30178         * tests/test-fflush.c (fflush): Likewise.
30179         * tests/test-flock.c (flock): Likewise.
30180         * tests/test-floorf1.c (floorf): Likewise.
30181         * tests/test-floorl.c (floorl): Likewise.
30182         * tests/test-fnmatch.c (fnmatch): Likewise.
30183         * tests/test-fopen.c (fopen): Likewise.
30184         * tests/test-fprintf-posix.c (fprintf): Likewise.
30185         * tests/test-freopen.c (freopen): Likewise.
30186         * tests/test-frexp.c (frexp): Likewise.
30187         * tests/test-frexpl.c (frexpl): Likewise.
30188         * tests/test-fseek.c (fseek): Likewise.
30189         * tests/test-fseeko.c (fseeko): Likewise.
30190         * tests/test-fstatat.c (fstatat): Likewise.
30191         * tests/test-fsync.c (fsync): Likewise.
30192         * tests/test-ftell.c (ftell): Likewise.
30193         * tests/test-ftello.c (ftello): Likewise.
30194         * tests/test-futimens.c (futimens): Likewise.
30195         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
30196         (gai_strerror): Likewise.
30197         * tests/test-getcwd.c (getcwd): Likewise.
30198         * tests/test-getdelim.c (getdelim): Likewise.
30199         * tests/test-getdtablesize.c (getdtablesize): Likewise.
30200         * tests/test-getgroups.c (getgroups): Likewise.
30201         * tests/test-gethostname.c (gethostname): Likewise.
30202         * tests/test-getline.c (getline): Likewise.
30203         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
30204         Likewise.
30205         * tests/test-gettimeofday.c (gettimeofday): Likewise.
30206         * tests/test-glob.c (glob, globfree): Likewise.
30207         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
30208         * tests/test-inet_ntop.c (inet_ntop): Likewise.
30209         * tests/test-inet_pton.c (inet_pton): Likewise.
30210         * tests/test-isblank.c (isblank): Likewise.
30211         * tests/test-lchown.c (lchown): Likewise.
30212         * tests/test-ldexpl.c (ldexpl): Likewise.
30213         * tests/test-link.c (link): Likewise.
30214         * tests/test-linkat.c (linkat): Likewise.
30215         * tests/test-lseek.c (lseek): Likewise.
30216         * tests/test-lstat.c (lstat): Likewise.
30217         * tests/test-mbrtowc.c (mbrtowc): Likewise.
30218         * tests/test-mbsinit.c (mbsinit): Likewise.
30219         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
30220         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
30221         * tests/test-memchr.c (memchr): Likewise.
30222         * tests/test-memcmp.c (memcmp): Likewise.
30223         * tests/test-memmem.c (memmem): Likewise.
30224         * tests/test-memrchr.c (memrchr): Likewise.
30225         * tests/test-mkdir.c (mkdir): Likewise.
30226         * tests/test-mkdirat.c (mkdirat): Likewise.
30227         * tests/test-mkfifo.c (mkfifo): Likewise.
30228         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
30229         * tests/test-mknod.c (mknod): Likewise.
30230         * tests/test-nanosleep.c (nanosleep): Likewise.
30231         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
30232         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
30233         Likewise.
30234         * tests/test-open.c (open): Likewise.
30235         * tests/test-openat.c (openat): Likewise.
30236         * tests/test-perror.c (perror): Likewise.
30237         * tests/test-pipe2.c (pipe2): Likewise.
30238         * tests/test-poll.c (poll): Likewise.
30239         * tests/test-popen.c (popen, pclose): Likewise.
30240         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
30241         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
30242         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
30243         (posix_spawn_file_actions_destroy)
30244         (posix_spawn_file_actions_addclose)
30245         (posix_spawn_file_actions_addopen)
30246         (posix_spawn_file_actions_adddup2): Likewise.
30247         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
30248         * tests/test-pread.c (pread): Likewise.
30249         * tests/test-printf-posix.c (printf): Likewise.
30250         * tests/test-pty.c (openpty, forkpty): Likewise.
30251         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
30252         (random_r): Likewise.
30253         * tests/test-rawmemchr.c (rawmemchr): Likewise.
30254         * tests/test-readlink.c (readlink): Likewise.
30255         * tests/test-remove.c (remove): Likewise.
30256         * tests/test-rename.c (rename): Likewise.
30257         * tests/test-renameat.c (renameat): Likewise.
30258         * tests/test-rmdir.c (rmdir): Likewise.
30259         * tests/test-round1.c (round): Likewise.
30260         * tests/test-roundf1.c (roundf): Likewise.
30261         * tests/test-roundl.c (roundl): Likewise.
30262         * tests/test-setenv.c (setenv): Likewise.
30263         * tests/test-sigaction.c (sigaction): Likewise.
30264         * tests/test-sleep.c (sleep): Likewise.
30265         * tests/test-snprintf.c (snprintf): Likewise.
30266         * tests/test-sprintf-posix.c (sprintf): Likewise.
30267         * tests/test-stat.c (stat): Likewise.
30268         * tests/test-stpncpy.c (stpncpy): Likewise.
30269         * tests/test-strcasestr.c (strcasestr): Likewise.
30270         * tests/test-strchrnul.c (strchrnul): Likewise.
30271         * tests/test-strerror.c (strerror): Likewise.
30272         * tests/test-strsignal.c (strsignal): Likewise.
30273         * tests/test-strstr.c (strstr): Likewise.
30274         * tests/test-strtod.c (strtod): Likewise.
30275         * tests/test-strverscmp.c (strverscmp): Likewise.
30276         * tests/test-symlink.c (symlink): Likewise.
30277         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
30278         * tests/test-times.c (times): Likewise.
30279         * tests/test-trunc1.c (trunc): Likewise.
30280         * tests/test-truncf1.c (truncf): Likewise.
30281         * tests/test-truncl.c (truncl): Likewise.
30282         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
30283         Likewise.
30284         * tests/test-uname.c (uname): Likewise.
30285         * tests/test-unlink.c (unlink): Likewise.
30286         * tests/test-unlinkat.c (unlinkat): Likewise.
30287         * tests/test-unsetenv.c (unsetenv): Likewise.
30288         * tests/test-usleep.c (usleep): Likewise.
30289         * tests/test-utimensat.c (utimensat): Likewise.
30290         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
30291         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
30292         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
30293         * tests/test-vprintf-posix.c (vprintf): Likewise.
30294         * tests/test-vsnprintf.c (vsnprintf): Likewise.
30295         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
30296         * tests/test-wcrtomb.c (wcrtomb): Likewise.
30297         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
30298         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
30299         * tests/test-wcwidth.c (wcwidth): Likewise.
30300
30301         build: pull in conditional headers during GNULIB_POSIXCHECK
30302         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
30303         definitions from any conditionally-included headers.
30304         * lib/stdlib.in.h (includes): Likewise.
30305         * lib/unistd.in.h (includes): Likewise.
30306
30307 2009-12-24  Bruno Haible  <bruno@clisp.org>
30308
30309         * tests/test-argv-iter.c: Include header file being tested immediately
30310         after config.h.
30311         * tests/test-base64.c: Likewise.
30312         * tests/test-flock.c: Likewise.
30313         * tests/test-fsync.c: Likewise.
30314         * tests/test-getdate.c: Likewise.
30315         * tests/test-getndelim2.c: Likewise.
30316         * tests/test-isfinite.c: Likewise.
30317         * tests/test-isinf.c: Likewise.
30318         * tests/test-strerror.c: Likewise.
30319         * tests/test-strsignal.c: Likewise.
30320
30321 2009-12-23  Eric Blake  <ebb9@byu.net>
30322
30323         unistd: work around cygwin bug
30324         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
30325         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
30326         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
30327
30328 2009-12-23  Bruno Haible  <bruno@clisp.org>
30329
30330         localename: More tests.
30331         * tests/test-localename.c (SIZEOF): New macro.
30332         (categories): New variable.
30333         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
30334         test_locale_name_default): Add test w.r.t. thread locale.
30335         (test_locale_name_thread): New function.
30336         (main): Invoke it.
30337
30338         localename: Make aware of thread locale.
30339         * lib/localename.h (gl_locale_name_thread): New declaration.
30340         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
30341         behaviour with respect to thread locale.
30342         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
30343         <langinfo.h>, glthread/lock.h.
30344         (SIZE_BITS): New macro.
30345         (string_hash): New function.
30346         (struct hash_node): New type.
30347         (HASH_TABLE_SIZE): New macro.
30348         (struniq_hash_table, struniq_lock): New variables.
30349         (struniq): New function.
30350         (gl_locale_name_thread): New function.
30351         (gl_locale_name): Invoke it.
30352         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
30353         * modules/localename (Depends-on): Add lock.
30354         Reported by Mike Gran <spk121@yahoo.com>.
30355
30356 2009-12-23  Eric Blake  <ebb9@byu.net>
30357
30358         va-args: new module
30359         * modules/va-args: New file.
30360         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
30361         * MODULES.html.sh (Core language properties): Mention it.
30362
30363         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
30364         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
30365         named alias for __attribute__((__unused__)).
30366         * lib/chown.c: Update client.
30367         * lib/fchmodat.c: Likewise.
30368         * lib/fts.c: Likewise.
30369         * lib/getdate.y: Likewise.
30370         * lib/getgroups.c: Likewise.
30371         * lib/getopt.c: Likewise.
30372         * lib/getugroups.c: Likewise.
30373         * lib/mkdir.c: Likewise.
30374         * lib/mkfifo.c: Likewise.
30375         * lib/mkfifoat.c: Likewise.
30376         * lib/mknod.c: Likewise.
30377         * lib/mknodat.c: Likewise.
30378         * lib/readlink.c: Likewise.
30379         * lib/se-context.in.h: Likewise.
30380         * lib/se-selinux.in.h: Likewise.
30381         * lib/sockets.c: Likewise.
30382         * lib/symlink.c: Likewise.
30383         * lib/symlinkat.c: Likewise.
30384         * lib/unicodeio.c: Likewise.
30385         * lib/unistr.h: Likewise.
30386         * tests/test-areadlink.c: Likewise.
30387         * tests/test-areadlinkat.c: Likewise.
30388         * tests/test-filenamecat.c: Likewise.
30389         * tests/test-fseeko.c: Likewise.
30390         * tests/test-ftello.c: Likewise.
30391         * tests/test-getdate.c: Likewise.
30392         * tests/test-getgroups.c: Likewise.
30393         * tests/test-gethostname.c: Likewise.
30394         * tests/test-quotearg.c: Likewise.
30395         * tests/test-version-etc.c: Likewise.
30396         * tests/test-xalloc-die.c: Likewise.
30397         * tests/test-xfprintf-posix.c: Likewise.
30398         * tests/test-xprintf-posix.c: Likewise.
30399         * tests/test-xvasprintf.c: Likewise.
30400
30401         tests: avoid compiler warnings
30402         * tests/test-fcntl.c (main): Delete unused parameters.
30403         * tests/test-freopen-safer.c (main): Likewise.
30404         * tests/test-xalloc-die.c (main): Mark unused parameters.
30405         * tests/test-fseeko.c (main): Likewise.
30406         * tests/test-ftello.c (main): Likewise.
30407         * tests/test-nanosleep.c (main): Avoid declaration warning.
30408         * tests/test-sleep.c (main): Likewise.
30409         * tests/test-unsetenv.c (main): Silence warning about string
30410         literal.
30411         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30412
30413 2009-12-23  Bruno Haible  <bruno@clisp.org>
30414
30415         * tests/test-localename.c (test_locale_name): New function, extracted
30416         from main. Also test mixed situations.
30417         (test_locale_name_posix, test_locale_name_environ,
30418         test_locale_name_default): New functions.
30419         (main): Invoke them all.
30420         * modules/localename-tests (configure.ac): Test for newlocale.
30421
30422 2009-12-23  Bruno Haible  <bruno@clisp.org>
30423
30424         unistd: Ensure getcwd gets declared before being overridden.
30425         * lib/unistd.in.h: Conditionally include <io.h>.
30426
30427 2009-12-22  Bruno Haible  <bruno@clisp.org>
30428
30429         wchar: Diagnose broken combination of glibc and gcc versions and flags.
30430         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
30431         (gl_WCHAR_H): Invoke it.
30432         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
30433         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
30434         Reported by Karl Berry <karl@freefriends.org>.
30435
30436 2009-12-22  Eric Blake  <ebb9@byu.net>
30437
30438         math, unistd: avoid redundant includes
30439         * lib/math.in.h (isnan): No need to re-include <math.h>.
30440         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
30441
30442         getsubopt: work around cygwin bug
30443         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
30444         avoid conflicting with system getsubopt.
30445         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
30446         bug.
30447
30448         getopt: synchronize from glibc
30449         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
30450         parameter order.  Adjust all callers.
30451         (_getopt_internal_r, main): Adjust quoting in error messages.
30452         Drop considerations for outdated POSIX 1003.2 error message.
30453         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
30454         callers.
30455         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
30456
30457         test-getopt: test stderr behavior
30458         * modules/getopt-posix-tests (Depends-on): Add dup2.
30459         * tests/test-getopt.c (ASSERT): Avoid stderr.
30460         (main): Move stderr to a temporary file.
30461         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
30462         Instead, add parameter to inform caller if output occurred.
30463         (test_getopt): Adjust all existing tests to expect silence, and
30464         add new tests of leading ":".
30465         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30466         glibc shortcomings with leading "-:" or "+:" in optstring.
30467         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30468         Likewise.
30469         * doc/posix-functions/getopt.texi (getopt): Likewise.
30470
30471         test-getopt: enhance test
30472         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
30473         supports optind=0.
30474         * tests/test-getopt.c (OPTIND_MIN): Move...
30475         * tests/test-getopt.h (OPTIND_MIN): ...here.
30476         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
30477         Require that optind=0 works, since modern BSD supports it in
30478         addition to optreset, and since coreutils expects it.
30479         (test_getopt_long_only): New test.
30480         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30481         glibc shortcomings with 'W;', and enforcement of optind=0.
30482         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30483         Likewise.
30484
30485 2009-12-21  Bruno Haible  <bruno@clisp.org>
30486
30487         localename: Improvements for MacOS X and Cygwin.
30488         * lib/localename.h (gl_locale_name_environ): New declaration.
30489         * lib/localename.c (gl_locale_name_environ): New function, extracted from
30490         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
30491         (gl_locale_name_posix): Invoke it.
30492         (gl_locale_name_default): Add comments. Use Windows native API also on
30493         Cygwin.
30494
30495 2009-12-21  Bruno Haible  <bruno@clisp.org>
30496
30497         Update list of Win32 locale ids.
30498         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
30499         (LANG_SAMI): Renamed from LANG_SAAMI.
30500         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
30501         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
30502         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
30503         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
30504         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
30505         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
30506         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
30507         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
30508         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
30509         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
30510         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
30511         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
30512         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
30513         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
30514         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
30515         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
30516         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
30517         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
30518         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
30519         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
30520         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
30521         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
30522         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
30523         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
30524         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
30525         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
30526         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
30527         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
30528         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
30529         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
30530         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
30531         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
30532         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
30533         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
30534         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
30535         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
30536         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
30537         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
30538         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
30539         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
30540         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
30541         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
30542         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
30543         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
30544         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
30545         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
30546         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
30547         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
30548         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
30549         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
30550         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
30551         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
30552         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
30553         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
30554         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
30555         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
30556         Add more languages and countries for Sami, Sorbian. Add more countries
30557         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
30558         for Pashto. Change country for Syriac, Tswana.
30559
30560 2009-12-21  Eric Blake  <ebb9@byu.net>
30561
30562         test-utimens: avoid spurious failure
30563         * tests/test-chown.h (nap): Factor...
30564         * tests/nap.h: ...into new file.
30565         * tests/test-lchown.h (nap): Avoid duplication.
30566         * tests/test-utimens-common.h (nap): Use shared implementation,
30567         necessary on file systems with 1-second resolution.
30568         * modules/chown-tests (Files): Include new file.
30569         * modules/fdutimensat-tests (Files): Likewise.
30570         * modules/futimens-tests (Files): Likewise.
30571         * modules/lchown-tests (Files): Likewise.
30572         * modules/openat-tests (Files): Likewise.
30573         * modules/utimens-tests (Files): Likewise.
30574         * modules/utimensat-tests (Files): Likewise.
30575
30576 2009-12-19  Eric Blake  <ebb9@byu.net>
30577
30578         futimens, utimensat: work around Linux bug
30579         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
30580         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
30581         * lib/utimensat.c (rpl_utimensat): Work around it.
30582         * lib/futimens.c (rpl_futimens): Adjust comment.
30583
30584         utimens: work around Linux ctime bug
30585         * lib/utimens.c (detect_ctime_bug): New helper function.
30586         (update_timespec): Differentiate between workaround needed for
30587         this bug vs. what is needed for systems that lack utimensat.
30588         (fdutimens, lutimens): Work around bug.
30589
30590         utimens: check for ctime update
30591         * tests/test-utimens-common.h (check_ctime): Define.
30592         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
30593         * tests/test-futimens.h (test_futimens): Likewise.
30594         * tests/test-lutimens.h (test_lutimens): Likewise.
30595         * doc/posix-functions/futimens.texi (futimens): Document the bug.
30596         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
30597
30598 2009-12-19  Bruno Haible  <bruno@clisp.org>
30599
30600         dprintf-posix: Check against memory leak fixed on 2009-12-15.
30601         * tests/test-dprintf-posix2.sh: New file.
30602         * tests/test-dprintf-posix2.c: New file.
30603         * modules/dprintf-posix-tests (Files): Add them.
30604         (configure.ac): Check for getrlimit and setrlimit.
30605         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
30606
30607 2009-12-19  Bruno Haible  <bruno@clisp.org>
30608
30609         fprintf-posix: Check against memory leak fixed on 2009-12-15.
30610         * tests/test-fprintf-posix3.sh: New file.
30611         * tests/test-fprintf-posix3.c: New file.
30612         * modules/fprintf-posix-tests (Files): Add them.
30613         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
30614
30615 2009-12-19  Eric Blake  <ebb9@byu.net>
30616
30617         dirfd: fix prototype
30618         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
30619         * lib/dirfd.c (dirfd): Likewise.
30620
30621         canonicalize: reduce memory usage
30622         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
30623         allocation to size.
30624         Reported by Solar Designer <solar@openwall.com>.
30625
30626 2009-12-19  Bruno Haible  <bruno@clisp.org>
30627
30628         New module attribute 'Applicability'.
30629         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
30630         * gnulib-tool: New option --extract-applicability.
30631         (func_usage): Document it.
30632         (sed_extract_prog): Recognize it.
30633         (func_get_applicability): New function.
30634         (func_import): Generalize handling of 'link-warning' module.
30635         * modules/link-warning (Applicability): New section.
30636         * modules/arg-nonnull (Applicability): New section.
30637         Repoted by Simon Josefsson <simon@josefsson.org>.
30638
30639 2009-12-19  Bruno Haible  <bruno@clisp.org>
30640
30641         fflush: tweak
30642         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
30643         * lib/fseeko.c (rpl_fseeko): Likewise.
30644
30645 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
30646
30647         * lib/gl_list.h: Fix typo in comment.
30648
30649 2009-12-16  Eric Blake  <ebb9@byu.net>
30650
30651         fcntl: use to simplify other modules
30652         * modules/cloexec (Depends-on): Add fcntl.
30653         * modules/fchdir (Depends-on): Likewise.
30654         * modules/fd-safer-flag (Depends-on): Likewise.
30655         * modules/unistd-safer (Depends-on): Likewise.
30656         * modules/dup3 (configure.ac): Set module indicator.
30657         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
30658         missing.
30659         * lib/fchdir.c (_gl_register_dup): Fix comment.
30660         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
30661         * lib/dup-safer.c (dup_safer): Likewise.
30662         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
30663         * lib/dup3.c (dup3): Likewise.
30664         * tests/test-fchdir.c (main): Enhance test.
30665         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
30666
30667         fcntl: port portions of fcntl to mingw
30668         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
30669         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
30670         replacement for mingw.
30671         * modules/fcntl (Description): Update.
30672         (Depends-on): Add dup2.
30673         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
30674         * modules/fcntl-h (Makefile.am): Substitute it.
30675         * lib/fcntl.in.h (fcntl): Update declaration.
30676         (F_DUPFD, F_GETFD): New macros, when needed.
30677         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
30678         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
30679         * tests/test-fcntl.c (check_flags, main): Enhance test for items
30680         we now guarantee.
30681
30682         fcntl: work around cygwin bug in F_DUPFD
30683         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
30684         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
30685         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
30686         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
30687         * doc/posix-functions/fcntl.texi (fcntl): Document it.
30688
30689         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
30690         * modules/fcntl (Files): List new files.
30691         (configure.ac): Run a test.
30692         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
30693         * lib/fcntl.c (rpl_fcntl): Likewise.
30694         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
30695         (gl_FCNTL_H): Always replace fcntl.h.
30696         * modules/fcntl-h (Makefile.am): Substitute witnesses.
30697         * lib/fcntl.in.h (fcntl): Declare replacement.
30698         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
30699         needed, plus a witness.
30700         * doc/posix-functions/fcntl.texi (fcntl): Document this.
30701         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
30702         * tests/test-fcntl.c: New file.
30703         * modules/fcntl-tests: Likewise.
30704
30705         binary-io: avoid potential compilation warning
30706         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
30707         directives.
30708
30709         fflush: avoid compilation error on NetBSD
30710         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
30711         between off_t and fpos_t, since the latter is sometimes a struct.
30712         * lib/fseeko.c (rpl_fseeko): Likewise.
30713         Reported by Alexander Nasonov <alnsn@yandex.ru>.
30714
30715 2009-12-15  Eric Blake  <ebb9@byu.net>
30716
30717         fcntl-h, stdio, sys_ioctl: fix declarations
30718         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
30719         function must not take arguments.
30720         * lib/sys_ioctl.in.h (ioctl): Likewise.
30721         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
30722         (open): Add a link warning.
30723
30724 2009-12-15  Jim Meyering  <meyering@redhat.com>
30725
30726         areadlink, areadlink-with-size: relax license to LGPLv2+
30727         * modules/areadlink (License): Relax to LGPLv2+.
30728         * modules/areadlink-with-size (License): Likewise.
30729
30730 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
30731             Bruno Haible  <bruno@clisp.org>
30732
30733         *printf: Fix memory leak.
30734         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
30735         * lib/vfprintf.c (vfprintf): Likewise.
30736         * lib/dprintf.c (dprintf): Likewise.
30737         * lib/vdprintf.c (vdprintf): Likewise.
30738
30739 2009-12-14  Eric Blake  <ebb9@byu.net>
30740
30741         accept4: adjust module dependencies
30742         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
30743
30744         utimens: one more try at avoiding compiler warning
30745         * lib/utimens.c (lutimens): Lower scope of result.
30746
30747 2009-12-13  Bruno Haible  <bruno@clisp.org>
30748
30749         Move the malloc checking from module 'list' to new module 'xlist'.
30750         * modules/xlist: New file.
30751         * lib/gl_xlist.h: New file.
30752         * lib/gl_xlist.c: New file.
30753         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
30754         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
30755         gl_list_add_last, gl_list_add_before, gl_list_add_after,
30756         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
30757         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
30758         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
30759         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
30760         gl_sortedlist_nx_add): New declarations.
30761         (struct gl_list_implementation): Rename and change methods accordingly.
30762         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
30763         (gl_list_nx_create): Renamed from gl_list_create.
30764         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
30765         (gl_list_nx_set_at): Renamed from gl_list_set_at.
30766         (gl_list_nx_add_first): Renamed from gl_list_add_first.
30767         (gl_list_nx_add_last): Renamed from gl_list_add_last.
30768         (gl_list_nx_add_before): Renamed from gl_list_add_before.
30769         (gl_list_nx_add_after): Renamed from gl_list_add_after.
30770         (gl_list_nx_add_at): Renamed from gl_list_add_at.
30771         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
30772         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
30773         gl_list_create_empty.
30774         (gl_list_nx_create): Renamed from gl_list_create.
30775         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
30776         (gl_list_nx_set_at): Renamed from gl_list_set_at.
30777         (gl_list_nx_add_first): Renamed from gl_list_add_first.
30778         (gl_list_nx_add_last): Renamed from gl_list_add_last.
30779         (gl_list_nx_add_before): Renamed from gl_list_add_before.
30780         (gl_list_nx_add_after): Renamed from gl_list_add_after.
30781         (gl_list_nx_add_at): Renamed from gl_list_add_at.
30782         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
30783         * lib/gl_array_list.c: Don't include xalloc.h.
30784         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
30785         NULL upon out-of-memory.
30786         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
30787         out-of-memory.
30788         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
30789         Change return type to 'int'.
30790         (gl_array_nx_set_at): Renamed from gl_array_set_at.
30791         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
30792         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
30793         upon out-of-memory.
30794         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
30795         upon out-of-memory.
30796         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
30797         upon out-of-memory.
30798         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
30799         upon out-of-memory.
30800         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
30801         out-of-memory.
30802         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
30803         Update.
30804         (gl_array_list_implementation): Update.
30805         * lib/gl_carray_list.c: Don't include xalloc.h.
30806         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
30807         Return NULL upon out-of-memory.
30808         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
30809         out-of-memory.
30810         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
30811         Change return type to 'int'.
30812         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
30813         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
30814         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
30815         upon out-of-memory.
30816         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
30817         upon out-of-memory.
30818         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
30819         out-of-memory.
30820         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
30821         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
30822         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
30823         Update.
30824         (gl_carray_list_implementation): Update.
30825         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
30826         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
30827         gl_linked_create_empty. Return NULL upon out-of-memory.
30828         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
30829         out-of-memory.
30830         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
30831         Change return type to 'int'. Return -1 upon out-of-memory.
30832         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
30833         out-of-memory.
30834         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
30835         upon out-of-memory.
30836         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
30837         upon out-of-memory.
30838         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
30839         NULL upon out-of-memory.
30840         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
30841         upon out-of-memory.
30842         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
30843         out-of-memory.
30844         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
30845         Update.
30846         * lib/gl_linked_list.c: Don't include xalloc.h.
30847         (gl_linked_list_implementation): Update.
30848         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
30849         (add_to_bucket): Change return type to 'int'.
30850         (gl_linkedhash_list_implementation): Update.
30851         * lib/gl_anytree_list1.h (free_subtree): New function.
30852         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
30853         gl_tree_create_empty. Return NULL upon out-of-memory.
30854         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
30855         Change return type to 'int'. Return -1 upon out-of-memory.
30856         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
30857         out-of-memory.
30858         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
30859         (gl_tree_remove_node): New function, moved here from
30860         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
30861         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
30862         Update.
30863         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
30864         malloc, not xmalloc. Return NULL upon out-of-memory.
30865         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
30866         out-of-memory.
30867         (gl_tree_remove_node_from_tree): New function, extracted from
30868         gl_tree_remove_node.
30869         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
30870         upon out-of-memory.
30871         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
30872         out-of-memory.
30873         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
30874         upon out-of-memory.
30875         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
30876         upon out-of-memory.
30877         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
30878         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
30879         not xmalloc. Return NULL upon out-of-memory.
30880         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
30881         out-of-memory.
30882         (gl_tree_remove_node_from_tree): New function, extracted from
30883         gl_tree_remove_node.
30884         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
30885         upon out-of-memory.
30886         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
30887         out-of-memory.
30888         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
30889         upon out-of-memory.
30890         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
30891         upon out-of-memory.
30892         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
30893         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
30894         gl_anytree_list1.h before gl_anyavltree_list2.h.
30895         (gl_avltree_list_implementation): Update.
30896         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
30897         gl_anytree_list1.h before gl_anyavltree_list2.h.
30898         (gl_rbtree_list_implementation): Update.
30899         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
30900         Change return type to 'int'. Return -1 upon out-of-memory. Use
30901         __builtin_expect.
30902         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
30903         (gl_avltreehash_list_implementation): Update.
30904         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
30905         (gl_rbtreehash_list_implementation): Update.
30906         * modules/array-list (Depends-on): Remove xalloc.
30907         * modules/carray-list (Depends-on): Likewise.
30908         * modules/linked-list (Depends-on): Likewise.
30909         * modules/linkedhash-list (Depends-on): Likewise.
30910         * modules/avltree-list (Depends-on): Likewise.
30911         * modules/rbtree-list (Depends-on): Likewise.
30912         * modules/avltreehash-list (Depends-on): Likewise.
30913         * modules/rbtreehash-list (Depends-on): Likewise.
30914
30915         * modules/xsublist: New file.
30916         * lib/gl_xsublist.h: New file.
30917         * lib/gl_xsublist.c: New file.
30918         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
30919         (gl_sublist_nx_create): New declaration.
30920         * lib/gl_sublist.c: Don't include xalloc.h.
30921         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
30922         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
30923         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
30924         Change return type to 'int'. Return -1 upon out-of-memory.
30925         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
30926         upon out-of-memory.
30927         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
30928         NULL upon out-of-memory.
30929         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
30930         upon out-of-memory.
30931         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
30932         NULL upon out-of-memory.
30933         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
30934         NULL upon out-of-memory.
30935         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
30936         upon out-of-memory.
30937         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
30938         (gl_sublist_list_implementation): Update.
30939         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
30940         upon out-of-memory.
30941         * modules/sublist (Depends-on): Remove xalloc.
30942
30943         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
30944         * tests/test-carray_list.c: Likewise.
30945         * tests/test-linked_list.c: Likewise.
30946         * tests/test-linkedhash_list.c: Likewise.
30947         * tests/test-avltree_list.c: Likewise.
30948         * tests/test-rbtree_list.c: Likewise.
30949         * tests/test-avltreehash_list.c: Likewise.
30950         * tests/test-rbtreehash_list.c: Likewise.
30951         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
30952         * modules/carray-list-tests (Makefile.am): Likewise.
30953         * modules/linked-list-tests (Makefile.am): Likewise.
30954         * modules/linkedhash-list-tests (Makefile.am): Likewise.
30955         * modules/avltree-list-tests (Makefile.am): Likewise.
30956         * modules/rbtree-list-tests (Makefile.am): Likewise.
30957         * modules/avltreehash-list-tests (Makefile.am): Likewise.
30958         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
30959
30960         * NEWS: Mention the changes.
30961
30962         * lib/clean-temp.c: Include gl_xlist.h.
30963         * modules/clean-temp (Depends-on): Add xlist.
30964
30965         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
30966         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
30967
30968         * tests/test-array_oset.c: Include gl_xlist.h.
30969         * modules/array-oset-tests (Depends-on): Add xlist.
30970
30971         Reported by José E. Marchesi <jemarch@gnu.org>.
30972
30973 2009-12-13  Bruno Haible  <bruno@clisp.org>
30974
30975         Move the malloc checking from module 'oset' to new module 'xoset'.
30976         * modules/xoset: New file.
30977         * lib/gl_xoset.h: New file.
30978         * lib/gl_xoset.c: New file.
30979         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
30980         declarations.
30981         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
30982         (struct gl_oset_implementation): Rename and change methods accordingly.
30983         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
30984         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
30985         'int'. Mark as __warn_unused_result__.
30986         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
30987         gl_oset_create_empty.
30988         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
30989         'int'.
30990         * lib/gl_array_oset.c: Don't include xalloc.h.
30991         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
30992         malloc, not xmalloc.
30993         (grow): Change return type to 'int'. Don't call xalloc_die.
30994         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
30995         to 'int'.
30996         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
30997         'int'.
30998         (gl_array_oset_implementation): Update.
30999         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
31000         gl_tree_create_empty.
31001         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
31002         'int'.
31003         * lib/gl_avltree_oset.c: Don't include xalloc.h.
31004         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31005         xmalloc.
31006         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31007         not xmalloc.
31008         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31009         xmalloc.
31010         (gl_avltree_oset_implementation): Update.
31011         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
31012         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31013         xmalloc.
31014         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31015         not xmalloc.
31016         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31017         xmalloc.
31018         (gl_rbtree_oset_implementation): Update.
31019         * modules/array-oset (Depends-on): Remove xalloc.
31020         * modules/avltree-oset (Depends-on): Likewise.
31021         * modules/rbtree-oset (Depends-on): Likewise.
31022         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
31023         * tests/test-avltree_oset.c: Likewise.
31024         * tests/test-rbtree_oset.c: Likewise.
31025         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
31026         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
31027         * modules/rbtree-oset-tests (Makefile.am): Likewise.
31028         * NEWS: Mention the change.
31029
31030 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
31031
31032         maint.mk: allow a project to override release-prep commands
31033         * top/maint.mk (alpha, beta, stable): Move release-preparatory
31034         commands into a new rule.
31035         (release-prep): New rule.
31036         (release-prep-hook): New overridable variable.
31037
31038 2009-12-13  Bruno Haible  <bruno@clisp.org>
31039
31040         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
31041
31042 2009-12-13  Jim Meyering  <meyering@redhat.com>
31043
31044         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
31045         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
31046
31047 2009-12-12  Bruno Haible  <bruno@clisp.org>
31048
31049         duplocale: Tweak.
31050         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
31051
31052 2009-12-12  Karl Berry  <karl@gnu.org>
31053
31054         * config/srclist.txt (strtoll.c): tab changes, no more sync.
31055
31056 2009-12-12  Bruno Haible  <bruno@clisp.org>
31057
31058         * m4/po.m4: Undo incorrect untabification.
31059
31060 2009-12-12  Bruno Haible  <bruno@clisp.org>
31061
31062         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
31063         * modules/c-strtod (Depends-on): Add locale.
31064         * modules/c-strtold (Depends-on): Likewise.
31065
31066 2009-12-12  Bruno Haible  <bruno@clisp.org>
31067
31068         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
31069
31070 2009-12-11  Eric Blake  <ebb9@byu.net>
31071
31072         setenv: relax requirement in light of POSIX ruling
31073         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
31074         not NULL.
31075         * tests/test-setenv.c (main): Relax test.
31076         * tests/test-unsetenv.c (main): Likewise.
31077         * doc/posix-functions/setenv.texi (setenv): Document this.
31078         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
31079
31080 2009-12-11  Bruno Haible  <bruno@clisp.org>
31081
31082         New module 'fd-safer-flag'.
31083         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
31084         * lib/dup-safer.c (dup_safer_flag): Remove function.
31085         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
31086         * lib/fd-safer.c (fd_safer_flag): Remove function.
31087         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
31088         * modules/cloexec (configure.ac): Drop indicator macro.
31089         * modules/fd-safer-flag: New file.
31090         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
31091         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
31092         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
31093
31094 2009-12-11  Bruno Haible  <bruno@clisp.org>
31095
31096         Tests for module 'nl_langinfo'.
31097         * modules/nl_langinfo-tests: New file.
31098         * tests/test-nl_langinfo.sh: New file.
31099         * tests/test-nl_langinfo.c: New file.
31100
31101         New module 'nl_langinfo'.
31102         * lib/nl_langinfo.c: New file.
31103         * m4/nl_langinfo.m4: New file.
31104         * modules/nl_langinfo: New file.
31105         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
31106
31107 2009-12-11  Bruno Haible  <bruno@clisp.org>
31108
31109         Tests for module 'langinfo'.
31110         * modules/langinfo-tests: New file.
31111         * tests/test-langinfo.c: New file.
31112
31113         New module 'langinfo'.
31114         * lib/langinfo.in.h: New file.
31115         * m4/langinfo_h.m4: New file.
31116         * modules/langinfo: New file.
31117         * doc/posix-headers/langinfo.texi: Mention the new module.
31118
31119 2009-12-11  Bruno Haible  <bruno@clisp.org>
31120
31121         * lib/config.charset: Untabify.
31122
31123 2009-12-11  Bruno Haible  <bruno@clisp.org>
31124
31125         * modules/unistd-safer (configure.ac): Drop indicator macro.
31126
31127 2009-12-11  Bruno Haible  <bruno@clisp.org>
31128
31129         Move pipe2-safer code to its own file.
31130         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
31131         * lib/pipe-safer.c (pipe2_safer): Remove function.
31132         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
31133         (Makefile.am): Add it to lib_SOURCES.
31134
31135 2009-12-10  Bruno Haible  <bruno@clisp.org>
31136
31137         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
31138
31139 2009-12-10  Bruno Haible  <bruno@clisp.org>
31140
31141         Declare which arguments expect non-NULL values, for GCC and clang.
31142         * build-aux/arg-nonnull.h: New file.
31143         * modules/arg-nonnull: New file.
31144         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
31145         (inet_ntop, inet_pton): Use it.
31146         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
31147         (closedir, dirfd, opendir, scandir, alphasort): Use it.
31148         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
31149         (open, openat): Use it.
31150         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
31151         (fnmatch): Use it.
31152         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
31153         (getopt, getopt_long, getopt_long_only): Use it.
31154         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
31155         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
31156         Use it.
31157         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
31158         (iconv_open): Use it.
31159         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
31160         (strtoimax, strtoumax): Use it.
31161         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
31162         (duplocale): Use it.
31163         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
31164         (frexp, frexpl): Use it.
31165         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
31166         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
31167         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
31168         (tsearch, tfind, tdelete, twalk): Use it.
31169         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
31170         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
31171         sigpending): Use it.
31172         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
31173         (posix_spawn, posix_spawnp, posix_spawnattr_init,
31174         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
31175         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
31176         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
31177         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
31178         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
31179         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
31180         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
31181         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
31182         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
31183         Use it.
31184         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
31185         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
31186         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
31187         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
31188         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
31189         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
31190         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
31191         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
31192         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
31193         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
31194         strtoull, unsetenv): Use it.
31195         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
31196         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
31197         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
31198         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
31199         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
31200         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
31201         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
31202         (strcasecmp, strncasecmp): Use it.
31203         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
31204         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
31205         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
31206         rpl_setsockopt): Use it.
31207         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
31208         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
31209         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
31210         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
31211         (gettimeofday): Use it.
31212         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
31213         (times): Use it.
31214         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
31215         (uname): Use it.
31216         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
31217         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
31218         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
31219         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
31220         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
31221         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
31222         unlinkat, write): Use it.
31223         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
31224         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
31225         * lib/argv-iter.h: Include arg-nonnull.h.
31226         (_ATTRIBUTE_NONNULL_): Remove macro.
31227         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
31228         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
31229         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
31230         optimization.
31231         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
31232         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
31233         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
31234         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
31235         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
31236         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
31237         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
31238         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
31239         * modules/arpa_inet (Depends-on): Add arg-nonnull.
31240         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
31241         * modules/dirent (Depends-on): Add arg-nonnull.
31242         (Makefile.am): Insert arg-nonnull.h into dirent.h.
31243         * modules/fcntl-h (Depends-on): Add arg-nonnull.
31244         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
31245         * modules/fnmatch (Depends-on): Add arg-nonnull.
31246         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
31247         * modules/getopt-posix (Depends-on): Add arg-nonnull.
31248         (Makefile.am): Insert arg-nonnull.h into getopt.h.
31249         * modules/glob (Depends-on): Add arg-nonnull.
31250         (Makefile.am): Insert arg-nonnull.h into glob.h.
31251         * modules/iconv_open (Depends-on): Add arg-nonnull.
31252         (Makefile.am): Insert arg-nonnull.h into iconv.h.
31253         * modules/inttypes (Depends-on): Add arg-nonnull.
31254         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
31255         * modules/locale (Depends-on): Add arg-nonnull.
31256         (Makefile.am): Insert arg-nonnull.h into locale.h.
31257         * modules/math (Depends-on): Add arg-nonnull.
31258         (Makefile.am): Insert arg-nonnull.h into math.h.
31259         * modules/netdb (Depends-on): Add arg-nonnull.
31260         (Makefile.am): Insert arg-nonnull.h into netdb.h.
31261         * modules/search (Depends-on): Add arg-nonnull.
31262         (Makefile.am): Insert arg-nonnull.h into search.h.
31263         * modules/signal (Depends-on): Add arg-nonnull.
31264         (Makefile.am): Insert arg-nonnull.h into signal.h.
31265         * modules/spawn (Depends-on): Add arg-nonnull.
31266         (Makefile.am): Insert arg-nonnull.h into spawn.h.
31267         * modules/stdio (Depends-on): Add arg-nonnull.
31268         (Makefile.am): Insert arg-nonnull.h into stdio.h.
31269         * modules/stdlib (Depends-on): Add arg-nonnull.
31270         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
31271         * modules/string (Depends-on): Add arg-nonnull.
31272         (Makefile.am): Insert arg-nonnull.h into string.h.
31273         * modules/strings (Depends-on): Add arg-nonnull.
31274         (Makefile.am): Insert arg-nonnull.h into strings.h.
31275         * modules/sys_socket (Depends-on): Add arg-nonnull.
31276         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
31277         * modules/sys_stat (Depends-on): Add arg-nonnull.
31278         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
31279         * modules/sys_time (Depends-on): Add arg-nonnull.
31280         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
31281         * modules/sys_times (Depends-on): Add arg-nonnull.
31282         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
31283         * modules/sys_utsname (Depends-on): Add arg-nonnull.
31284         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
31285         * modules/time (Depends-on): Add arg-nonnull.
31286         (Makefile.am): Insert arg-nonnull.h into time.h.
31287         * modules/unistd (Depends-on): Add arg-nonnull.
31288         (Makefile.am): Insert arg-nonnull.h into unistd.h.
31289         * modules/wchar (Depends-on): Add arg-nonnull.
31290         (Makefile.am): Insert arg-nonnull.h into wchar.h.
31291         * modules/argv-iter (Depends-on): Add arg-nonnull.
31292         * tests/test-canonicalize.c (null_ptr): New function.
31293         (main): Use it.
31294         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
31295         (main): Use it.
31296         * tests/test-memmem.c (null_ptr): New function.
31297         (main): Use it.
31298         Reported by Jim Meyering.
31299
31300 2009-12-10  Bruno Haible  <bruno@clisp.org>
31301
31302         Use spaces for indentation, not tabs.
31303         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31304         * m4/*.m4: Untabify.
31305         * build-aux/*.h: Untabify.
31306         * tests/**/*.[hc]: Untabify.
31307         * README: New section "Indent with spaces, not TABs", based on
31308         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
31309         * NEWS: Mention the change.
31310
31311 2009-12-10  Bruno Haible  <bruno@clisp.org>
31312
31313         pty test: Fix link error.
31314         * modules/pty-tests (Makefile.am): Add the default LDADD value to
31315         test_pty_LDADD.
31316
31317 2009-12-07  Simon Josefsson  <simon@josefsson.org>
31318
31319         * modules/pty: New file.
31320         * modules/pty-tests: New file.
31321         * m4/pty.m4: New file.
31322         * tests/test-pty.c: New file.
31323         * doc/glibc-headers/pty.texi: Modified.
31324         * doc/glibc-functions/forkpty.texi: Modified.
31325         * doc/glibc-functions/openpty.texi: Modified.
31326
31327 2009-12-10  Bruno Haible  <bruno@clisp.org>
31328
31329         Avoid syntax error in C++ mode.
31330         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
31331
31332 2009-12-10  Bruno Haible  <bruno@clisp.org>
31333
31334         Use sed with option -e.
31335         * gnulib-tool (func_version, func_emit_copyright_notice,
31336         func_emit_initmacro_end, func_import, func_create_testdir): Pass
31337         option -e to sed.
31338         * modules/link-warning (Makefile.am): Likewise.
31339
31340 2009-12-10  Jim Meyering  <meyering@redhat.com>
31341
31342         mgetgroups: do not write bytes beyond end of malloc'd buffer
31343         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
31344         username, we call getgroups with a one-element-shorter buffer,
31345         but still told it the length was original, max_n_groups.
31346
31347 2009-12-09  Eric Blake  <ebb9@byu.net>
31348
31349         cloexec: relax license
31350         * modules/cloexec (Maintainer): Add myself.
31351         (License): Use LGPL, not GPL.
31352
31353         link-warning: optimize generation
31354         * modules/link-warning (Makefile.am): Reduce process usage.
31355
31356 2009-12-09  Bruno Haible  <bruno@clisp.org>
31357
31358         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
31359         workaround was added on 2009-11-17.
31360
31361 2009-12-09  Jim Meyering  <meyering@redhat.com>
31362             Bruno Haible  <bruno@clisp.org>
31363
31364         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
31365         * modules/link-warning (Makefile.am): Make the comment-removing sed
31366         command more robust in the face of bootstrap-prepended comment lines.
31367
31368 2009-12-09  Bruno Haible  <bruno@clisp.org>
31369
31370         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
31371         most one group.
31372
31373 2009-12-09  Simon Josefsson <simon@josefsson.org>
31374             Bruno Haible  <bruno@clisp.org>
31375
31376         * build-aux/link-warning.h: Add copyright notice.
31377         * modules/link-warning (Makefile.am): Generate link-warning.h from
31378         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
31379         * NEWS: Mention change in link-warning module.
31380         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
31381         * modules/dirent (Makefile.am): Add dependency to dirent.h.
31382         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
31383         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
31384         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
31385         * modules/math (Makefile.am): Add dependency to math.h.
31386         * modules/search (Makefile.am): Add dependency to search.h.
31387         * modules/signal (Makefile.am): Add dependency to signal.h.
31388         * modules/spawn (Makefile.am): Add dependency to spawn.h.
31389         * modules/stdio (Makefile.am): Add dependency to stdio.h.
31390         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
31391         * modules/string (Makefile.am): Add dependency to string.h.
31392         * modules/strings (Makefile.am): Add dependency to strings.h.
31393         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
31394         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
31395         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
31396         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
31397         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
31398         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
31399         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
31400         * modules/unistd (Makefile.am): Add dependency to unistd.h.
31401         * modules/wchar (Makefile.am): Add dependency to wchar.h.
31402
31403 2009-12-09  Bruno Haible  <bruno@clisp.org>
31404
31405         fchdir: Optimize away rpl_fstat when possible.
31406         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
31407         REPLACE_OPEN_DIRECTORY.
31408         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
31409
31410 2009-12-09  Bruno Haible  <bruno@clisp.org>
31411
31412         * lib/fchdir.c: Update comment.
31413
31414 2009-12-09  Bruno Haible  <bruno@clisp.org>
31415
31416         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
31417
31418 2009-12-08  Eric Blake  <ebb9@byu.net>
31419
31420         fchdir: avoid memory leak on re-registration.
31421         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
31422
31423 2009-12-08  Jim Meyering  <meyering@redhat.com>
31424
31425         init.sh: avoid Solaris 10 /bin/sh portability problem
31426         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
31427         sourced script:
31428           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
31429           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
31430           bar
31431         tests/init.sh relied on that, accepting a --set-path=DIR argument,
31432         and two tests used that idiom.
31433         * tests/init.sh: Update suggested usage comments.
31434         (path_prepend_): New function, to be used in place
31435         of the --src-path=DIR option.
31436         (setup_): Move PATH-prepending code into path_prepend_.
31437         * tests/test-pread.sh: Adapt to new usage.
31438         * tests/test-xalloc-die.sh: Likewise.
31439
31440 2009-12-08  Simon Josefsson  <simon@josefsson.org>
31441
31442         * doc/gnulib.texi (Glibc pty.h): Add.
31443         * doc/glibc-functions/forkpty.texi: Add.
31444         * doc/glibc-functions/openpty.texi: Add.
31445         Suggested by Bruno Haible.
31446
31447 2009-12-08  Eric Blake  <ebb9@byu.net>
31448
31449         fchdir: fix logic bugs
31450         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
31451         * tests/test-fchdir.c (main): Enhance test.
31452         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
31453         is in use.
31454
31455         dup2: fix logic bugs
31456         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
31457         REPLACE_DUP2 to decide when rpl_dup2 is needed.
31458         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
31459         exists.
31460         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
31461
31462 2009-12-07  Eric Blake  <ebb9@byu.net>
31463
31464         unlink: fix m4 detection
31465         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
31466
31467         unistd-safer: add unit test
31468         * modules/unistd-safer-tests: New file.
31469         * tests/test-dup-safer.c: Likewise.
31470         * tests/test-cloexec.c (setmode): Avoid compiler warning.
31471         * tests/test-dup2.c (setmode): Likewise.
31472         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
31473
31474         cloexec: preserve text vs. binary across dup_cloexec
31475         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
31476         mode.
31477         * modules/dup2-tests (Depends-on): Add binary-io.
31478         * modules/cloexec-tests (Depends-on): Likewise.
31479         * tests/test-dup2.c (setmode, is_mode): New helpers.
31480         (main): Add tests that translation mode is preserved.
31481         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
31482         Reported by Bruno Haible.
31483
31484         mgetgroups: reduce duplicate listings
31485         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
31486         resulting array.
31487         * tests/test-chown.h (test_chown): Simplify client.
31488         * tests/test-lchown.h (test_lchown): Likewise.
31489
31490 2009-12-06  Bruno Haible  <bruno@clisp.org>
31491
31492         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
31493         value.
31494
31495 2009-12-06  Bruno Haible  <bruno@clisp.org>
31496
31497         * lib/progname.c: Include stdio.h, stdlib.h.
31498         (set_program_name): Reject a NULL argument.
31499
31500 2009-12-05  Eric Blake  <ebb9@byu.net>
31501
31502         pipe2-safer: new module
31503         * modules/pipe2-safer: New file.
31504         * lib/unistd-safer.h (pipe2_safer): New prototype.
31505         * lib/unistd--.h (pipe2): New wrapper.
31506         * lib/pipe-safer.c (pipe2_safer): New function.
31507         * modules/pipe (Depends-on): Add pipe2-safer.
31508         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
31509
31510         stdlib-safer: preserve cloexec flag for mkostemp[s]
31511         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
31512         fd_safer_flag.
31513
31514         unistd-safer: allow preservation of cloexec status via flag
31515         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
31516         prototypes.
31517         * lib/dup-safer.c (dup_safer_flag): New function.
31518         * lib/fd-safer.c (fd_safer_flag): Likewise.
31519         * modules/cloexec (configure.ac): Set witness.
31520
31521         test-dup2: enhance test
31522         * modules/dup2-tests (Depends-on): Add cloexec.
31523         * tests/test-dup2.c (main): Enhance test.
31524
31525         cloexec: add dup_cloexec
31526         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
31527         header and comments.
31528         * lib/cloexec.c (set_cloexec_flag): Add comments.
31529         (dup_cloexec): New function, with mingw implementation borrowed
31530         from...
31531         * lib/w32spawn.h (dup_noinherit): ...here.
31532         * modules/execute (Depends-on): Add cloexec.
31533         * modules/pipe (Depends-on): Likewise.
31534         * modules/cloexec (Depends-on): Add dup2.
31535         * modules/cloexec-tests (Files): New file.
31536         * tests/test-cloexec.c: Likewise.
31537
31538         test-xalloc-die: fix test for mingw
31539         * modules/xalloc-die-tests (Files): Add tests/init.sh.
31540         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
31541         directory and .exe suffix off argv[0] output.
31542
31543         test-fseeko: fix test for mingw
31544         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
31545         than undefining fseek, so test will pass on mingw.
31546
31547 2009-12-05  Bruno Haible  <bruno@clisp.org>
31548
31549         * lib/progname.h (set_program_name): Clarify specification.
31550         * lib/progname.c (set_program_name): Likewise.
31551         Reported by Jim Meyering.
31552
31553 2009-12-05  Jim Meyering  <meyering@redhat.com>
31554
31555         maint.mk: backslash-escape parens in default regexp
31556         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
31557         backslash-escape the literal parentheses.
31558
31559         maint.mk: news-date-check: use grep -E
31560         * top/maint.mk (today): Define a Make variable, not a...
31561         (news-date-check): ...shell variable.
31562         (news-date-regexp): Use the Make variable.
31563         Use grep's -E option.  Change the failing diagnostic to mention
31564         the variable, $(news-date-regexp).
31565
31566 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
31567
31568         maintainer-makefile: allow customization of NEWS entry format
31569         * top/maint.mk (news-date-regexp): New overridable variable.
31570         (news-date-check): Use it.
31571
31572 2009-12-04  Eric Blake  <ebb9@byu.net>
31573
31574         mgetgroups: add xgetgroups, and avoid ENOSYS failures
31575         * lib/mgetgroups.h (xgetgroups): New prototype.
31576         * lib/mgetgroups.c (xgetgroups): New wrapper.
31577         (mgetgroups): Handle ENOSYS.
31578         * modules/mgetgroups (Depends-on): Add realloc.
31579         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
31580
31581         mgetgroups: avoid argument promotion issues with -1
31582         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
31583         for invalid gid_t.
31584         * tests/test-chown.h (getegid, test_chown): Likewise.
31585         * tests/test-lchown.h (getegid, test_lchown): Likewise.
31586
31587 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
31588
31589         exclude: Fix header file problems.
31590         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
31591
31592 2009-12-01  Jim Meyering  <meyering@redhat.com>
31593
31594         fts: fts_open: do not let an empty string cause immediate failure
31595         This is required in support of GNU rm, for which the command
31596         "rm A '' B" must process and remove both A and B, in spite of
31597         the empty string argument.
31598         * lib/fts.c (fts_open): Do not let the presence of an empty string
31599         cause fts_open to fail immediately.  Most fts-using tools must be
31600         able to process all arguments, in order, and can be expected to
31601         diagnose such arguments themselves.
31602
31603 2009-11-30  Eric Blake  <ebb9@byu.net>
31604
31605         utimens: fix compilation error
31606         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
31607         Declare variable at right scope.
31608
31609 2009-11-29  Jim Meyering  <meyering@redhat.com>
31610
31611         bootstrap: handle perl-5.11's changed --version output
31612         * build-aux/bootstrap (get_version): Handle perl separately,
31613         since perl-5.11's --version output is different.
31614
31615 2009-11-28  Jim Meyering  <meyering@redhat.com>
31616
31617         userspec: depend on the inttostr module, too
31618         * modules/userspec (Depends-on): Add inttostr.
31619
31620         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
31621         * lib/userspec.c (parse_with_separator): Do not accept a user ID
31622         number of MAXUID when it evaluates to (uid_t) -1.
31623         Likewise for group ID.  Reported by Matt McCutchen in
31624         <http://savannah.gnu.org/bugs/?28113>
31625
31626         userspec: reformat to use spaces, not TABs
31627         * lib/userspec.c: Expand TABs to spaces.
31628         Add Emacs' "indent-tabs-mode: nil" hint.
31629
31630 2009-11-27  Eric Blake  <ebb9@byu.net>
31631
31632         getopt-gnu: flush out another BSD bug
31633         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
31634         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
31635         flush out BSD bug.
31636         * tests/test-getopt.h (test_getopt): End lists with NULL.
31637         * tests/test-getopt_long.h (test_getopt_long): Likewise.
31638         (test_getopt_long_posix): Enhance test.
31639         * modules/getopt-posix-tests (Depends-on): Add stdbool.
31640         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
31641         getopt-gnu.
31642         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31643         Likewise.
31644
31645 2009-11-27  Simon Josefsson  <simon@josefsson.org>
31646
31647         * modules/idpriv-droptemp-tests (Notice): Fix text.
31648
31649 2009-11-27  Jim Meyering  <meyering@redhat.com>
31650
31651         test-xalloc-die: avoid spurious failure due to libtool argv difference
31652         In a libtool-enabled project, this test would fail due to a difference
31653         in the emitted program name, e.g.,
31654         -test-xalloc-die: memory exhausted
31655         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
31656         Use program to avoid that.
31657         * modules/xalloc-die-tests (Depends-on): Add progname.
31658         * tests/test-xalloc-die.c: Include progname.h".
31659         (program_name): Remove decl.
31660         (main): Call set_program_name.
31661         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
31662
31663 2009-11-26  Richard Jones  <rjones@redhat.com>
31664
31665         w32sock: leave win32 error in place.
31666         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
31667
31668 2009-11-26  Eric Blake  <ebb9@byu.net>
31669
31670         init.sh: suggest to use skip_ and fail_ functions in comments
31671         * tests/init.sh: Add a sentence.
31672
31673 2009-11-25  Bruno Haible  <bruno@clisp.org>
31674
31675         init.sh: add documentation in comments
31676         * tests/init.sh: Add some developer and user documentation.
31677
31678 2009-11-26  Jim Meyering  <meyering@redhat.com>
31679
31680         init.sh: accommodate even those who specify bogus srcdir manually
31681         * tests/init.sh: Normally, srcdir is guaranteed by automake and
31682         configure-time tests to be sanitized, so that there is no need to
31683         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
31684         (with no double quotes) suffices.  However, since tests may be
31685         invoked manually, and since you may explicitly set srcdir to the
31686         name of a directory containing spaces, do quote its uses here.
31687         * tests/test-pread.sh: Likewise.
31688         Suggested by Bruno Haible.
31689
31690         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
31691         * tests/test-pread.sh: Write no data into the pipe, because
31692         test-pread actually reads none.  This avoids a diagnostic,
31693         "bash: echo: write error: Broken pipe", that arises in the unusual
31694         event something is ignoring SIGPIPE, and might be interpreted
31695         as some sort of failure.  Reported by Bruno Haible.
31696
31697 2009-11-25  Jim Meyering  <meyering@redhat.com>
31698
31699         test-pread: cover failure with ESPIPE and EINVAL
31700         * tests/test-pread.c (main): Test for failure, too.
31701         * tests/test-pread.sh: Invoke with stdin on a pipe.
31702         Suggested by Eric Blake.
31703
31704         pread: improvement and fix
31705         * modules/pread (Depends-on): Depend on lseek, for portability to
31706         e.g., mingw.  Suggested by Eric Blake.
31707         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
31708
31709         unistd.in.h: correct declaration of pread
31710         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
31711         Reported by Richard W.M. Jones.
31712
31713         test-pread.sh: distribute the test script
31714         * modules/pread-tests (Files): Include test-pread.sh.
31715
31716         test-pread.sh: clean up
31717         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
31718         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
31719         That is unnecessary, since it's always ".".
31720         Suggestion from Eric Blake.
31721
31722         test-pread.sh: make executable
31723         * tests/test-pread.sh: Set executable bit.
31724         Reported by Eric Blake.
31725
31726         correct typo in test-pread.sh
31727         * tests/test-pread.sh: Add #! line.
31728
31729         test pread
31730         * tests/test-pread.c: New file.
31731         * tests/test-pread.sh: Likewise.
31732         * modules/pread-tests: Likewise.
31733
31734         pread: new module
31735         * modules/pread: New file.
31736         * lib/unistd.in.h (pread): Define/declare.
31737         * lib/pread.c (pread): New file.
31738         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
31739         * modules/unistd (Makefile.am): Substitute witnesses.
31740         * doc/posix-functions/pread.texi (pread): Update.
31741         * MODULES.html.sh: Add pread.
31742
31743 2009-11-25  Jim Meyering  <meyering@redhat.com>
31744
31745         tests/init.sh: new file to be used via most *.sh tests
31746         * tests/init.sh: New file.
31747
31748 2009-11-25  Eric Blake  <ebb9@byu.net>
31749
31750         utimens: work around older Linux failure with symlinks
31751         * lib/utimens.c (lutimensat_works_really): New variable.
31752         (fdutimens, lutimens): Use it to manage kernels that support
31753         nanosecond times on files, but not on symlinks.
31754         Reported by OndÅ™ej Vašík.
31755
31756         utimes: fix configure grammar
31757         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
31758
31759 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
31760
31761         regex: Fix fastmap for multibyte character ranges.
31762         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
31763         characters when a multibyte character range is included.
31764
31765 2009-11-22  Andy Wingo  <wingo@pobox.com>
31766
31767         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
31768         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
31769
31770 2009-11-24  Bruno Haible  <bruno@clisp.org>
31771
31772         doc: Most *_l functions exist in MacOS X 10.5.
31773         * doc/posix-functions/duplocale.texi: Update platforms list.
31774         * doc/posix-functions/freelocale.texi: Likewise.
31775         * doc/posix-functions/newlocale.texi: Likewise.
31776         * doc/posix-functions/uselocale.texi: Likewise.
31777         * doc/posix-functions/isalnum_l.texi: Likewise.
31778         * doc/posix-functions/isalpha_l.texi: Likewise.
31779         * doc/posix-functions/isblank_l.texi: Likewise.
31780         * doc/posix-functions/iscntrl_l.texi: Likewise.
31781         * doc/posix-functions/isdigit_l.texi: Likewise.
31782         * doc/posix-functions/isgraph_l.texi: Likewise.
31783         * doc/posix-functions/islower_l.texi: Likewise.
31784         * doc/posix-functions/isprint_l.texi: Likewise.
31785         * doc/posix-functions/ispunct_l.texi: Likewise.
31786         * doc/posix-functions/isspace_l.texi: Likewise.
31787         * doc/posix-functions/isupper_l.texi: Likewise.
31788         * doc/posix-functions/iswalnum_l.texi: Likewise.
31789         * doc/posix-functions/iswalpha_l.texi: Likewise.
31790         * doc/posix-functions/iswblank_l.texi: Likewise.
31791         * doc/posix-functions/iswcntrl_l.texi: Likewise.
31792         * doc/posix-functions/iswctype_l.texi: Likewise.
31793         * doc/posix-functions/iswdigit_l.texi: Likewise.
31794         * doc/posix-functions/iswgraph_l.texi: Likewise.
31795         * doc/posix-functions/iswlower_l.texi: Likewise.
31796         * doc/posix-functions/iswprint_l.texi: Likewise.
31797         * doc/posix-functions/iswpunct_l.texi: Likewise.
31798         * doc/posix-functions/iswspace_l.texi: Likewise.
31799         * doc/posix-functions/iswupper_l.texi: Likewise.
31800         * doc/posix-functions/iswxdigit_l.texi: Likewise.
31801         * doc/posix-functions/isxdigit_l.texi: Likewise.
31802         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
31803         * doc/posix-functions/strcasecmp_l.texi: Likewise.
31804         * doc/posix-functions/strcoll_l.texi: Likewise.
31805         * doc/posix-functions/strfmon_l.texi: Likewise.
31806         * doc/posix-functions/strftime_l.texi: Likewise.
31807         * doc/posix-functions/strncasecmp_l.texi: Likewise.
31808         * doc/posix-functions/strxfrm_l.texi: Likewise.
31809         * doc/posix-functions/tolower_l.texi: Likewise.
31810         * doc/posix-functions/toupper_l.texi: Likewise.
31811         * doc/posix-functions/towctrans_l.texi: Likewise.
31812         * doc/posix-functions/towlower_l.texi: Likewise.
31813         * doc/posix-functions/towupper_l.texi: Likewise.
31814         * doc/posix-functions/wcscoll_l.texi: Likewise.
31815         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
31816         * doc/posix-functions/wctrans_l.texi: Likewise.
31817         * doc/posix-functions/wctype_l.texi: Likewise.
31818         * doc/glibc-functions/strptime_l.texi: Likewise.
31819         * doc/glibc-functions/strtod_l.texi: Likewise.
31820         * doc/glibc-functions/strtof_l.texi: Likewise.
31821         * doc/glibc-functions/strtol_l.texi: Likewise.
31822         * doc/glibc-functions/strtold_l.texi: Likewise.
31823         * doc/glibc-functions/strtoll_l.texi: Likewise.
31824         * doc/glibc-functions/strtoul_l.texi: Likewise.
31825         * doc/glibc-functions/strtoull_l.texi: Likewise.
31826         * doc/glibc-functions/wcsftime_l.texi: Likewise.
31827         * doc/glibc-functions/wcstod_l.texi: Likewise.
31828         * doc/glibc-functions/wcstof_l.texi: Likewise.
31829         * doc/glibc-functions/wcstol_l.texi: Likewise.
31830         * doc/glibc-functions/wcstold_l.texi: Likewise.
31831         * doc/glibc-functions/wcstoll_l.texi: Likewise.
31832         * doc/glibc-functions/wcstoul_l.texi: Likewise.
31833         * doc/glibc-functions/wcstoull_l.texi: Likewise.
31834
31835 2009-11-24  Bruno Haible  <bruno@clisp.org>
31836
31837         duplocale: Fix logic bug.
31838         * lib/duplocale.c: Don't include <langinfo.h>.
31839         (_NL_LOCALE_NAME): Remove macro.
31840         (rpl_duplocale): Use setlocale instead of nl_langinfo.
31841         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
31842
31843 2009-11-23  Jim Meyering  <meyering@redhat.com>
31844
31845         test-update-copyright: don't hard-code /usr/bin/perl
31846         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
31847         perl to print the current year.  Gilles Espinasse reported that
31848         the replaced use of perl was hard-coded as /usr/bin/perl.
31849
31850 2009-11-23  Bruno Haible  <bruno@clisp.org>
31851
31852         duplocale: Add support for glibc 2.3.x.
31853         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
31854
31855 2009-11-22  Bruno Haible  <bruno@clisp.org>
31856
31857         vasnprintf: Tiny optimization.
31858         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
31859         MacOS X.
31860
31861 2009-11-22  Bruno Haible  <bruno@clisp.org>
31862
31863         Tests for module 'duplocale'.
31864         * modules/duplocale-tests: New file.
31865         * tests/test-duplocale.c: New file.
31866
31867         New module 'duplocale'.
31868         * m4/duplocale.m4: New file.
31869         * lib/locale.in.h (duplocale): New declaration.
31870         * lib/duplocale.c: New file.
31871         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
31872         gl_LOCALE_H_DEFAULTS): New macros.
31873         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
31874         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
31875         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
31876         REPLACE_DUPLOCALE.
31877         * modules/duplocale: New file.
31878         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
31879
31880 2009-11-22  Bruno Haible  <bruno@clisp.org>
31881
31882         * modules/locale-tests (configure.ac): Test for newlocale function.
31883         * tests/test-locale.c: When the system has extended locale functions,
31884         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
31885
31886         locale: Make locale_t available when possible.
31887         * lib/locale.in.h: Include <xlocale.h> when it exists.
31888         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
31889         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
31890         * modules/locale (Depends-on): Add extensions.
31891         (Makefile.am): Also substitute HAVE_XLOCALE_H.
31892         * doc/posix-headers/locale.texi: Document the problem with locale_t.
31893
31894 2009-11-22  Bruno Haible  <bruno@clisp.org>
31895
31896         Add comments.
31897         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
31898         invocation.
31899         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
31900         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
31901         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
31902
31903 2009-11-22  Bruno Haible  <bruno@clisp.org>
31904
31905         error: account for the possibility of freopen (stdout).
31906         * lib/error.c: Include <unistd.h>.
31907         (flush_stdout): New function, extracted from error and error_at_line.
31908         Determine stdout's fd dynamically.
31909         (error, error_at_line): Invoke flush_stdout.
31910         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
31911         * modules/error (Depends-on): Add unistd.
31912
31913 2009-11-22  Bruno Haible  <bruno@clisp.org>
31914
31915         diffseq: Add comment.
31916         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
31917
31918 2009-11-22  Jim Meyering  <meyering@redhat.com>
31919
31920         c-stack: avoid defining an unused static function
31921         * lib/c-stack.c (find_stack_direction): Do not define this function
31922         when it will not be used.
31923
31924         diffseq: avoid spurious gcc warnings
31925         * lib/diffseq.h (IF_LINT2): Define.
31926         (compareseq): Use it to initialize two members of "part".
31927         This avoids two used-uninitialized warnings.
31928
31929 2009-11-21  Jim Meyering  <meyering@redhat.com>
31930
31931         c-stack: avoid "ignoring return value of `write'" warning
31932         * lib/c-stack.c: Include "ignore-value.h".
31933         (die): Explicitly ignore each write return value.
31934         * modules/c-stack (Depends-on): Add ignore-value.
31935
31936 2009-11-21  Bruno Haible  <bruno@clisp.org>
31937
31938         diffseq: reduce scope of variable 'best'.
31939         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
31940         variable, earlier used for two different purposes.
31941
31942 2009-11-21  Jim Meyering  <meyering@redhat.com>
31943
31944         diffseq: remove useless assignment to "best"
31945         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
31946         assignment.  At that point "best" is already guaranteed to be zero.
31947
31948 2009-11-20  Eric Blake  <ebb9@byu.net>
31949
31950         build: mention ftp redirector in release announcements
31951         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
31952         values that used to come from cfg.mk; mention FTP redirect URL.
31953         * build-aux/announce-gen: Mention the mirror list.
31954         Suggested by Karl Berry.
31955
31956         nanosleep: improve port to mingw
31957         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
31958         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
31959         LIB_NANOSLEEP, but only when needed.
31960         * modules/select (Link): Document LIBSOCKET.
31961         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
31962         enough.
31963
31964         nanosleep: work around cygwin bug
31965         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
31966         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
31967         bug.
31968         (getnow): Delete, not needed.
31969         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
31970         LIB_CLOCK_GETTIME.
31971         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
31972         clock-time, gettime.
31973         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
31974         bug.
31975         * modules/nanosleep-tests: New test.
31976         * tests/test-nanosleep.c: New file.
31977
31978         sleep: work around cygwin bug
31979         * lib/sleep.c (rpl_sleep): Work around the bug.
31980         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
31981         (gl_PREREQ_SLEEP): Delete unused macro.
31982         * modules/sleep (Depends-on): Add verify.
31983         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
31984         * modules/unistd (Makefile.am): Substitute witness.
31985         * lib/unistd.in.h (sleep): Update prototype.
31986         * doc/posix-functions/sleep.texi (sleep): Document the bug.
31987         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
31988         * modules/sleep-tests (Depends-on): Check for alarm.
31989
31990 2009-11-20  Jim Meyering  <meyering@redhat.com>
31991
31992         maint.mk: improve sc_prohibit_magic_number_exit
31993         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
31994         so it does not match uses like System.exit(1).
31995         Add comments showing how to correct all offenders.
31996
31997 2009-11-19  Eric Blake  <ebb9@byu.net>
31998
31999         xalloc-die-tests: add missing library
32000         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
32001
32002         test-xvasprintf: silence compiler warnings
32003         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
32004         empty string from gcc.
32005
32006 2009-11-19  Jim Meyering  <meyering@redhat.com>
32007
32008         xfreopen: new module, from coreutils
32009         * modules/xfreopen: New module.
32010         * lib/xfreopen.c: New file.
32011         * lib/xfreopen.h: New file.
32012         * MODULES.html.sh (File stream based Input/Output"): Add it.
32013
32014 2009-11-19  Eric Blake  <ebb9@byu.net>
32015
32016         manywarnings: depend on warnings
32017         * modules/manywarnings (Depends-on): Add warnings.
32018
32019         build: avoid compiler warnings
32020         * lib/select.c (rpl_select): Delete unused variable.
32021         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
32022
32023 2009-11-18  Eric Blake  <ebb9@byu.net>
32024
32025         tests: avoid false negative with --with-packager
32026         * tests/test-version-etc.sh: Discard packager information.
32027         * tests/test-argp-version-etc-1.sh: Likewise.
32028         Reported by Mike Frysinger.
32029
32030         utimens: fix regression on Solaris
32031         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
32032         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
32033         can only change fd timestamps via futimesat.  Instead, use an
32034         additional witness macro to avoid BSD bug.
32035         Reported by Jim Meyering.
32036
32037 2009-11-17  Eric Blake  <ebb9@byu.net>
32038
32039         usleep: use it to simplify tests
32040         * modules/stat-time-tests (Depends-on): Add usleep.
32041         (configure.ac): Drop usleep check.
32042         * modules/chown-tests (Depends-on, configure.ac): Likewise.
32043         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
32044         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
32045         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
32046         * modules/openat-tests (Depends-on, configure.ac): Likewise.
32047         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
32048         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
32049         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
32050         Likewise.
32051         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
32052         * tests/test-lchown.h (nap): Likewise.
32053         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
32054         * tests/test-stat-time.c (nap): Likewise.
32055         * tests/test-utimens-common.h (nap): Update comments.
32056
32057         usleep: new module
32058         * modules/usleep: New file.
32059         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
32060         * lib/usleep.c (usleep): Likewise.
32061         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
32062         * modules/unistd (Makefile.am): Substitute witnesses.
32063         * lib/unistd.in.h (usleep): Add declaration.
32064         * doc/pastposix-functions/usleep.texi (usleep): Document this.
32065         * MODULES.html.sh (Date and time): Likewise.
32066         * modules/usleep-tests (Depends-on): New test.
32067         * tests/test-usleep.c: New file.
32068
32069         chown: work around OpenBSD bug
32070         * lib/chown.c (rpl_chown): Work around the bug.
32071         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
32072         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
32073         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
32074         * modules/chown (Depends-on): Add stdbool.
32075         * modules/lchown (Depends-on): Likewise.
32076         * doc/posix-functions/chown.texi (chown): Document the bug.
32077         * doc/posix-functions/lchown.texi (lchown): Likewise.
32078         * tests/test-lchown.h (test_chown): Relax test.
32079
32080         mkstemp: avoid conflict with C++ keyword template
32081         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
32082         * lib/mkostemp.c (mkostemp): Likewise.
32083         * lib/mkostemps.c (mkostemps): Likewise.
32084         * lib/mkstemp.c (mkstemp): Likewise.
32085         * lib/mkstemps.c (mkstemps): Likewise.
32086
32087         xalloc-die-tests: optimize
32088         * tests/test-xalloc-die.sh: Reduce number of processes.
32089
32090 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32091
32092         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
32093         patch from ludo@gnu.org (Ludovic Courtès).
32094
32095 2009-11-17  Jim Meyering  <meyering@redhat.com>
32096
32097         version-etc: use proper license string
32098         * modules/version-etc (License): Use LGPL, not LGPLv3+.
32099         * modules/version-etc-fsf: Likewise.
32100
32101 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32102
32103         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
32104         printed to stdout.  Deal with EOL differences.
32105
32106 2009-11-17  Eric Blake  <ebb9@byu.net>
32107
32108         unsetenv: work around Solaris bug
32109         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
32110         * lib/unsetenv.c (rpl_unsetenv): Work around it.
32111         Reported by Jim Meyering.
32112
32113         vasnprintf: avoid compiler warnings
32114         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
32115         variables.
32116         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
32117
32118 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32119
32120         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
32121         settings since xalloc-die is no longer the self test,
32122         xalloc-die.sh is.
32123
32124 2009-11-17  Jim Meyering  <meyering@redhat.com>
32125
32126         test-xalloc-die.sh: make the code agree with the commit log
32127         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
32128         at the end, just in case you happen to have a test-xalloc-die
32129         program in some other PATH directory.
32130
32131         test-xalloc-die.sh: fix a portability bug
32132         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
32133         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
32134         Otherwise, argv[0] (as often seen in diagnostics) would be too
32135         system-dependent, sometimes with, and sometimes without the leading "./".
32136
32137         version-etc-fsf: relax license to LGPLv3+
32138         * modules/version-etc-fsf (License): Relax license.
32139
32140 2009-11-16  Eric Blake  <ebb9@byu.net>
32141
32142         xalloc-die-tests: avoid printing null pointer
32143         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
32144         shell script.
32145         * tests/test-xalloc-die.c (program_name): Declare.
32146         * tests/test-xalloc-die.sh (tmpfiles): New file.
32147
32148         setenv, unsetenv: work around various bugs
32149         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
32150         (setenv) [HAVE_SETENV]: Work around bugs.
32151         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
32152         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
32153         for bugs.
32154         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
32155         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
32156         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
32157         * modules/stdlib (Makefile.am): Update substitutions.
32158         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
32159         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
32160         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
32161         * modules/setenv-tests: New test.
32162         * modules/unsetenv-tests: Likewise.
32163         * tests/test-setenv.c: New file.
32164         * tests/test-unsetenv.c: Likewise.
32165
32166 2009-11-16  Jim Meyering  <meyering@redhat.com>
32167
32168         version-etc: relax license to LGPLv3+
32169         * modules/version-etc (License): Relax license.
32170
32171         better AC_REQUIRE expanded-before-required-warning avoidance
32172         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
32173         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
32174         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
32175         which is no longer needed.
32176
32177 2009-11-16  Eric Blake  <ebb9@byu.net>
32178
32179         test-freading: clean up temporary file
32180         * tests/test-freading.c (main): Remove file on success, and use
32181         ASSERT more liberally.
32182         Reported by Jim Meyering.
32183
32184 2009-11-16  Jim Meyering  <meyering@redhat.com>
32185
32186         avoid new AC_REQUIRE expanded-before-required warnings
32187         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
32188         merely using it.
32189         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
32190         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
32191
32192 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32193
32194         * tests/test-xalloc-die.c: New file.
32195         * modules/xalloc-die-tests: New file.
32196         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
32197         XFAIL_TESTS so it can be appended by modules.
32198
32199 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32200
32201         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
32202         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
32203
32204 2009-11-14  Eric Blake  <ebb9@byu.net>
32205
32206         fnmatch: avoid compiler warning
32207         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
32208         to silence compiler warning about mismatch signedness in ?:.
32209         Reported by Robert Millan.
32210
32211         intprops: add double-inclusion guard
32212         * lib/intprops.h: Allow idempotent includes.
32213         Suggested by Bruce Korb.
32214
32215         openat: detect Solaris fchownat bug
32216         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
32217         penalizing glibc chownat when only lchownat is broken.
32218         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
32219         trailing slash bugs.
32220         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
32221         * modules/openat-tests (Files): Include more files.
32222         (Depends-on): Add mgetgroups, sleep, stat-time.
32223         (configure.ac): Add additional checks.
32224         (Makefile.am): Build new test.
32225         * tests/test-fchownat.c: New file.
32226
32227         lchown: detect Solaris and FreeBSD bug
32228         * lib/lchown.c (rpl_lchown): Work around bug.
32229         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
32230         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32231         * modules/unistd (Makefile.am): Populate it.
32232         * lib/unistd.in.h (lchown): Update declaration.
32233         * doc/posix-functions/lchown.texi (lchown): Document the bug.
32234         * modules/lchown-tests: New file.
32235         * tests/test-lchown.h (test_lchown): Likewise.
32236         * tests/test-lchown.c (main): Likewise.
32237
32238         chown: detect Solaris and FreeBSD bug
32239         * lib/chown.c (rpl_chown): Work around bug.
32240         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
32241         (gl_PREREQ_CHOWN): Delete.
32242         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32243         * modules/unistd (Makefile.am): Populate it.
32244         * lib/unistd.in.h (chown): Update declaration.
32245         * lib/lchown.c (chown): Update client.
32246         * modules/lchown (Depends-on): Add lstat.
32247         * doc/posix-functions/chown.texi (chown): Document the bug.
32248         * doc/posix-functions/getgroups.texi (getgroups): Document
32249         getgroups pitfall.
32250         * modules/chown-tests: New file.
32251         * tests/test-chown.h (test_chown): Likewise.
32252         * tests/test-chown.c (main): Likewise.
32253
32254 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
32255
32256         gnulib-tool: correctly detect absence of m4 directories
32257         * gnulib-tool: Avoid extra newline on data passed to wc -l.
32258
32259 2009-11-14  Jim Meyering  <meyering@redhat.com>
32260
32261         maint.mk: Prohibit inclusion of "xalloc.h" without use.
32262         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32263
32264 2009-11-14  John W. Eaton  <jwe@gnu.org>
32265
32266         strftime.h: wrap funtion declaration in extern "C" block
32267         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
32268
32269 2009-11-13  Eric Blake  <ebb9@byu.net>
32270
32271         getgroups: avoid compiler warning
32272         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
32273
32274         getgroups: work around FreeBSD bug
32275         * lib/getgroups.c (rpl_getgroups): Work around the bug.
32276         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
32277         * doc/posix-functions/getgroups.texi (getgroups): Document it.
32278         * tests/test-getgroups.c (main): Fix buffer overrun.
32279
32280         getgroups: avoid compilation failure
32281         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
32282         * modules/getgroups (Depends-on): Add stdint.
32283
32284 2009-11-13  Jim Meyering  <meyering@redhat.com>
32285
32286         test-getgroups: avoid compilation failure
32287         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
32288
32289 2009-11-13  Eric Blake  <ebb9@byu.net>
32290
32291         mgetgroups: new module, taken from coreutils
32292         * modules/mgetgroups: New file.
32293         * lib/mgetgroups.h: Likewise.
32294         * lib/mgetgroups.c (mgetgroups): Likewise.
32295         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
32296         * MODULES.html.sh (Users and groups): Mention it.
32297
32298         getgroups: don't expose GETGROUPS_T to user
32299         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
32300         an element at a time if GETGROUPS_T is wrong size.
32301         * lib/getugroups.h (getugroups): Change signature.
32302         * lib/unistd.in.h (getgroups): Likewise.
32303         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
32304         signature needs fixing.
32305         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
32306         AC_TYPE_GETGROUPS.
32307         * modules/group-member (Depends-on): Add getgroups.
32308         * lib/group-member.c (group_info, get_group_info): Use gid_t.
32309         (group_member): Rely on getgroups replacement.
32310         * lib/getugroups.c (getugroups): Use gid_t.
32311         * tests/test-getgroups.c (main): Likewise.
32312         * NEWS: Mention the signature change.
32313         * doc/posix-functions/getgroups.texi (getgroups): Mention the
32314         problem with signature.
32315         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
32316         GETGROUPS_T is still useful for setgroups.
32317
32318         getgroups, getugroups: provide stubs for mingw
32319         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
32320         * lib/getugroups.c (getugroups): Likewise.
32321         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
32322         function.  Modernize replacement scheme.
32323         (gl_PREREQ_GETGROUPS): Delete.
32324         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
32325         * modules/getgroups (configure.ac): Declare witness.
32326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32327         * modules/unistd (Depends-on): Substitute witness.
32328         * lib/unistd.in.h (getgroups): Declare replacement.
32329
32330         getgroups: avoid calling exit
32331         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
32332         drop xalloc.
32333         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
32334         dependencies.
32335         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
32336         exiting, in the rare case of malloc failure.
32337
32338         getgroups: fix logic error
32339         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
32340         has more than 20 groups.
32341         * modules/getgroups-tests: New test.
32342         * tests/test-getgroups.c: New file.
32343
32344 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32345
32346         * tests/test-base64.c: Improve.
32347
32348 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32349
32350         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
32351         Blake <ebb9@byu.net>.
32352
32353 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32354
32355         * tests/test-xvasprintf.c: Add %s%s related checks.
32356
32357 2009-11-12  Eric Blake  <ebb9@byu.net>
32358
32359         version-etc: match standards.texi style
32360         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
32361         and use <> only for URLs.
32362
32363 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
32364
32365         fts: do not fail on a submount during traversal
32366         * lib/fts.c (fts_build): Read the stat info again after opening
32367         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
32368         Original report at http://bugzilla.redhat.com/501848.
32369
32370 2009-11-12  Jim Meyering  <meyering@redhat.com>
32371
32372         bootstrap: sync from coreutils
32373         * build-aux/bootstrap (bootstrap_epilogue): New function.
32374         Use git_modules_config in one more place.  This make bootstrap's
32375         --gnulib-srcdir option more useful for testing.
32376
32377         bootstrap: generalize autoheader check
32378         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
32379         AC_CONFIG_HEADERS.
32380
32381 2009-11-11  Eric Blake  <ebb9@byu.net>
32382
32383         mkfifoat: use new modules for Solaris and BSD bugs
32384         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
32385         * lib/mkfifoat.c (mknodat): Split...
32386         * lib/mknodat.c (mknodat): ...into new file.
32387         * modules/mkfifoat (Files): Ship new file.
32388         (Depends-on): Add mkfifo, mknod.
32389         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
32390         (Depends-on): Add symlink.
32391         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
32392         redundant with test_mkfifo.h.
32393         (do_mkfifoat, do_mknodat): New helpers.
32394
32395         mknod: new module
32396         * modules/mknod: New file.
32397         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
32398         * lib/mknod.c (mknod): Likewise.
32399         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32400         defaults.
32401         * modules/sys_stat (Makefile.am): Substitute them.
32402         * lib/sys_stat.in.h (mknod): Declare replacement.
32403         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32404         Document it.
32405         * doc/posix-functions/mknod.texi (mknod): Likewise.
32406         * modules/mknod-tests: New test.
32407         * tests/test-mknod.c: Likewise.
32408
32409         mkfifo: new module
32410         * modules/mkfifo: New file.
32411         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
32412         * lib/mkfifo.c (mkfifo): Likewise.
32413         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32414         defaults.
32415         * modules/sys_stat (Makefile.am): Substitute them.
32416         * lib/sys_stat.in.h (mkfifo): Declare replacement.
32417         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32418         Document it.
32419         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
32420         * modules/mkfifo-tests: New test.
32421         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
32422         from test-mkfifoat.c.
32423         * tests/test-mkfifo.c: New file.
32424
32425         readlink: detect FreeBSD bug
32426         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
32427         slash on symlink.
32428         * doc/posix-functions/readlink.texi (readlink): Document the bug.
32429         * tests/test-readlink.h (test_readlink): Enhance test.
32430
32431         symlink: detect FreeBSD bug
32432         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
32433         slash on symlink.
32434         * doc/posix-functions/symlink.texi (symlink): Document the bug.
32435         * tests/test-symlink.h (test_symlink): Enhance test.
32436
32437 2009-11-10  Eric Blake  <ebb9@byu.net>
32438
32439         link: detect FreeBSD bug
32440         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
32441         symlink.
32442         * doc/posix-functions/link.texi (link): Document the bug.
32443         * tests/test-link.h (test_link): Enhance test.
32444         * tests/test-linkat.c (main): Update caller.
32445
32446         unlink, remove: detect FreeBSD bug
32447         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
32448         slash on symlink.
32449         * doc/posix-functions/unlink.texi (unlink): Document the bug.
32450         * doc/posix-functions/remove.texi (remove): Likewise.
32451         * tests/test-unlink.h (test_unlink): Enhance test.
32452         * tests/test-remove.c (main): Likewise.
32453
32454 2009-11-09  Eric Blake  <ebb9@byu.net>
32455
32456         rename: detect FreeBSD bug
32457         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
32458         slash on symlink.
32459         * modules/renameat-tests (Depends-on): Add filenamecat.
32460         * tests/test-rename.h (test_rename): Allow one more errno.
32461         * tests/test-renameat.c (main): Likewise.
32462         * doc/posix-functions/rename.texi (rename): Document the bug.
32463
32464         open: detect FreeBSD bug
32465         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
32466         symlink.
32467         * doc/posix-functions/open.texi (open): Document the bug.
32468         * doc/posix-functions/utimes.texi (utimes): Likewise.
32469         * tests/test-open.h (test_open): Add parameters, and test symlink
32470         handling.
32471         * tests/test-open.c (main): Adjust caller.
32472         * tests/test-fcntl-safer.c (main): Likewise.
32473         * modules/open-tests (Depends-on): Add stdbool, symlink.
32474         * modules/fcntl-safer-tests (Depends-on): Likewise.
32475         * tests/test-openat.c (main): Add test-open tests.
32476
32477         stat: detect FreeBSD bug
32478         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
32479         symlink.
32480         * doc/posix-functions/stat.texi (stat): Document the bug.
32481         * tests/test-stat.h (test_stat_func): Add argument.
32482         * tests/test-stat.c (main): Adjust caller.
32483         * tests/test-fstatat.c (main): Likewise.
32484         * modules/stat-tests (Depends-on): Add stdbool, symlink.
32485         Reported by Jim Meyering.
32486
32487 2009-11-09  James Youngman  <jay@gnu.org>
32488
32489         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
32490         * lib/strftime.c: Correct placement of #include "ignore-value.h".
32491
32492 2009-11-08  Jim Meyering  <meyering@redhat.com>
32493
32494         utimens: remove invalid futimesat call
32495         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
32496         It used the file descriptor of the target file as the DIR_FD
32497         parameter and NULL as the file name.  That caused failure with
32498         errno == EFAULT on FreeBSD-8.0-rc2
32499
32500 2009-11-07  Eric Blake  <ebb9@byu.net>
32501
32502         fflush, freadseek: use fseeko, not fseek
32503         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
32504         (clear_ungetc_buffer): Avoid potential problems on large files.
32505         * lib/freadseek.c (freadseek): Likewise.
32506         * modules/freadseek (Depends-on): Add fseeko.
32507         * modules/fseek (configure.ac): Set a witness.
32508         * tests/test-fflush.c (main): Use fseeko.
32509         * tests/test-fpurge.c (fseek): Disable link warning.
32510         * tests/test-freadable.c (fseek): Likewise.
32511         * tests/test-freading.c (fseek): Likewise.
32512         * tests/test-fseeko.c (fseek): Likewise.
32513         * tests/test-ftell.c (fseek): Likewise.
32514         * tests/test-ftello.c (fseek): Likewise.
32515         * tests/test-fwritable.c (fseek): Likewise.
32516         * tests/test-fwriting.c (fseek): Likewise.
32517
32518 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32519
32520         * modules/memchr (Depends-on): Drop getpagesize dependency.
32521
32522 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32523
32524         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
32525         Reported by Ludovic Courtès.
32526         * build-aux/pmccabe2html: Improve example usage.
32527         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
32528
32529 2009-11-06  Jim Meyering  <meyering@redhat.com>
32530
32531         do-release-commit-and-tag: New module.
32532         Automate the release-commit and tag process.
32533         * build-aux/do-release-commit-and-tag: New script, from coreutils.
32534         * modules/do-release-commit-and-tag: New file.
32535         * MODULES.html.sh (Support for maintaining and releasing): Add it.
32536
32537 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32538
32539         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
32540         because test-select.c uses inet_pton.
32541
32542 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32543
32544         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
32545         GETADDRINFO_LIB.  Bump serial number.
32546         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
32547         Suggested by Eric Blake <ebb9@byu.net>.
32548
32549 2009-11-05  Eric Blake  <ebb9@byu.net>
32550
32551         strtod: detect darwin bug
32552         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
32553         Reported by Leo Davis.
32554
32555         freopen-safer: new module
32556         * modules/freopen-safer: New module.
32557         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
32558         * lib/freopen-safer.c (freopen_safer): New file.
32559         * lib/stdio-safer.h (freopen_safer): New declaration.
32560         * lib/stdio--.h (freopen): New override.
32561         * MODULES.html.sh (File stream based Input/Output): Mention it.
32562         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
32563         freopen-safer module.
32564         * doc/posix-functions/stderr.texi (stderr): Likewise.
32565         * doc/posix-functions/stdin.texi (stdin): Likewise.
32566         * doc/posix-functions/stdout.texi (stdout): Likewise.
32567         * modules/freopen-safer-tests: New test.
32568         * tests/test-reopen-safer.c: New file.
32569
32570 2009-11-05  Jim Meyering  <meyering@redhat.com>
32571
32572         maint.mk: Prohibit inclusion of "close-stream.h" without use.
32573         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32574
32575 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32576
32577         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
32578
32579 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32580
32581         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
32582
32583 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32584
32585         Fix link error.
32586         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
32587         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32588
32589 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32590
32591         * tests/test-func.c: Also test value of __func__.
32592
32593 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32594
32595         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
32596         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
32597
32598 2009-11-05  Bruno Haible  <bruno@clisp.org>
32599
32600         Fix link error.
32601         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
32602         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32603         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
32604
32605 2009-11-05  Bruno Haible  <bruno@clisp.org>
32606
32607         Tests for module 'inet_pton'.
32608         * modules/inet_pton-tests: New file.
32609         * tests/test-inet_pton.c: New file.
32610
32611 2009-11-05  Bruno Haible  <bruno@clisp.org>
32612
32613         Tests for module 'inet_ntop'.
32614         * modules/inet_ntop-tests: New file.
32615         * tests/test-inet_ntop.c: New file.
32616
32617 2009-11-04  Eric Blake  <ebb9@byu.net>
32618
32619         stdlib-safer: wrap all mkstemp variants
32620         * modules/mkostemp (configure.ac): Set witness.
32621         * modules/mkostemps (configure.ac): Likewise.
32622         * modules/mkstemps (configure.ac): Likewise.
32623         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
32624         (mkstemps_safer): Wrap more functions.
32625         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
32626         wrapping.
32627         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
32628         (mkstemps_safer): Implement the wrappers.
32629
32630         mkstemps, mkostemps: new modules
32631         * modules/mkostemps: New module.
32632         * modules/mkstemps: Likewise.
32633         * lib/mkostemps.c (mkostemps): New file.
32634         * lib/mkstemps.c (mkstemps): Likewise.
32635         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
32636         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
32637         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
32638         * modules/stdlib (Makefile.am): Substitute them.
32639         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
32640         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
32641         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
32642         * doc/gnulib.texi (Glibc stdlib.h): Include them.
32643         * MODULES.html.sh (File system functions): Mention them.
32644
32645         tempname: resync from glibc
32646         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
32647         same values for __GT_FILE as glibc.  Abort even when assertions
32648         are disabled.
32649         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
32650         match its value otherwise.  Allow idempotent inclusion.
32651         * lib/mkdtemp.c (mkdtemp): Adjust caller.
32652         * lib/mkostemp.c (mkostemp): Likewise.
32653         * lib/mkstemp.c (mkstemp): Likewise.
32654         * lib/tmpfile.c (tmpfile): Likewise.
32655         * NEWS: Document this.
32656
32657         utimens: fix use of futimens on older Linux
32658         * lib/utimens.c (fdutimens): Use updated, rather than original,
32659         timespec to avoid bug in older Linux kernel.
32660         Reported by Simon Josefsson.
32661
32662 2009-11-04  Bruno Haible  <bruno@clisp.org>
32663
32664         Make num_processors more flexible and consistent.
32665         * lib/nproc.h (enum nproc_query): New type.
32666         (num_processors): Add a 'query' argument.
32667         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
32668         (num_processors): Add a 'query' argument. Test the value of the
32669         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
32670         mingw, count the number of CPUs available for the current process.
32671         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
32672         Check for sched_getaffinity and sched_getaffinity_np.
32673         * modules/nproc (Depends-on): Add c-ctype, extensions.
32674         * NEWS: Mention the change.
32675
32676 2009-11-03  Bruno Haible  <bruno@clisp.org>
32677
32678         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
32679
32680 2009-11-03  Jim Meyering  <meyering@redhat.com>
32681
32682         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
32683         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
32684         if it is defined.
32685
32686 2009-11-02  Eric Blake  <ebb9@byu.net>
32687
32688         mktime, timegm: share common declaration
32689         * lib/mktime-internal.h: New file.
32690         * lib/mktime.c: Use it rather than open-coding a declaration.
32691         * lib/timegm.c: Likewise.
32692         * modules/mktime (Files): Ship it.
32693         * modules/timegm (Files): Likewise.
32694         Suggested by Bruno Haible.
32695
32696         test-update-copyright: update test to match script changes
32697         * tests/test-update-copyright.sh: Avoid hard-coding perl
32698         location.  Don't update *.bak created by earlier runs.
32699
32700 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
32701             Simon Josefsson  <simon@josefsson.org>
32702             Bruno Haible  <bruno@clisp.org>
32703
32704         Fix link error on Solaris 8.
32705         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
32706         also in libnsl. Define also INET_PTON_LIB.
32707         * modules/inet_pton (Link): New section.
32708
32709 2009-11-02  Simon Josefsson  <simon@josefsson.org>
32710             Bruno Haible  <bruno@clisp.org>
32711
32712         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
32713         * modules/inet_ntop (Link): New section.
32714         Reported by Boyan Kasarov <bkasarov@gmail.com>.
32715
32716 2009-11-02  Eric Blake  <ebb9@byu.net>
32717
32718         maint: avoid compiler warnings in m4 macros
32719         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
32720         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
32721
32722 2009-11-02  Simon Josefsson  <simon@josefsson.org>
32723
32724         * m4/pmccabe2html.m4: Remove file.
32725         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
32726         function.  Change maintainer.
32727         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
32728         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
32729         Courtès).
32730
32731 2009-10-31  Eric Blake  <ebb9@byu.net>
32732
32733         fseeko: fix m4 regression
32734         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
32735         regression from 2009-10-27.
32736         Reported by Ralf Wildenhues.
32737
32738 2009-10-31  Jim Meyering  <meyering@redhat.com>
32739
32740         inttostr: aesthetics and improved (compile-time) safety
32741         Define inttype_is_signed rather than inttype_is_unsigned,
32742         since the sole use is via "#if inttype_is_signed".
32743         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
32744         inttype_is_unsigned.
32745         * lib/offtostr.c (inttype_is_signed): Likewise.
32746         * lib/uinttostr.c (inttype_is_signed): Likewise.
32747         * lib/umaxtostr.c (inttype_is_signed): Likewise.
32748         * lib/inttostr.c (inttostr): Use verify to cross-check the
32749         inttype_is_signed value and the signedness of the actual type.
32750         * modules/inttostr (Depends-on): Add verify.
32751
32752 2009-10-30  Eric Blake  <ebb9@byu.net>
32753
32754         build: avoid compiler warnings
32755         * lib/fchmodat.c (lchmod): Mark unused variables.
32756         * lib/getopt.c (_getopt_initialize): Likewise.
32757         * lib/mktime.c (__mktime_internal): Provide prototype.
32758         * lib/inttostr.c (inttostr): Avoid compiler warning even with
32759         older gcc that do not understand #pragma GCC diagnostic.
32760         * lib/uinttostr.c (inttype_is_unsigned): Define.
32761         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
32762
32763 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
32764
32765         stat: fix compilation on AIX
32766         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
32767         only see struct stat64.
32768
32769 2009-10-30  Eric Blake  <ebb9@byu.net>
32770
32771         exclude: make more robust
32772         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
32773         rather than masking a coding bug.
32774         Suggested by Bruno Haible.
32775
32776 2009-10-30  Jim Meyering  <meyering@redhat.com>
32777
32778         perl scripts: remove #!/usr/bin/perl in favor of more portable...
32779         Rather than putting #!/usr/bin/perl on the first line,
32780         start with a variant of what's recommended by "man perlrun" that
32781         invokes the first "perl" program from your shell's search path.
32782         * build-aux/gitlog-to-changelog: Replace #!... as above.
32783         Add a "Local Variables" perl mode setting.
32784         Prompted by a patch from Ludovic Courtès.
32785         Improved by Eric Blake.
32786         * build-aux/useless-if-before-free: Likewise.
32787         * build-aux/announce-gen: Likewise.
32788         * build-aux/update-copyright: Likewise.
32789
32790 2009-10-29  Eric Blake  <ebb9@byu.net>
32791
32792         filenamecat-lgpl: adjust clients
32793         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
32794         filenamecat.
32795         * modules/renameat (Depends-on): Likewise.
32796
32797         filenamecat: split into filenamecat-lgpl
32798         * modules/filenamecat-lgpl: New module.
32799         * modules/filenamecat (Files): Move library-safe files into
32800         filenamecat-lgpl.
32801         (Depends-on): Add filenamecat-lgpl.
32802         (configure.ac): Declare witness.
32803         * lib/filenamecat.h (file_name_concat): Only declare when using
32804         GPL module.
32805         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
32806         Move...
32807         * lib/filenamecat-lgpl.c: ...into new file.
32808         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
32809         (gl_FILE_NAME_CONCAT): Use it.
32810         * MODULES.html.sh (File system functions): Mention new module.
32811
32812         argp: avoid memory leak
32813         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
32814         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
32815         base_name, since the latter malloc()s and can call exit().
32816         Leak introduced 2006-07-03.
32817
32818         dirname-lgpl: adjust clients that don't need full dirname
32819         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
32820         * modules/filenamecat (Depends-on): Likewise.
32821         * modules/linkat (Depends-on): Likewise.
32822         * modules/mkancesdirs (Depends-on): Likewise.
32823         * modules/mkdir (Depends-on): Likewise.
32824         * modules/openat (Depends-on): Likewise.
32825         * modules/savewd (Depends-on): Likewise.
32826         * modules/rename (Depends-on): Likewise.
32827         (License): Relax license.
32828         * modules/mkdir-tests (Depends-on): Drop progname.
32829         (Makefile.am): Delete unneeded LDADD.
32830         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
32831
32832         dirname: split into dirname-lgpl
32833         * modules/dirname-lgpl: New module.
32834         * modules/dirname (Files): Move library-safe files into
32835         dirname-lgpl.
32836         (Depends-on): Add dirname-lgpl.
32837         (configure.ac): Declare witness.
32838         * modules/double-slash-root (License): Relax license.
32839         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
32840         module.
32841         * lib/dirname.c (dir_len, mdir_name): Move...
32842         * lib/dirname-lgpl.c: ...into new file.
32843         * lib/basename.c (last_component, base_len): Move...
32844         * lib/basename-lgpl.c: ...into new file.
32845         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
32846         (gl_DIRNAME): Use it.
32847         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
32848         Mention new module.
32849         * modules/dirname-tests (Depends-on): Add progname.
32850         * tests/test-dirname.c (program_name): Delete.
32851
32852         mkdir: make safe for libraries
32853         * modules/mkdir (Depends-on): Drop xalloc.
32854         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
32855         exit.
32856
32857         tests: avoid some compiler warnings
32858         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
32859         literals.
32860         * tests/test-memchr.c (main): Avoid type mismatch.
32861         * tests/test-arpa_inet.c (main): Avoid unused parameters.
32862         * tests/test-base64.c (main): Likewise.
32863         * tests/test-getdelim.c (main): Likewise.
32864         * tests/test-gethostname.c (main): Likewise.
32865         * tests/test-getline.c (main): Likewise.
32866         * tests/test-netinet_in.c (main): Likewise.
32867         * tests/test-select.c (open_server_socket, main): Likewise.
32868         * tests/test-select-stdin.c (main): Likewise.
32869         * tests/test-sockets.c (main): Likewise.
32870         * tests/test-strsignal.c (main): Likewise.
32871         * tests/test-sys_select.c (main): Likewise.
32872         * tests/test-sys_socket.c (main): Likewise.
32873         * tests/test-u64.c (main): Likewise.
32874         * tests/test-xfprintf-posix.c (main): Likewise.
32875         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
32876
32877         sockets: avoid compiler warning
32878         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
32879
32880         maint: detect usage(1) and other suspicious exits
32881         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
32882
32883 2009-10-29  Jim Meyering  <meyering@redhat.com>
32884
32885         timespec: long-to-int truncation could make timespec_cmp malfunction
32886         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
32887         a multiple of 2^32 nanoseconds as no difference.
32888
32889 2009-10-28  Jim Meyering  <meyering@redhat.com>
32890
32891         fprintftime: wrap macro code argument in "do {...} while(0)"
32892         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
32893         cpy macro must be a statement that can be followed by a semicolon.
32894         Now that the else clause contains a comment and is hence longer
32895         than one line, I require curly braces.  That in turn requires
32896         that we wrap this code block in the standard do...while(0).
32897
32898         fprintftime: remove stray semicolon from previous change
32899         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
32900
32901         fprintftime: avoid a warning about ignored fwrite return value
32902         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
32903         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
32904         that is unsafe.
32905         * modules/fprintftime (Depends-on): Add ignore-value.
32906
32907         exclude: avoid an unwarranted warning
32908         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
32909
32910 2009-10-27  Eric Blake  <ebb9@byu.net>
32911
32912         fseek: avoid compilation failure when fflush is replaced
32913         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
32914         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
32915         module is in use.
32916         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
32917         module is not in use; since REPLACE_FSEEK worked otherwise.
32918         (GNULIB_FTELLO): Likewise for ftell.
32919         Reported by Ian Beckwith and others.
32920
32921 2009-10-27  Bruno Haible  <bruno@clisp.org>
32922
32923         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
32924         Reported by Jim Meyering.
32925
32926 2009-10-27  Jim Meyering  <jim@meyering.net>
32927             Bruno Haible  <bruno@clisp.org>
32928
32929         Avoid warning despite dropping the return value of fwrite.
32930         * lib/unicodeio.c: Include ignore-value.h.
32931         (fwrite_success_callback): Explicitly ignore fwrite's return value.
32932         * modules/unicodeio (Depends-on): Add ignore-value.
32933
32934 2009-10-26  Eric Blake  <ebb9@byu.net>
32935
32936         areadlinkat: fix fallback path
32937         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
32938         pointer and zero.
32939
32940 2009-10-22  Pádraig Brady  <P@draigBrady.com>
32941
32942         Use a better IO block size for modern systems
32943         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
32944         * lib/md2.c: Likewise.
32945         * lib/md4.c: Likewise.
32946         * lib/md5.c: Likewise.
32947         * lib/sha1.c: Likewise.
32948         * lib/sha256.c: Likewise.
32949         * lib/sha512.c: Likewise.
32950
32951 2009-10-22  Eric Blake  <ebb9@byu.net>
32952
32953         tests: avoid several compiler warnings
32954         * tests/test-getcwd.c (main): Avoid buffer underflow.
32955         * tests/test-getdate.c (main): String literals are not safe with
32956         putenv, so use setenv.  Declare unused argument.
32957         * modules/getdate-tests (Depends-on): Add setenv.
32958         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
32959         problems with string literals in char *.
32960         * tests/test-hash.c (main): Avoid shadowing declaration.
32961         (insert_new): Treat string literals as char const *.
32962         * tests/test-getopt.h (test_getopt): Likewise.
32963         (getopt_loop): Alter types to minimize casting elsewhere.
32964         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
32965         (test_getopt_long_posix): Likewise.
32966         (do_getopt_long): Add wrapper to minimize casting.
32967         * tests/test-atexit.c (clear_temp_file): Use void.
32968         * tests/test-areadlink-with-size.c (main): Declare unused
32969         arguments.
32970         * tests/test-areadlink.c (main): Likewise.
32971         * tests/test-areadlinkat-with-size.c (main): Likewise.
32972         * tests/test-areadlinkat.c (main): Likewise.
32973         * tests/test-canonicalize-lgpl.c (main): Likewise.
32974         * tests/test-canonicalize.c (main): Likewise.
32975         * tests/test-dirent-safer.c (main): Likewise.
32976         * tests/test-dirname.c (main): Likewise.
32977         * tests/test-dup2.c (main): Likewise.
32978         * tests/test-fchdir.c (main): Likewise.
32979         * tests/test-fcntl-h.c (main): Likewise.
32980         * tests/test-fcntl-safer.c (main): Likewise.
32981         * tests/test-fdopendir.c (main): Likewise.
32982         * tests/test-fdutimensat.c (main): Likewise.
32983         * tests/test-fflush.c (main): Likewise.
32984         * tests/test-filenamecat.c (main): Likewise.
32985         * tests/test-filevercmp.c (main): Likewise.
32986         * tests/test-fopen-safer.c (main): Likewise.
32987         * tests/test-fopen.c (main): Likewise.
32988         * tests/test-fpending.c (main): Likewise.
32989         * tests/test-fpurge.c (main): Likewise.
32990         * tests/test-freading.c (main): Likewise.
32991         * tests/test-fstatat.c (main): Likewise.
32992         * tests/test-fsync.c (main): Likewise.
32993         * tests/test-futimens.c (main): Likewise.
32994         * tests/test-getndelim2.c (main): Likewise.
32995         * tests/test-gettimeofday.c (main): Likewise.
32996         * tests/test-getopt.c (main): Likewise.
32997         * tests/test-i-ring.c (main): Likewise.
32998         * tests/test-inttypes.c (main): Likewise.
32999         * tests/test-link.c (main): Likewise.
33000         * tests/test-lstat.c (main): Likewise.
33001         * tests/test-math.c (main): Likewise.
33002         * tests/test-md5.c (main): Likewise.
33003         * tests/test-memchr2.c (main): Likewise.
33004         * tests/test-memrchr.c (main): Likewise.
33005         * tests/test-mkdir.c (main): Likewise.
33006         * tests/test-mkdirat.c (main): Likewise.
33007         * tests/test-mkfifoat.c (main): Likewise.
33008         * tests/test-open.c (main): Likewise.
33009         * tests/test-openat-safer.c (main): Likewise.
33010         * tests/test-openat.c (main): Likewise.
33011         * tests/test-quotearg.c (main): Likewise.
33012         * tests/test-rawmemchr.c (main): Likewise.
33013         * tests/test-readlink.c (main): Likewise.
33014         * tests/test-remove.c (main): Likewise.
33015         * tests/test-rename.c (main): Likewise.
33016         * tests/test-renameat.c (main): Likewise.
33017         * tests/test-rmdir.c (main): Likewise.
33018         * tests/test-sha1.c (main): Likewise.
33019         * tests/test-signal.c (main): Likewise.
33020         * tests/test-sigaction.c (main): Likewise.
33021         * tests/test-stat.c (main): Likewise.
33022         * tests/test-stat-time.c (main): Likewise.
33023         * tests/test-stddef.c (main): Likewise.
33024         * tests/test-stdint.c (main): Likewise.
33025         * tests/test-stdio.c (main): Likewise.
33026         * tests/test-stdlib.c (main): Likewise.
33027         * tests/test-strchrnul.c (main): Likewise.
33028         * tests/test-strerror.c (main): Likewise.
33029         * tests/test-string.c (main): Likewise.
33030         * tests/test-strtod.c (main): Likewise.
33031         * tests/test-strverscmp.c (main): Likewise.
33032         * tests/test-symlink.c (main): Likewise.
33033         * tests/test-symlinkat.c (main): Likewise.
33034         * tests/test-sys_stat.c (main): Likewise.
33035         * tests/test-sys_time.c (main): Likewise.
33036         * tests/test-time.c (main): Likewise.
33037         * tests/test-unistd.c (main): Likewise.
33038         * tests/test-unlink.c (main): Likewise.
33039         * tests/test-unlinkat.c (main): Likewise.
33040         * tests/test-utimens.c (main): Likewise.
33041         * tests/test-utimensat.c (main): Likewise.
33042         * tests/test-version-etc.c (main): Likewise.
33043         * tests/test-wchar.c (main): Likewise.
33044         * tests/test-wctype.c (main): Likewise.
33045         * tests/test-xprintf-posix.c (main): Likewise.
33046         * tests/test-posixtm.c (main): Likewise.
33047         (STREQ): Delete unused macro.
33048         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
33049         shadowed variables.
33050         * tests/test-memchr.c (main): Likewise.
33051
33052 2009-10-21  Eric Blake  <ebb9@byu.net>
33053
33054         areadlinkat: avoid failure on older glibc
33055         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
33056         rather than mis-comparing 0 against FUNC_RESULT of char*.
33057
33058 2009-10-21  Bruno Haible  <bruno@clisp.org>
33059
33060         * modules/stpncpy (License): Relicense under LGPLv2+.
33061         Reported by David Lutterkort <lutter@redhat.com>.
33062
33063 2009-10-20  Eric Blake  <ebb9@byu.net>
33064
33065         utimensat: work around Solaris 9 bug
33066         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
33067         has trailing slash bugs.
33068         * tests/test-lutimens.h (test_lutimens): Enhance test.
33069         * tests/test-utimens.h (test_utimens): Likewise.
33070         * doc/posix-functions/utime.texi (utime): Enhance documentation.
33071         * doc/posix-functions/utimes.texi (utimes): Likewise.
33072         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33073         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
33074         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
33075         * doc/posix-functions/futimens.texi (futimens): Likewise.
33076
33077         fdutimensat: new module
33078         * modules/fdutimensat: New file.
33079         * lib/fdutimensat.c (fdutimensat): Likewise.
33080         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
33081         * MODULES.html.sh (File system functions): Mention module.
33082         * modules/fdutimensat-tests: New test.
33083         * tests/test-fdutimensat.c: Likewise.
33084
33085         doc: regenerate INSTALL
33086         * doc/INSTALL: Reflect recent autoconf update.
33087         * doc/INSTALL.ISO: Likewise.
33088         * doc/INSTALL.UTF-8: Likewise.
33089
33090 2009-10-20  Pádraig Brady  <P@draigBrady.com>
33091
33092         acl: warn if ACL support is not detected
33093         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
33094
33095 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
33096
33097         * lib/nproc.h: Add extern "C" block for C++.
33098
33099 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
33100             Bruno Haible  <bruno@clisp.org>
33101
33102         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
33103         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
33104         * doc/posix-functions/isalpha.texi: Likewise.
33105         * doc/posix-functions/isblank.texi: Likewise.
33106         * doc/posix-functions/iscntrl.texi: Likewise.
33107         * doc/posix-functions/isdigit.texi: Likewise.
33108         * doc/posix-functions/isgraph.texi: Likewise.
33109         * doc/posix-functions/islower.texi: Likewise.
33110         * doc/posix-functions/isprint.texi: Likewise.
33111         * doc/posix-functions/ispunct.texi: Likewise.
33112         * doc/posix-functions/isspace.texi: Likewise.
33113         * doc/posix-functions/isupper.texi: Likewise.
33114         * doc/posix-functions/isxdigit.texi: Likewise.
33115
33116 2009-10-18  Bruno Haible  <bruno@clisp.org>
33117
33118         Tests for module 'isblank'.
33119         * modules/isblank-tests: New file.
33120         * tests/test-isblank.c: New file.
33121
33122         New module 'isblank'.
33123         * lib/isblank.c: New file.
33124         * m4/isblank.m4: New file.
33125         * modules/isblank: New file.
33126         * doc/posix-functions/isblank.texi: Mention the new module.
33127
33128 2009-10-18  Bruno Haible  <bruno@clisp.org>
33129
33130         New module 'ctype'.
33131         * lib/ctype.in.h: New file.
33132         * m4/ctype.m4: New file.
33133         * modules/ctype: New file.
33134         * doc/posix-headers/ctype.texi: Mention the new module.
33135
33136 2009-10-18  Jim Meyering  <meyering@redhat.com>
33137
33138         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
33139         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
33140         right after its initialization, rather than farther down.
33141         Keeping these in close proximity makes it easier to ensure
33142         that each such variable is initialized.  E.g.,
33143
33144             LIB_CLOCK_GETTIME=
33145             AC_SUBST([LIB_CLOCK_GETTIME])
33146
33147         This change also increments these serial numbers.
33148         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
33149         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33150         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33151
33152 2009-10-18  Bruno Haible  <bruno@clisp.org>
33153
33154         Don't let environment variables perturb build.
33155         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
33156         (gl_PREREQ_GETHRXTIME): ... not here.
33157
33158 2009-10-18  Bruno Haible  <bruno@clisp.org>
33159
33160         Avoid symlink attack in localcharset module.
33161         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
33162         (O_NOFOLLOW): Define fallback.
33163         (get_charset_aliases): Don't open the file if it is a symbolic link.
33164         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
33165         gl_FCNTL_H.
33166         (gl_FCNTL_H): Require it.
33167         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
33168         * modules/localcharset (Files): Add m4/fcntl_h.m4.
33169         Reported by Fergal Glynn <fglynn@veracode.com>.
33170
33171 2009-10-18  Bruno Haible  <bruno@clisp.org>
33172
33173         Implement nproc for mingw.
33174         * lib/nproc.c: Include <windows.h>
33175         (num_processors): On native Windows platforms, try GetSystemInfo.
33176
33177 2009-10-18  Bruno Haible  <bruno@clisp.org>
33178
33179         Implement nproc for IRIX.
33180         * lib/nproc.c: Include <sys/sysmp.h>.
33181         (num_processors): On IRIX systems, try sysmp.
33182         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
33183
33184 2009-10-18  Bruno Haible  <bruno@clisp.org>
33185
33186         Implement nproc for HP-UX.
33187         * lib/nproc.c: Include <sys/pstat.h>
33188         (num_processors): On HP-UX systems, try pstat_getdynamic.
33189         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
33190         pstat_getdynamic.
33191
33192 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
33193             Bruno Haible  <bruno@clisp.org>
33194
33195         Implement nproc for NetBSD, OpenBSD.
33196         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
33197         (ARRAY_SIZE): New macro.
33198         (num_processors): On BSD systems, try sysctl of HW_NCPU.
33199         * m4/nproc.m4: New file.
33200         * modules/nproc (Files): Add m4/nproc.m4.
33201         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
33202         (Makefile.am): Instead, augment lib_SOURCES.
33203
33204 2009-10-18  Bruno Haible  <bruno@clisp.org>
33205
33206         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
33207         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
33208         sys/param.h.
33209
33210 2009-10-16  Eric Blake  <ebb9@byu.net>
33211
33212         utimensat: new module
33213         * modules/utimensat: New file.
33214         * lib/utimensat.c (utimensat): Likewise.
33215         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33216         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
33217         so we can work around Linux bugs.
33218         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33219         * modules/sys_stat (Makefile.am): Substitute them.
33220         * lib/sys_stat.in.h (utimensat): Declare it.
33221         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33222         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33223         * modules/utimensat-tests: New test.
33224         * tests/test-utimensat.c: Likewise.
33225
33226         utimens: let lutimens work on non-symlinks
33227         * lib/utimens.c (lutimens): Fall back to utimens rather than
33228         failing with ENOSYS, when file is not a symlink.
33229         (utimens): Reduce redirection.
33230         * tests/test-lutimens.h (test_lutimens): Update test to cover
33231         non-symlinks.
33232         * tests/test-utimens.h (test_utimens): Update test to cover
33233         symlinks.
33234         * tests/test-utimens.c (main): Update caller.
33235
33236         utimens: cache whether utimensat syscall works
33237         * lib/utimens.c (utimensat_works_really): New cache variable.
33238         (fdutimens, lutimens): Use it to avoid failing syscall.
33239
33240         test-stat-time, test-utimens: improve portability
33241         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
33242         ext4 on alpha, and for cygwin.
33243         * tests/test-utimens-common.h: New file.
33244         (nap): Factor delays into single function.
33245         * tests/test-lutimens.h (test_lutimens): Use new header.
33246         * tests/test-futimens.h (test_futimens): Likewise.
33247         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
33248         timestamps to occur from same machine, as was done previously for
33249         test_utimens.
33250         * modules/utimens-tests (Files): Ship new file.
33251         * modules/futimens-tests (Files): Likewise.
33252         Reported in part by Jim Meyering.
33253
33254         sys_stat: sort replacement declarations
33255         * lib/sys_stat.in.h: Sort declarations.
33256         * lib/futimens.c (futimens): Fix typo.
33257
33258 2009-10-15  Jim Meyering  <meyering@redhat.com>
33259
33260         don't let environment settings perturb build
33261         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
33262         could cause a configure-time and/or build-time malfunction.
33263         Typically, a configure-time function-in-library test is performed
33264         via code like this:
33265
33266           LIB_VAR=
33267           AC_SUBST([LIB_VAR])
33268           prefix_saved_LIBS=$LIBS
33269             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
33270                        [test "$ac_cv_search_FUNC" = "none required" ||
33271                         LIB_VAR=$ac_cv_search_FUNC])
33272           LIBS=$prefix_saved_LIBS
33273
33274         However, in each of the files affected by this change, the LIB_VAR=
33275         initialization was omitted.  Thus, when set in the environment, its
33276         value would propagate into generated Makefiles when FUNC is not found
33277         in LIB_NAME.
33278         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
33279         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33280         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33281
33282 2009-10-14  Eric Blake  <ebb9@byu.net>
33283
33284         fchdir: avoid infinite recursion in mingw
33285         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
33286         recursing.
33287
33288         test-stat-time: port to mingw
33289         * tests/test-stat-time.c (force_unlink): Return a value.
33290         (test_ctime) [W32]: Fix compilation error.
33291         (nap): Don't call usleep with too large an argument.  Use
33292         force_unlink.
33293         * doc/pastposix-functions/usleep.texi (usleep): Document the
33294         portability issue.
33295
33296 2009-10-13  Jim Meyering  <meyering@redhat.com>
33297
33298         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
33299         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
33300         * modules/pipe-filter-ii: Likewise.
33301         * modules/sys_socket-tests: Likewise.
33302         * modules/tsearch-tests: Likewise.
33303         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
33304         (check): Depend on it.
33305
33306 2009-10-12  Eric Blake  <ebb9@byu.net>
33307
33308         utimens-tests: port to NFS file systems
33309         * tests/test-utimens.h (test_utimens): Refactor utimecmp
33310         comparisons to avoid spurious failures from timestamp drift
33311         between NFS machines.
33312
33313 2009-10-12  Eric Blake  <ebb9@byu.net>
33314
33315         stat-time-tests: minor cleanups
33316         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
33317         * tests/test-stat-time.c (nap): Separate assignment from call.
33318         Suggested by Paolo Bonzini and Bruno Haible.
33319
33320         sys_stat: guarantee struct timespec
33321         * lib/sys_stat.in.h (includes): Always include <time.h>
33322         * modules/sys_stat (Depends-on): Add time.
33323         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
33324         mode_t permission values.
33325         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
33326         get at subsecond timestamps.
33327
33328 2009-10-10  Eric Blake  <ebb9@byu.net>
33329
33330         futimens: new module
33331         * modules/futimens: New file.
33332         * lib/futimens.c (futimens): Likewise.
33333         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
33334         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
33335         we can work around Linux bugs.
33336         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33337         * modules/sys_stat (Makefile.am): Substitute them.
33338         * lib/sys_stat.in.h (futimens): Declare it.
33339         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33340         * doc/posix-functions/futimens.texi (futimens): Likewise.
33341         * modules/futimens-tests: New test.
33342         * tests/test-futimens.c: Likewise.
33343
33344         utimens: introduce fdutimens
33345         * lib/utimens.h (fdutimens): New prototype.
33346         * lib/utimens.c (gl_futimens): Move guts...
33347         (fdutimens): ...to new interface.
33348         * tests/test-utimens.c (do_fdutimens): Use it.
33349
33350         utimens: add UTIME_NOW and UTIME_OMIT support
33351         * lib/utimens.c (validate_timespec, update_timespec): New helper
33352         functions.
33353         (gl_futimens, lutimens): Use them.
33354         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
33355         stdbool, sys_stat.
33356         (Link): Mention resulting library dependency.
33357         * modules/utimecmp (Link): Likewise.
33358         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
33359         (Makefile.am): Pick up library dependency.
33360         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
33361         definition.
33362         * tests/test-sys_stat.c: Test the definitions.
33363         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
33364         * NEWS: Document library dependency.
33365
33366         utimecmp: support symlink timestamps
33367         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
33368         hashing when possible.  Use pathconf when available.
33369         (SYSCALL_RESOLUTION): Recognize tighter resolution.
33370         * modules/utimecmp (Depends-on): Add lstat.
33371
33372         utimens: add lutimens interface
33373         * lib/utimens.c (lutimens): New function.
33374         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
33375         * lib/utimens.h (lutimens): Declare new interface.
33376         * tests/test-utimens.c (main): Enhance test.
33377         * tests/test-lutimens.h (test_lutimens): New file.
33378         * modules/utimens-tests (Files): Distribute it.
33379         (Depends-on): Add symlink.
33380         (configure.ac): Check for usleep.
33381
33382         utimens: validate futimens usage
33383         * lib/utimens.c (gl_futimens): Require valid fd up front, using
33384         fewer syscalls on failure later on.  Avoid compiler warning on
33385         mingw.
33386         * modules/utimens (Depends-on): Add dup2.
33387
33388         utimens: add test
33389         * modules/utimens-tests: New test.
33390         * tests/test-utimens.h: New file.
33391         * tests/test-futimens.h: Likewise.
33392         * tests/test-utimens.c: Likewise.
33393
33394         doc: mention timestamp portability issues
33395         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
33396         instead.
33397         * doc/posix-functions/utime.texi (utime): Likewise.
33398         * doc/posix-functions/utimes.texi (utimes): Likewise.
33399         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
33400         instead.
33401         * doc/posix-functions/futimens.texi (futimens): Mention utimens
33402         module.
33403         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33404         Mention weakness with symlink timestamps.
33405         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
33406         to utimensat/futimens instead.
33407         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
33408
33409         test-dup2: enhance test
33410         * tests/test-dup2.c (main): Also check AT_FDCWD.
33411
33412         test-stat-time: avoid more spurious failures
33413         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
33414         xfs; and avoid race if the two timestamps cross quantization edge.
33415
33416         relocatable: prefer 'file system' over 'filesystem'
33417         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
33418         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
33419         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
33420         * doc/relocatable.texi (Enabling Relocatability): Likewise.
33421         * lib/relocatable.c (compute_curr_prefix): Likewise.
33422
33423 2009-10-10  Jim Meyering  <meyering@redhat.com>
33424
33425         stat-time-tests: check for the usleep function
33426         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
33427
33428 2009-10-10  Bruno Haible  <bruno@clisp.org>
33429
33430         * modules/xnanosleep: Put the Link section after the Include section.
33431
33432 2009-10-09  Eric Blake  <ebb9@byu.net>
33433
33434         dup2: work around FreeBSD 6.1 bug
33435         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
33436         * doc/posix-functions/dup2.texi (dup2): Document it.
33437         Reported by Nelson H. F. Beebe and Jim Meyering.
33438
33439         test-stat-time: port to buggy NFS clients
33440         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
33441         (test_ctime): Also skip test if mtime and ctime are skewed.
33442
33443         maint: prefer 'file system' over 'filesystem'
33444         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
33445         * doc/posix-functions/lstat.texi (lstat): Likewise.
33446         * lib/file-has-acl.c (file_has_acl): Likewise.
33447         * lib/fwriteerror.c [TEST]: Likewise.
33448         * tests/test-areadlink.h (test_areadlink): Likewise.
33449         * tests/test-areadlinkat-with-size.c (main): Likewise.
33450         * tests/test-areadlinkat.c (main): Likewise.
33451         * tests/test-canonicalize-lgpl.c (main): Likewise.
33452         * tests/test-canonicalize.c (main): Likewise.
33453         * tests/test-fstatat.c (main): Likewise.
33454         * tests/test-linkat.c (main): Likewise.
33455         * tests/test-lstat.h (test_lstat_func): Likewise.
33456         * tests/test-mkdir.h (test_mkdir): Likewise.
33457         * tests/test-readlink.h (test_readlink): Likewise.
33458         * tests/test-remove.c (main): Likewise.
33459         * tests/test-rename.h (test_rename): Likewise.
33460         * tests/test-renameat.c (main): Likewise.
33461         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33462         * tests/test-symlink.h (test_symlink): Likewise.
33463         * tests/test-symlinkat.c (main): Likewise.
33464         * tests/test-unlink.h (test_unlink_func): Likewise.
33465         * tests/test-unlinkat.c (main): Likewise.
33466
33467         maint: make realtime library usage explicit
33468         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
33469         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
33470         * modules/settime (Link): Likewise.
33471         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
33472
33473         test-stat-time: speed up execution
33474         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
33475         warning on mingw.
33476         (nap): New helper function.
33477         (prepare_test): Use it to reduce sleep time.
33478         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
33479         execution.
33480         * modules/stat-time-tests (configure.ac): Check for usleep.
33481
33482 2009-10-09  Jim Meyering  <meyering@redhat.com>
33483
33484         selinux-h: always use getfilecon wrappers
33485         * lib/getfilecon.c: New file.
33486         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
33487         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
33488         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
33489         (fgetfilecon): Provide a stub.
33490         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
33491         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
33492         file unconditionally.
33493         When <selinux/selinux.h> is found, arrange to use wrappers.
33494         * modules/selinux-h (Files): Add getfilecon.c.
33495         (Makefile.am): Substitute include-next-related bits
33496         into the now-always-generated selinux/selinux.h file.
33497         * doc/glibc-functions/lgetfilecon.texi: New file.
33498         * doc/glibc-functions/fgetfilecon.texi: New file.
33499         * doc/glibc-functions/getfilecon.texi: New file.
33500         * doc/glibc-functions/getfilecon-desc.texi: New file.
33501         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
33502         which to pull in the new files.
33503         * MODULES.html.sh (Misc): Add selinux-h.
33504
33505 2009-10-08  Jim Meyering  <meyering@redhat.com>
33506
33507         unistd: fix comment typo
33508         * lib/unistd.in.h (euidaccess): Fix a comment typo.
33509
33510 2009-10-08  Eric Blake  <ebb9@byu.net>
33511
33512         areadlink: use SIZE_MAX consistently
33513         * modules/areadlink (Depends-on): Add stdint.
33514         * modules/areadlink-with-size (Depends-on): Likewise.
33515         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
33516         gives NULL; drop sys/types, since unistd gives size_t; and add
33517         stdint for SIZE_MAX.
33518         (SIZE_MAX): Rely on headers.
33519         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
33520         and add stdint.
33521         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
33522         (SIZE_MAX): Likewise.
33523         (INITIAL_BUF_SIZE): Turn into enum.
33524         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
33525
33526 2009-10-08  Jim Meyering  <meyering@redhat.com>
33527
33528         areadlinkat: avoid compilation failure
33529         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
33530         Fix typo in comment.
33531
33532 2009-10-07  Eric Blake  <ebb9@byu.net>
33533
33534         areadlinkat-with-size: new module
33535         * modules/areadlinkat-with-size: New module.
33536         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
33537         * lib/areadlink.h (areadlinkat): Declare it.
33538         * MODULES.html.sh (File system functions): Mention it.
33539         * modules/areadlinkat-with-size-tests: New test.
33540         * tests/test-areadlinkat-with-size.c: New file.
33541
33542         xreadlinkat: new module
33543         * modules/xreadlinkat: New module.
33544         * lib/xreadlinkat.c (xreadlinkat): New file.
33545         * lib/xreadlink.h (xreadlinkat): Declare it.
33546         * MODULES.html.sh (File system functions): Mention it.
33547
33548         areadlinkat: new module
33549         * lib/at-func.c (FUNC_FAIL): New define.
33550         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
33551         * modules/areadlinkat: New module.
33552         * lib/linkat.c (areadlinkat): Move...
33553         * lib/areadlinkat.c (areadlinkat): ...to new file.
33554         * lib/areadlink.h (areadlinkat): Declare it.
33555         * modules/linkat (Depends-on): Add areadlinkat.
33556         * MODULES.html.sh (File system functions): Mention it.
33557         * modules/areadlinkat-tests: New test.
33558         * tests/test-areadlinkat.c: New file.
33559
33560         areadlink, areadlink-with-size: add tests
33561         * modules/areadlink-tests: New test.
33562         * modules/areadlink-with-size-tests: Likewise.
33563         * tests/test-areadlink.h: New file.
33564         * tests/test-areadlink.c: Likewise.
33565         * tests/test-areadlink-with-size.c: Likewise.
33566
33567         maint: minor cleanups
33568         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
33569         _UNUSED_PARAMETER_ instead.
33570         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
33571         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
33572         * modules/linkat-tests (Files): Distribute test-link.h.
33573
33574         openat, utimens: whitespace cleanup
33575         * lib/openat.c: Prefer space throughout, rather than mix of 8
33576         spaces vs. tabs.
33577         * lib/at-func.c: Likewise.
33578         * lib/utimens.c: Likewise.
33579
33580         openat: avoid using wrong fd
33581         * lib/openat.c (openat_permissive): Reject user's fd if saving the
33582         working directory chooses same fd.
33583         * lib/at-func.c (AT_FUNC_NAME): Likewise.
33584
33585         mkdir, mkdirat: fix cygwin 1.5.x bug
33586         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
33587         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
33588         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
33589         bug.
33590         (gl_PREREQ_MKDIR): Delete unused macro.
33591         * modules/mkdir (Files): Track file rename.
33592         (configure.ac): Update macro name.
33593         * modules/openat (Depends-on): Add mkdir.
33594         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
33595
33596         mkdir, mkdirat: add tests
33597         * modules/mkdir-tests: New test.
33598         * tests/test-mkdir.h: New file.
33599         * tests/test-mkdir.c: Likewise.
33600         * tests/test-mkdirat.c: Likewise.
33601         * modules/openat-tests (Files): Add new files.
33602         (Makefile.am): Run new test.
33603
33604 2009-10-06  Eric Blake  <ebb9@byu.net>
33605
33606         doc: tweak *at function documentation
33607         * doc/posix-functions/faccessat.texi (faccessat): Mention
33608         known issue with replacement.
33609         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
33610         * doc/posix-functions/linkat.texi (linkat): Likewise.
33611         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
33612         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
33613         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
33614         * doc/posix-functions/renameat.texi (renameat): Likewise.
33615         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33616
33617         openat: fix GNU/Hurd bug in unlinkat
33618         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
33619         broken.
33620         * doc/posix-functions/unlink.texi (unlink): Document this.
33621         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
33622
33623         fdopendir: fix GNU/Hurd bug
33624         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
33625         allowing non-directory fds.
33626         * lib/fdopendir.c (rpl_fdopendir): Work around it.
33627         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
33628         * modules/dirent (Makefile.am): Substitute it.
33629         * lib/dirent.in.h (fdopendir): Declare replacement.
33630         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
33631         * tests/test-fdopendir.c (main): Test something other than
33632         /dev/null, since on Hurd that behaves like a directory.
33633
33634         test-symlink: port to GNU/Hurd
33635         * tests/test-symlink.h (test_symlink): Relax expected errno.
33636
33637         doc: tweak more cygwin information
33638         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
33639         now compatible with glibc.
33640         * doc/posix-functions/getopt.texi (getopt): Likewise.
33641
33642         getopt-gnu: add another test
33643         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
33644         guarantee behavior relied on by m4.
33645         * tests/test-getopt.c (main): Use it.
33646         * modules/getopt-posix-tests (Depends-on): Add setenv.
33647         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
33648
33649         getopt: fix compilation on darwin
33650         * lib/getopt.in.h (includes): Leave breadcrumbs during system
33651         include.
33652         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
33653         Reported by Ludovic Courtès.
33654
33655 2009-10-06  Bruno Haible  <bruno@clisp.org>
33656
33657         * modules/size_max (Description): Discourage its use.
33658         Reported by Simon Josefsson.
33659
33660 2009-10-06  Jim Meyering  <meyering@redhat.com>
33661
33662         linkat: avoid compilation failure
33663         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
33664
33665 2009-10-05  Eric Blake  <ebb9@byu.net>
33666
33667         linkat: support Linux 2.6.17
33668         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
33669         linkat on Linux, but allow cache variable override.
33670         * lib/linkat.c (rpl_linkat): Define override.
33671         * modules/linkat (Depends-on): Add symlinkat.
33672         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
33673         * modules/unistd (Makefile.am): Substitute it.
33674         * lib/unistd.in.h (linkat): Declare replacement.
33675         Reported by Pádraig Brady.
33676
33677         quotearg: port test to systems with C.UTF-8 locale
33678         * tests/test-quotearg.c (struct result_strings): Add another
33679         member, differentiating between C.ASCII and C.UTF-8 handling.
33680         (compare_strings): Add parameter.
33681         (main): Adjust all callers.
33682
33683         getopt: avoid clash with FreeBSD _getopt_internal
33684         * lib/getopt.in.h (_getopt_internal): Override the name.
33685         * lib/getopt_int.h (includes): Pick up any overrides.
33686         Reported by Reuben Thomas.
33687
33688         hash: allow C89 compilation
33689         * lib/hash.c (check_tuning): Move declaration before statement.
33690         Reported by Reuben Thomas.
33691
33692 2009-10-05  Karl Berry  <karl@gnu.org>
33693
33694         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
33695
33696 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
33697             Bruno Haible  <bruno@clisp.org>
33698
33699         * lib/uname.c (uname): Use a table-driven algorithm to compute
33700         Windows NT versions.
33701
33702 2009-10-04  Bruno Haible  <bruno@clisp.org>
33703
33704         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
33705         program_invocation_short_name.
33706         * modules/progname (configure.ac): Test for presence of
33707         program_invocation_short_name.
33708         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
33709
33710 2009-10-04  Bruno Haible  <bruno@clisp.org>
33711
33712         * lib/progname.c (set_program_name): Fix comment.
33713         Reported by Jim Meyering.
33714
33715 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
33716             Bruno Haible  <bruno@clisp.org>
33717
33718         * lib/uname.c: Include <string.h>.
33719         (uname): Do only one call to GetVersionEx in the common case.
33720
33721 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
33722             Bruno Haible  <bruno@clisp.org>
33723
33724         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
33725         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
33726         (uname): Add support for Windows CE and various non-x86 CPU types.
33727
33728 2009-10-03  Bruno Haible  <bruno@clisp.org>
33729
33730         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
33731         invocation to tests/configure.ac.
33732         Reported by Ian Beckwith <ianb@erislabs.net>.
33733
33734 2009-10-02  Eric Blake  <ebb9@byu.net>
33735
33736         fchdir: avoid compiler warning
33737         * lib/fchdir.c (canonicalize_file_name)
33738         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
33739
33740         test-open: support mingw errno values
33741         * tests/test-open.h (test_open): Relax test.
33742         * tests/test-fopen.h (test_fopen): Likewise.
33743         * tests/test-openat-safer.c (main): Likewise.
33744
33745         open: fix opening directory on mingw
33746         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
33747
33748         test-open: on GNU/Hurd, /dev/null is a directory
33749         * tests/test-fopen.h (main): Rename...
33750         (test_fopen): ...to this.  Use a guaranteed non-directory when
33751         confirming open behavior on trailing slash.
33752         * tests/test-openat-safer.c (main): Likewise.
33753         * tests/test-open.h (main): Likewise....
33754         (test_open): ...to this.
33755         * tests/test-fopen.c (main): Adjust caller.
33756         * tests/test-fopen-safer.c (main): Likewise.
33757         * tests/test-open.c (main): Likewise.
33758         * tests/test-fcntl-safer.c (main): Likewise.
33759         Reported by Samuel Thibault.
33760
33761         rename, fchdir: don't ignore chdir failure
33762         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
33763         * lib/rename.c (rpl_rename) [W32]: Likewise.
33764         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
33765         an empty destination directory if source cannot be renamed,
33766         although there is still possibility for failure.
33767         * doc/posix-functions/rename.texi (rename): Document the race.
33768         Reported by Jim Meyering.
33769
33770         maint: cleanup whitespace in recent commits
33771         * lib/rename.c (rpl_rename): Remove tabs.
33772         * tests/test-link.h (test_link): Likewise.
33773         * lib/fchdir.c (get_name): Likewise.
33774         Reported by Jim Meyering.
33775
33776 2009-10-02  Ben Pfaff  <blp@gnu.org>
33777
33778         relocatable-prog-wrapper: Add missing dependency on
33779         double-slash-root.
33780         * modules/relocatable-prog-wrapper: Add dependency.
33781         Reported by Ian Beckwith <ianb@erislabs.net>.
33782
33783 2009-10-02  Eric Blake  <ebb9@byu.net>
33784
33785         renameat: fix Solaris bugs
33786         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
33787         needed fixing.
33788         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
33789         * modules/stdio (Makefile.am): Substitute it.
33790         * lib/stdio.in.h (renameat): Declare replacement.
33791         * lib/renameat.c (rpl_renameat): Implement fix.
33792
33793         renameat: new module
33794         * modules/renameat: New file.
33795         * lib/renameat.c (renameat): Likewise.
33796         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
33797         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
33798         * modules/stdio (Makefile.am): Substitute them.
33799         * lib/stdio.in.h (renameat): Declare it.
33800         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33801         * doc/posix-functions/renameat.texi (renameat): Likewise.
33802         * modules/renameat-tests: New test.
33803         * tests/test-renameat.c: Likewise.
33804
33805         rename: fix mingw bugs
33806         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
33807         directory overwrite bugs.
33808
33809         rename: fix another cygwin 1.5 bug
33810         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
33811         checks.
33812         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
33813         unnecessary cygwin workarounds.  Also work around bug with moving
33814         full directory onto an empty one.
33815         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
33816
33817         rename-dest-slash: merge into rename module
33818         * modules/rename-dest-slash (Status): Mark obsolete.
33819         (Depends-on): Add rename.
33820         (Files): Let rename do it all.
33821         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
33822         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
33823         * m4/rename-dest-slash.m4: ...so this file can be deleted.
33824         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
33825         * lib/rename.c (rpl_rename): Update comments.
33826
33827         rename: fix cygwin 1.5.x bugs
33828         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
33829         * lib/rename.c (rpl_rename): Work around them.
33830         * modules/rename (Depends-on): Add same-inode.
33831
33832         rename: fix Solaris 10 bug
33833         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
33834         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
33835         was the only bug.
33836
33837         rename: fix Solaris 9 bug
33838         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
33839         on non-directory.  Avoid calling exit.
33840         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
33841         strdup.
33842         * modules/rename-tests (Depends-on): Drop lstat.
33843         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
33844         (gl_PREREQ_RENAME): Delete unused macro.
33845
33846         rename-dest-slash: fix NetBSD bug
33847         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
33848         links.
33849         * modules/rename-dest-slash (Depends-on): Add same-inode.
33850
33851         rename-tests: new test, exposes several platform bugs
33852         * modules/rename-tests: New file.
33853         * tests/test-rename.h: Likewise.
33854         * tests/test-rename.c: Likewise.
33855         * doc/posix-functions/rename.texi (rename): Improve documentation,
33856         including bugs that will eventually be fixed in gnulib.
33857
33858 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
33859
33860         * lib/uname.c: Include <stdlib.h>
33861         (uname): Assume version info is available.
33862
33863 2009-10-02  Jim Meyering  <meyering@redhat.com>
33864
33865         gnu-web-doc-update: correct --help output
33866         * build-aux/gnu-web-doc-update: Make --help output relevant.
33867
33868         gnu-web-doc-update: add standard options
33869         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
33870
33871         gnu-web-doc-update: New module.
33872         Use this script to automatically update the on-line web documentation
33873         for your GNU project at http://www.gnu.org/software/$pkg/manual/
33874         * modules/gnu-web-doc-update: New file, from coreutils.
33875         * build-aux/gnu-web-doc-update: New script.
33876
33877 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
33878
33879         link: LoadLibrary is not needed.
33880         * lib/link.c: Use GetModuleHandle.
33881
33882 2009-10-01  Eric Blake  <ebb9@byu.net>
33883
33884         getopt: bump serial number
33885         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
33886         change.
33887
33888         tests: tighten link, rmdir, and remove tests
33889         * tests/test-link.h (includes): No need to use <config.h> here.
33890         Clean up if directory hard link was created, otherwise test for
33891         trailing '.'.
33892         * tests/test-linkat.c (main): Simplify.
33893         * tests/test-remove.c (main): Enhance test for trailing '.'.
33894         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33895
33896 2009-10-01  Jim Meyering  <meyering@redhat.com>
33897
33898         maint.mk: requiring "make major" was annoying, for a "minor" release.
33899         What is intended is "stable", to contrast with alpha and beta,
33900         so require "make stable", not "make major".
33901         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
33902         (get_tool_versions): Likewise.
33903         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
33904
33905 2009-09-30  Ben Pfaff  <blp@gnu.org>
33906
33907         Fix broken build of replacement for Windows tmpfile().
33908         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
33909         flags argument added along with the 'mkostemp' module.
33910
33911 2009-09-28  Bruno Haible  <bruno@clisp.org>
33912
33913         Avoid identifier clash with POSIX function 'remove' defined as a macro.
33914         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
33915         to 'remove_elt'.
33916         (gl_list_remove): Update.
33917         * lib/gl_list.c (gl_list_remove): Update.
33918         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
33919         to 'remove_elt'.
33920         (gl_oset_remove): Update.
33921         * lib/gl_list.c (gl_oset_remove): Update.
33922         Reported by Eric Blake.
33923
33924 2009-09-28  Eric Blake  <ebb9@byu.net>
33925
33926         doc: mention yet more cygwin 1.7 status
33927         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
33928         cygwin.
33929         * doc/glibc-functions/execvpe.texi (execvpe): New file.
33930         * doc/gnulib.texi (Glibc unistd.h): Mention it.
33931
33932         argp: fix test failure
33933         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
33934         that are not upper-case.  Pass correct range to tolower.
33935
33936 2009-09-27  Jim Meyering  <meyering@redhat.com>
33937
33938         test-yesno: work around sparc-dash here-document infelicity
33939         Without this change, the literal \177 byte in a here document
33940         would make dash 0.5.5.1-3 access uninitialized memory.
33941         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
33942         Instead, use a marker, "@", and filter through tr to create the desired
33943         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
33944
33945 2009-09-27  Bruno Haible  <bruno@clisp.org>
33946
33947         Disable untested support for new flavours of ACLs on AIX.
33948         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
33949         progress.
33950         * lib/set-mode-acl.c (qset_acl): Likewise.
33951
33952 2008-12-07  Bruno Haible  <bruno@clisp.org>
33953
33954         Add support for new flavours of ACLs on AIX. (Untested.)
33955         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
33956         (file_has_acl): Add support for newer AIX.
33957         * lib/set-mode-acl.c (qset_acl): Likewise.
33958         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
33959         Rainer Tammer <tammer@tammer.net>.
33960
33961 2009-09-26  Eric Blake  <ebb9@byu.net>
33962
33963         argp: fix compilation of getopt
33964         * lib/getopt.in.h (includes): Use different guard than glibc.
33965         Reported by Sergey Poznyakoff.
33966
33967         doc: mention more cygwin 1.7 status
33968         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
33969         bug.
33970         * doc/posix-functions/execl.texi (execl): Likewise.
33971         * doc/posix-functions/execle.texi (execle): Likewise.
33972         * doc/posix-functions/execlp.texi (execlp): Likewise.
33973         * doc/posix-functions/execv.texi (execv): Likewise.
33974         * doc/posix-functions/execve.texi (execve): Likewise.
33975         * doc/posix-functions/execvp.texi (execvp): Likewise.
33976         * doc/glibc-functions/canonicalize_file_name.texi
33977         (canonicalize_file_name): Cygwin 1.7 now provides this.
33978         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
33979         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
33980         on AT_SYMLINK_NOFOLLOW.
33981
33982 2009-09-24  Eric Blake  <ebb9@byu.net>
33983
33984         test-linkat: make test more robust
33985         * tests/test-linkat.c (main): Avoid collision with EEXIST.
33986
33987         getopt: fix inclusion guards for cygwin
33988         * modules/getopt-posix (Depends-on): Add include-next.
33989         (Makefile.am): Substitute more items in replacement header.
33990         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
33991         <getopt.h>.
33992         * lib/getopt.in.h (includes): Use split inclusion guard, and
33993         prefer <getopt.h> over include <unistd.h> when one is present.
33994         (option): Also override name of 'struct option'.
33995
33996         same-inode: revert prior change; it is not yet ready
33997         * NEWS: Undo mention of this change.
33998         * lib/same-inode.h (same-inode.h): Undo tri-state change.
33999         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34000         * lib/cycle-check.c (cycle_check): Likewise.
34001         * lib/same.c (same_name): Likewise.
34002         * lib/at-func2.c (at_func2): Likewise.
34003
34004 2009-09-23  Eric Blake  <ebb9@byu.net>
34005
34006         linkat: new module
34007         * modules/linkat: New file.
34008         * lib/at-func2.c (at_func2): Likewise.
34009         * lib/linkat.c (linkat): Likewise.
34010         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
34011         * lib/openat-priv.h (at_func2): Add declaration.
34012         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34013         * modules/unistd (Makefile.am): Substitute them.
34014         * lib/unistd.in.h (linkat): Declare it.
34015         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34016         * doc/posix-functions/linkat.texi (linkat): Likewise.
34017         * doc/posix-functions/link.texi (link): Tweak wording.
34018         * tests/test-link.c (main): Move guts...
34019         * tests/test-link.h (test_link): ...into new file.
34020         * modules/linkat-tests: New test.
34021         * tests/test-linkat.c: Likewise.
34022         * modules/link-tests (Files): Ship new file.
34023         (Depends-on): Add stdbool.
34024
34025         dirname: add library-safe mdir_name
34026         * lib/dirname.h (mdir_name): New prototype.
34027         * lib/dirname.c (dir_name): Move guts...
34028         (mdir_name): ...to new function that avoids xalloc_die.
34029
34030         fchdir: another mingw fix
34031         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
34032         * lib/fchdir.c (get_name): New helper method; skips canonicalize
34033         on mingw (where it has not yet been ported), and make it optional
34034         elsewhere.
34035         (_gl_register_fd): Use it.
34036
34037         same-inode: make SAME_INODE tri-state, to port to mingw
34038         * NEWS: Mention this change.
34039         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
34040         st_ino always being 0.
34041         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34042         * lib/cycle-check.c (cycle_check): Likewise.
34043         * lib/same.c (same_name): Likewise.
34044
34045         lstat: avoid mingw compilation error
34046         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
34047         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
34048         lstat ourselves.
34049         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
34050         was adequate.
34051         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
34052         the checks for lstat.
34053         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
34054
34055         link: fix test failure on Solaris 9
34056         * lib/link.c (rpl_link): Don't assume link will catch bogus
34057         trailing slash on source.
34058
34059         test-symlinkat: enhance test
34060         * tests/test-readlink.c (main): Move guts...
34061         * tests/test-readlink.h (test_readlink): ...into new file.
34062         * tests/test-symlink.c (main): Move guts...
34063         * tests/test-symlink.h (test_symlink): ...into new file.
34064         * tests/test-symlinkat.c (main): Use new files for further
34065         coverage.
34066         (do_symlink, do_readlink): New helper functions.
34067         * modules/symlink-tests (Files): Ship new file.
34068         (Depends-on): Add stdbool.
34069         * modules/readlink-tests (Files): Ship new file.
34070         (Depends-on): Add stdbool.
34071         * modules/symlinkat-tests (Files): Use new files.
34072
34073 2009-09-23  Eric Blake  <ebb9@byu.net>
34074
34075         readlink: document portability issue with symlink length
34076         * doc/posix-functions/lstat.texi (lstat): Mention that some file
34077         systems have bogus st_size on symlinks, and mention the
34078         areadlink-with-size module.
34079         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
34080         * doc/posix-functions/readlink.texi (readlink): Mention the
34081         areadlink module, and ERANGE failure.
34082         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34083         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
34084
34085         readlink: fix Solaris 9 bug with trailing slash
34086         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
34087         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
34088         * doc/posix-functions/readlink.texi (readlink): Document this.
34089         * modules/readlink-tests: New test.
34090         * tests/test-readlink.c: Likewise.
34091
34092         readlink: fix cygwin 1.5.x bug with return type
34093         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
34094         * lib/unistd.in.h (readlink): Use ssize_t.
34095         * lib/readlink.c (readlink): Likewise.
34096         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34097         * modules/unistd (Makefile.am): Substitute it.
34098         * lib/unistd.in.h (readlink): Declare replacement.
34099         * doc/posix-functions/readlink.texi (readlink): Document this.
34100
34101         symlink: use throughout gnulib
34102         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
34103         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
34104         symlink is not used.
34105         * modules/symlinkat (Depends-on): Add symlink.
34106         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34107         * modules/canonicalize-tests (Depends-on): Likewise.
34108         * modules/lstat-tests (Depends-on): Likewise.
34109         * modules/openat-tests (Depends-on): Likewise.
34110         * modules/remove-tests (Depends-on): Likewise.
34111         * modules/rmdir-tests (Depends-on): Likewise.
34112         * modules/unlink-tests (Depends-on): Likewise.
34113         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
34114         * tests/test-canonicalize.c (symlink): Likewise.
34115         * tests/test-fstatat.c (symlink): Likewise.
34116         * tests/test-lstat.c (symlink): Likewise.
34117         * tests/test-remove.c (symlink): Likewise.
34118         * tests/test-rmdir.c (symlink): Likewise.
34119         * tests/test-unlink.c (symlink): Likewise.
34120         * tests/test-unlinkat.c (symlink): Likewise.
34121
34122         symlink: new module, for Solaris 9 bug
34123         * modules/symlink: New file.
34124         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
34125         * lib/symlink.c: Likewise.
34126         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
34127         * modules/unistd (Makefile.am): Substitute them.
34128         * lib/unistd.in.h (symlink): Declare replacement.
34129         * MODULES.html.sh (File system functions): Mention it.
34130         * doc/posix-functions/symlink.texi (symlink): Likewise.
34131         * modules/symlink-tests: New test.
34132         * tests/test-symlink.c: Likewise.
34133
34134 2009-09-23  Bruno Haible  <bruno@clisp.org>
34135
34136         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
34137         when needed.
34138         Test case: gnulib-tool --import --with-tests atexit inttypes.
34139         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
34140
34141 2009-09-23  Bruno Haible  <bruno@clisp.org>
34142
34143         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
34144         subcommand, not in a subshell.
34145
34146 2009-09-22  Eric Blake  <ebb9@byu.net>
34147
34148         unistd: sort replacement declarations
34149         * lib/unistd.in.h: Sort declarations.
34150
34151         open, openat: minor optimization
34152         * lib/open.c (open): If open succeeded, len is non-zero.
34153         * lib/openat.c (rpl_openat): Likewise.
34154
34155         link-follow: ensure correct result
34156         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
34157         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
34158         distinguish between possible failures.
34159
34160 2009-09-21  Eric Blake  <ebb9@byu.net>
34161
34162         fts: avoid compiler warning
34163         * lib/fts.c (dirent_inode_sort_may_be_useful)
34164         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
34165
34166 2009-09-19  Bruno Haible  <bruno@clisp.org>
34167
34168         * lib/progreloc.c (canonicalize_file_name): New declaration.
34169
34170 2009-09-19  Eric Blake  <ebb9@byu.net>
34171
34172         link: fix quoting
34173         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
34174
34175         openat: fix openat bugs on Solaris 9
34176         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
34177         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
34178         * modules/openat (Depends-on): Add open.
34179         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
34180         * modules/fcntl-h (Makefile.am): Substitute it.
34181         * lib/fcntl.in.h (openat): Declare replacement.
34182         * doc/posix-functions/openat.texi (openat): Document this.
34183
34184         openat: move fstatat and unlinkat into correct files
34185         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
34186         compiled.
34187         * lib/openat.c (fstatat, unlinkat): Move...
34188         * lib/fstatat.c (fstatat): ...into correct files.
34189         * lib/unlinkat.c (unlinkat): Likewise.
34190
34191         openat: fix unlinkat bugs on Solaris 9
34192         * lib/unlinkat.c (unlinkat): New file.
34193         * modules/openat (Depends-on): Add unlink.
34194         (Files): Distribute it.
34195         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
34196         trailing slash behavior is broken.
34197         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34198         * modules/unistd (Makefile.am): Substitute it.
34199         * lib/unistd.in.h (unlinkat): Declare replacement.
34200         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
34201
34202         openat: fix fstatat bugs on Solaris 9
34203         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
34204         stat.
34205         * doc/posix-functions/fstatat.texi (fstatat): Document this.
34206
34207         test-unlinkat: enhance test, to expose Solaris 9 bug
34208         * tests/test-unlink.c (main): Factor guts...
34209         * tests/test-unlink.h (test_rmdir_func): ...into new file.
34210         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
34211         * tests/test-rmdir.c (main): Adjust caller.
34212         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
34213         (unlinker): New helper function.
34214         (rmdirat): Enhance check.
34215         * modules/rmdir-tests (Depends-on): Add stdbool.
34216         * modules/unlink-tests (Depends-on): Likewise.
34217         (Files): Add test-unlink.h.
34218         * modules/openat-tests (Files): Likewise.
34219         (Depends-on): Add unlinkdir.
34220
34221         test-fstatat: new test, to expose Solaris 9 bugs
34222         * tests/test-stat.c (main): Factor guts...
34223         * tests/test-stat.h (test_stat_func): ...into new file.
34224         * tests/test-lstat.c (main): Factor guts...
34225         * tests/test-lstat.h (test_lstat_func): ...into new file.
34226         * tests/test-fstatat.c: New file.
34227         * modules/stat-tests (Files): Add test-stat.h.
34228         * modules/lstat-tests (Files): Add test-lstat.h.
34229         (Depends-on): Add stdbool.
34230         * modules/openat-tests (Depends-on): Add pathmax.
34231         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
34232         (Makefile.am): Run new test.
34233
34234         remove: new module, for mingw and Solaris 9 bugs
34235         * modules/remove: New file.
34236         * lib/remove.c: Likewise.
34237         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
34238         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34239         * modules/stdio (Makefile.am): Use them.
34240         * lib/stdio.in.h (remove): Declare replacement.
34241         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34242         * doc/posix-functions/remove.texi (remove): Likewise.
34243         * modules/remove-tests: New test.
34244         * tests/test-remove.c: Likewise.
34245
34246         unlink: new module, for Solaris 9 bug
34247         * modules/unlink: New file.
34248         * lib/unlink.c: Likewise.
34249         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
34250         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34251         * modules/unistd (Makefile.am): Use them.
34252         * lib/unistd.in.h (stat): Declare replacement.
34253         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34254         * doc/posix-functions/unlink.texi (unlink): Likewise.
34255         * modules/unlink-tests: New test.
34256         * tests/test-unlink.c: Likewise.
34257
34258         lstat: fix Solaris 9 bug
34259         * lib/lstat.c (lstat): Also check for trailing slash on
34260         non-symlink, non-directories.  Use stat module to simplify logic.
34261         * doc/posix-functions/lstat.texi (lstat): Document it.
34262         * modules/lstat-tests (Depends-on): Add errno, same-inode.
34263         (configure.ac): Check for symlink.
34264         * tests/test-lstat.c (main): Add more tests.
34265
34266         stat: add as dependency to other modules
34267         * modules/chown (Depends-on): Add stat.
34268         * modules/euidaccess (Depends-on): Likewise.
34269         * modules/fchdir (Depends-on): Likewise.
34270         * modules/isdir (Depends-on): Likewise.
34271         * modules/link (Depends-on): Likewise.
34272         * modules/lstat (Depends-on): Likewise.
34273         * modules/mkdir-p (Depends-on): Likewise.
34274         * modules/modechange (Depends-on): Likewise.
34275         * modules/open (Depends-on): Likewise.
34276         * modules/readlink (Depends-on): Likewise.
34277         * modules/same (Depends-on): Likewise.
34278
34279         stat: fix Solaris 9 bug
34280         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
34281         slash.
34282         * lib/stat.c (rpl_stat): Work around it.
34283         * doc/posix-functions/stat.texi (stat): Update documentation.
34284
34285         stat: new module, for mingw bug
34286         * modules/stat: New file.
34287         * lib/stat.c: Likewise.
34288         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
34289         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34290         * modules/sys_stat (Makefile.am): Use them.
34291         * lib/sys_stat.in.h (stat): Declare replacement.
34292         * lib/openat.c (fstatat): Deal with lstat and stat being function
34293         macros.
34294         * modules/openat (Depends-on): Add inline.
34295         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34296         * doc/posix-functions/stat.texi (stat): Likewise.
34297         * modules/stat-tests: New test.
34298         * tests/test-stat.c: Likewise.
34299
34300 2009-09-19  Jim Meyering  <meyering@redhat.com>
34301
34302         syntax-check: detect unnecessary inclusion of canonicalize.h
34303         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
34304
34305 2009-09-19  Eric Blake  <ebb9@byu.net>
34306
34307         canonicalize-lgpl: adjust clients to use correct header
34308         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34309         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
34310         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
34311         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
34312         * lib/progreloc.c (includes): Likewise.
34313
34314 2009-09-19  Jim Meyering  <meyering@redhat.com>
34315
34316         test-posixtm.c: correct a comment
34317         * tests/test-posixtm.c: Correct first-line comment.
34318         Spotted by Eric Blake.
34319
34320 2009-09-16  Jim Meyering  <meyering@redhat.com>
34321
34322         posixtm-tests: make T const-correct; add a test case
34323         * tests/test-posixtm.c (T): Declare const.
34324         Add a test for -(2^31+1).
34325         Remove useless can-succeed-only-in-2002 test.
34326
34327         posixtm-tests: adjust the sole failing test
34328         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
34329         expected output matches what mktime now produces.  Cross-checked via
34330         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
34331
34332         posixtm: move #ifdef'd tests into a new module
34333         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
34334         * tests/test-posixtm.c: ... this new file.
34335         * modules/posixtm-tests: New module.
34336
34337 2009-09-19  Eric Blake  <ebb9@byu.net>
34338
34339         openat: simplify use of at-func.c
34340         * lib/at-func.c (includes): Include prerequisites here, to
34341         simplify requirements on client files.
34342         * lib/openat-priv.h: Add double-inclusion guard.
34343         * lib/faccessat.c (includes): Simplify.
34344         * lib/fchmodat.c (includes): Likewise.
34345         * lib/fchownat.c (includes): Likewise.
34346         * lib/mkdirat.c (includes): Likewise.
34347         * lib/mkfifoat.c (includes): Likewise.
34348         * lib/symlinkat.c (includes): Likewise.
34349
34350         openat: allow return of fd 0
34351         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
34352         * modules/save-cwd (Depends-on): Replace fcntl-safer with
34353         unistd-safer.
34354         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
34355         <fcntl.h>; this module does not leak fds.
34356         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
34357         must be allowed to return 0, leaving openat_safer to add the
34358         safety.
34359         (openat_permissive): Avoid writing to just-opened fd 2 if
34360         restoring the current directory fails.
34361         * lib/openat-die.c (openat_restore_fail): Add comment.
34362         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
34363         (save_cwd): Guarantee safe fd, but without use of open_safer.
34364         * tests/test-openat.c: New test.
34365         * modules/openat-tests (Files, Makefile.am): Distribute and build
34366         new file.
34367
34368         relocatable-prog-wrapper: fix build
34369         * modules/relocatable-prog-wrapper (Files): Update name of
34370         canonicalize m4 file, broken on 2009-09-17.
34371         Reported by emad hajjar <aleppos@hotmail.com>.
34372
34373 2009-09-19  Bruno Haible  <bruno@clisp.org>
34374
34375         * lib/safe-alloc.h: Use the standard header with GPL copyright.
34376         * lib/safe-alloc.c: Likewise.
34377         Reported by Ian Beckwith <ianb@erislabs.net>.
34378
34379 2009-09-18  Bruno Haible  <bruno@clisp.org>
34380
34381         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
34382         Reported by <erobles@sensacd.com.mx>.
34383
34384 2009-09-17  Eric Blake  <ebb9@byu.net>
34385
34386         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
34387         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
34388         slashes when checking if last component is missing.
34389         * tests/test-canonicalize.c (main): Test this.
34390
34391         canonicalize, canonicalize-lgpl: honor // if distinct from /
34392         * modules/canonicalize (Files): Add double-slash-root.m4.
34393         * modules/canonicalize-lgpl (Files): Likewise.
34394         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34395         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
34396         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
34397         fallback definition.
34398         (canonicalize_filename_mode): Use it to protect //.
34399         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
34400         (__realpath): Likewise.
34401         * tests/test-canonicalize.c (main): Test this.
34402         * tests/test-canonicalize-lgpl.c (main): Likewise.
34403         * modules/canonicalize-tests (Depends-on): Add same-inode.
34404         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34405
34406         canonicalize-lgpl: fix glibc bug with trailing slash
34407         * m4/canonicalize-lgpl.m4: Move contents...
34408         * m4/canonicalize.m4: ...here.
34409         (gl_CANONICALIZE_LGPL): Factor realpath check...
34410         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
34411         glibc 2.3.5 bug, fixed 2005-04-27.
34412         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
34413         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
34414         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
34415         * modules/canonicalize-lgpl (Files): Manage file rename.
34416         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34417         * modules/stdlib (Makefile.am): Substitute witness.
34418         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
34419         is needed.
34420         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
34421         replacement is required.
34422         * lib/canonicalize.c (canonicalize_file_name): Likewise.
34423         * doc/glibc-functions/canonicalize_file_name.texi
34424         (canonicalize_file_name): Document this.
34425         * doc/posix-functions/realpath.texi (realpath): Likewise.
34426
34427         canonicalize-lgpl: reject non-directory with trailing slash
34428         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
34429         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
34430         catches failures in glibc 2.3.5.
34431         * tests/test-canonicalize.c (main): Likewise.
34432
34433         canonicalize-lgpl: use native realpath if it works
34434         * lib/canonicalize-lgpl.c (realpath): Guard with
34435         FUNC_REALPATH_WORKS.
34436         * lib/stdlib.in.h (realpath): Make declaration optional based on
34437         HAVE_REALPATH.
34438         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
34439         native realpath works.
34440         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34441         * modules/stdlib (Makefile.am): Substitute witness.
34442
34443         canonicalize, canonicalize-lgpl: use <stdlib.h>
34444         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
34445         (Include): Mention <stdlib.h>.
34446         (configure.ac): Mention functions we provide.
34447         * modules/canonicalize (configure.ac): Likewise.
34448         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
34449         realpath if canonicalize_file_name is missing.
34450         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
34451         * modules/stdlib (Makefile.am): Substitute witnesses.
34452         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
34453         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
34454         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
34455         * NEWS: Document this.
34456         * doc/glibc-functions/canonicalize_file_name.texi
34457         (canonicalize_file_name): Likewise.
34458         * doc/posix-functions/realpath.texi (realpath): Likewise.
34459         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
34460
34461         test-canonicalize: consolidate into single C program
34462         * tests/test-canonicalize.sh: Delete; move setup into...
34463         * tests/test-canonicalize.c (main): ...the program, making it
34464         easier to run in debugger.  Add some tests.
34465         * modules/canonicalize-tests (Files): Remove unused file.
34466         (Depends-on): Add progname.
34467         (configure.ac, Makefile.am): Simplify.
34468
34469         test-canonicalize-lgpl: consolidate into single C program
34470         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
34471         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
34472         easier to run in debugger.  Add some tests.
34473         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
34474         (configure.ac, Makefile.am): Simplify.
34475
34476         canonicalize: avoid resolvepath
34477         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
34478         unnecessary checks.
34479         * lib/canonicalize.c (includes): Simplify.
34480         (canonicalize_file_name): Drop resolvepath implementation.
34481         * modules/canonicalize (Depends-on): Drop filenamecat.
34482
34483         canonicalize: don't lose errno
34484         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
34485         over calls to free.
34486
34487         canonicalize: simplify errno handling
34488         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
34489         assignment.
34490
34491         canonicalize, canonicalize-lgpl: update module dependencies
34492         * modules/canonicalize (Depends-on): Add extensions, lstat,
34493         pathmax, stdlib.
34494         (Files): Drop pathmax.h.
34495         (configure.ac): Adjust macro name.
34496         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
34497         lstat, stdlib, sys_stat.
34498         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
34499         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
34500         extensions.
34501         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
34502         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
34503         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
34504         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
34505         declaration, if available.
34506         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
34507         we can rely on the readlink module.
34508         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
34509         (includes): Use <unistd.h> unconditionally.
34510
34511 2009-09-17  Eric Blake  <ebb9@byu.net>
34512
34513         maint: make Include sections of modules consistent
34514         * modules/alloca: Use only header name; no need to list #include.
34515         * modules/alloca-opt: Likewise.
34516         * modules/arpa_inet: Likewise.
34517         * modules/canon-host: Likewise.
34518         * modules/configmake: Likewise.
34519         * modules/dirent: Likewise.
34520         * modules/eealloc: Likewise.
34521         * modules/environ: Likewise.
34522         * modules/fchdir: Likewise.
34523         * modules/fcntl: Likewise.
34524         * modules/fcntl-h: Likewise.
34525         * modules/gethrxtime: Likewise.
34526         * modules/gettime: Likewise.
34527         * modules/ignore-value: Likewise.
34528         * modules/inet_ntop: Likewise.
34529         * modules/inet_pton: Likewise.
34530         * modules/inttypes: Likewise.
34531         * modules/isnand-nolibm: Likewise.
34532         * modules/isnanf-nolibm: Likewise.
34533         * modules/mbchar: Likewise.
34534         * modules/mbfile: Likewise.
34535         * modules/mbiter: Likewise.
34536         * modules/mbuiter: Likewise.
34537         * modules/netdb: Likewise.
34538         * modules/netinet_in: Likewise.
34539         * modules/nproc: Likewise.
34540         * modules/pagealign_alloc: Likewise.
34541         * modules/poll: Likewise.
34542         * modules/printf-frexp: Likewise.
34543         * modules/pthread: Likewise.
34544         * modules/putenv: Likewise.
34545         * modules/random_r: Likewise.
34546         * modules/relocatable-prog: Likewise.
34547         * modules/search: Likewise.
34548         * modules/select: Likewise.
34549         * modules/selinux-h: Likewise.
34550         * modules/settime: Likewise.
34551         * modules/signal: Likewise.
34552         * modules/size_max: Likewise.
34553         * modules/socklen: Likewise.
34554         * modules/ssize_t: Likewise.
34555         * modules/stdarg: Likewise.
34556         * modules/stdbool: Likewise.
34557         * modules/stddef: Likewise.
34558         * modules/stdint: Likewise.
34559         * modules/stdio: Likewise.
34560         * modules/stdlib: Likewise.
34561         * modules/string: Likewise.
34562         * modules/strings: Likewise.
34563         * modules/sys_file: Likewise.
34564         * modules/sys_ioctl: Likewise.
34565         * modules/sys_select: Likewise.
34566         * modules/sys_socket: Likewise.
34567         * modules/sys_stat: Likewise.
34568         * modules/sys_time: Likewise.
34569         * modules/sys_times: Likewise.
34570         * modules/sys_utsname: Likewise.
34571         * modules/sys_wait: Likewise.
34572         * modules/sysexits: Likewise.
34573         * modules/time: Likewise.
34574         * modules/times: Likewise.
34575         * modules/tmpfile: Likewise.
34576         * modules/trim: Likewise.
34577         * modules/unistd: Likewise.
34578         * modules/wchar: Likewise.
34579         * modules/wctype: Likewise.
34580
34581 2009-09-17  Bruno Haible  <bruno@clisp.org>
34582
34583         Make getdate.y compile on QNX and NetBSD 5 / i386.
34584         * m4/getdate.m4 (gl_GETDATE): Conditionally define
34585         TIME_T_FITS_IN_LONG_INT.
34586         * lib/getdate.y (long_time_t): New type.
34587         (relative_time): Change type of 'seconds' field to long_time_t.
34588         (get_date): Update types of local variables. Check against overflow
34589         during conversion from long_time_t to time_t.
34590         Reported by Matt Kraai <kraai@ftbfs.org>
34591         and Hasso Tepper <hasso@netbsd.org>.
34592
34593 2009-09-17  Bruno Haible  <bruno@clisp.org>
34594
34595         * modules/COPYING: Update copyright years.
34596         * modules/README: Likeiwse.
34597         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
34598         Reported by Ian Beckwith <ianb@erislabs.net>.
34599
34600 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
34601
34602         * users.txt: Update references for gnuit package.
34603
34604 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
34605
34606         * m4/getdelim.m4: Fix typo in copyright line.
34607
34608 2009-09-17  Bruno Haible  <bruno@clisp.org>
34609
34610         * lib/atoll.c: Use the standard header with GPL copyright.
34611         * lib/argz.in.h: Likewise.
34612         * lib/glob.c: Likewise.
34613         * lib/glob-libc.h: Likewise.
34614         * lib/random_r.c: Likewise.
34615         * lib/siglist.h: Likewise.
34616         * lib/strsignal.c: Likewise.
34617         Reported by Ian Beckwith <ianb@erislabs.net>.
34618
34619 2009-09-17  Eric Blake  <ebb9@byu.net>
34620
34621         rmdir: ensure correct dependency order
34622         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
34623
34624 2009-09-17  Bruno Haible  <bruno@clisp.org>
34625
34626         Disable assertion that fails on NetBSD 5 / i386.
34627         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
34628         Reported by Sam Steingold <sds@gnu.org>
34629         and Hasso Tepper <hasso@netbsd.org>.
34630
34631 2009-09-16  Eric Blake  <ebb9@byu.net>
34632
34633         unlinkdir: port to mingw
34634         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
34635         on which no one can unlink a directory.
34636
34637         stdlib: sort witness names
34638         * modules/stdlib (Makefile.am): Sort replacements.
34639         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
34640         * lib/stdlib.in.h: Likewise.
34641
34642         parse-duration-tests: avoid link failure
34643         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
34644         LIBINTL.
34645         Reported by Tom G. Christensen.
34646
34647         openat-tests: ensure unlinkat behaves like rmdir
34648         * tests/test-rmdir.c (main): Factor guts...
34649         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
34650         * modules/rmdir-tests (Files): Ship new file.
34651         * modules/openat-tests: New test.
34652         * tests/test-unlinkat.c: Likewise.
34653
34654         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
34655         * modules/rmdir-errno (Status, Notice): Now obsolete.
34656
34657         rmdir: work around cygwin 1.5.x and mingw bugs
34658         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
34659         * lib/rmdir.c (rmdir): Work around it.
34660         * modules/rmdir (Status, Notice): No longer obsolete.
34661         (Files): Add dos.m4.
34662         (Depends-on): Add unistd.
34663         (configure.ac): Set witnesses.
34664         (License): Relax to LGPLv2+.
34665         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
34666         * modules/unistd (Makefile.am): Substitute witnesses.
34667         * lib/unistd.in.h (rmdir): Declare replacement.
34668         * doc/posix-functions/rmdir.texi (rmdir): Document this.
34669         * modules/rmdir-tests: New tests.
34670         * tests/test-rmdir.c: Likewise.
34671
34672 2009-09-15  Eric Blake  <ebb9@byu.net>
34673
34674         fchdir: improve use of replacement functions
34675         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
34676         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
34677         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
34678         REPLACE_CLOSEDIR.
34679         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
34680         * modules/sys_stat (Makefile.am): Substitute correct witness.
34681         * modules/dirent (Makefile.am): Likewise.
34682         * modules/unistd (Makefile.am): Likewise.
34683         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
34684         * lib/unistd.in.h (dup): Likewise.
34685         * lib/sys_stat.in.h (fstat): Likewise.
34686
34687         maint: ignore gnulib-tool temp files
34688         * .gitignore: Ignore files created during gnulib-tool --test.
34689
34690 2009-09-13  Jim Meyering  <meyering@redhat.com>
34691
34692         posixtm: don't reject a time that specify "60" as the number of seconds
34693         * lib/posixtm.c (posixtime): The code to reject invalid dates
34694         would also reject a time specified with the .60 suffix.
34695         But POSIX allows that, in order to accommodate leap seconds.
34696         So don't reject it.
34697         (main): Adjust tests accordingly.
34698         * modules/posixtm (Depends-on): Add stpcpy.
34699
34700 2009-09-11  Jim Meyering  <meyering@redhat.com>
34701
34702         announce-gen: include [$release_type] in emitted Subject:
34703         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
34704         e.g., [stable] in the emitted Subject: line.
34705
34706 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34707
34708         Remove obsolete macros from several modules.
34709         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
34710         obsolete Autoconf macros with their modern counterparts.
34711         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
34712         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
34713         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
34714         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
34715         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
34716         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
34717         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
34718         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
34719         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
34720         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
34721         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
34722         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
34723         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
34724         * m4/sockets.m4 (gl_SOCKETS): Likewise.
34725         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
34726         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
34727         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
34728         * m4/time_r.m4 (gl_TIME_R): Likewise.
34729         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
34730         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
34731         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
34732
34733         Fix copyright header in build-aux scripts.
34734         * build-aux/git-version-gen: Fix copyright header to match GPLv3
34735         recommendation.
34736         * build-aux/ncftpput-ftp: Likewise.
34737         * build-aux/update-copyright: Likewise.
34738
34739 2009-09-09  Eric Blake  <ebb9@byu.net>
34740
34741         test-link: allow Linux choice of errno
34742         * tests/test-link.c (main): Relax test for alternate error.
34743
34744         strndup: fix improper m4 caching
34745         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
34746         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
34747         (gl_PREREQ_STRNDUP): Delete.
34748         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
34749         * modules/string (Makefile.am): Substitute it.
34750         * lib/string.in.h (strndup): Modernize prototype.
34751
34752         getcwd: port to mingw
34753         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
34754         different from the POSIX assumptions made throughout the getcwd
34755         module; fortunately, the mingw getcwd does not need replacement.
34756         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
34757         * modules/getcwd-tests: New test.
34758         * tests/test-getcwd.c: Likewise.
34759
34760         link: fix platform bugs
34761         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
34762         * lib/link.c (link): Work around them.  Fix related mingw bug.
34763         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
34764         * modules/unistd (Makefile.am): Substitute it.
34765         * lib/unistd.in.h (link): Declare replacement.
34766         * doc/posix-functions/link.texi (link): Document this.
34767         * modules/link (Depends-on): Add strdup-posix, sys_stat.
34768
34769         test-link: consolidate into single C program, test more cases
34770         * tests/test-link.sh: Delete.
34771         * tests/test-link.c: Test more error conditions.  Exposes bugs on
34772         at least Cygwin and Solaris.
34773         * modules/link-tests (Files): Remove unused file.
34774         (Depends-on): Add errno, sys_stat.
34775         (Makefile.am): Simplify.
34776
34777 2009-09-08  Bruno Haible  <bruno@clisp.org>
34778
34779         Work around towlower, towupper bug on mingw.
34780         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
34781         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
34782         * doc/posix-functions/towlower.texi: Mention the mingw bug.
34783         * doc/posix-functions/towupper.texi: Likewise.
34784         Reported by Eric Blake.
34785
34786 2009-09-08  Jim Meyering  <meyering@redhat.com>
34787
34788         build: don't try to run autoheader if we don't use it
34789         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
34790         is not used in configure.ac.
34791
34792 2009-09-08  Eric Blake  <ebb9@byu.net>
34793
34794         euidaccess: fix compilation error
34795         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
34796
34797         rawmemchr: relax license
34798         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
34799         okay.
34800         Reported by Jim Meyering.
34801
34802         mkfifoat: new module
34803         * modules/mkfifoat: New file.
34804         * lib/mkfifoat.c: Likewise.
34805         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
34806         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34807         * modules/sys_stat (Makefile.am): Use them.
34808         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
34809         * MODULES.html.sh (File system functions): Mention module.
34810         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
34811         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
34812         * modules/mkfifoat-tests: New test.
34813         * tests/test-mkfifoat.c: Likewise.
34814
34815         strchrnul: relax license
34816         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
34817         okay.
34818         Reported by Jim Meyering.
34819
34820 2009-09-08  Eric Blake  <ebb9@byu.net>
34821
34822         fstatat: fix compilation on Solaris
34823         * lib/fstatat.c (includes): Add fcntl.h.
34824         Reported by Pádraig Brady.
34825
34826 2009-09-07  Eric Blake  <ebb9@byu.net>
34827
34828         rename: modernize replacement
34829         * modules/rename (Depends-on): Add stdio.
34830         (configure.ac): Declare witness.
34831         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
34832         stdio take care of replacement.
34833         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
34834         * modules/stdio (Makefile.am): Substitute them.
34835         * lib/stdio.in.h (rename): Declare replacement.
34836         * lib/rename.c (includes): Allow cross-compilation to non-windows
34837         machines.
34838         * doc/posix-functions/rename.texi (rename): Improve
34839         documentation.
34840
34841         stdio: sort witness names
34842         * modules/stdio (Makefile.am): Sort replacements.
34843         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
34844         * lib/stdio.in.h: Likewise.
34845
34846         getcwd: minor cleanups
34847         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
34848         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
34849
34850         openat: provide more convenience names
34851         * modules/faccessat (configure.ac): Add C witness.
34852         * lib/unistd.in.h (readlinkat): Fix typo.
34853         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
34854         convenience wrappers.
34855         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
34856         wrappers in syntax checks.
34857
34858 2009-09-06  Eric Blake  <ebb9@byu.net>
34859
34860         doc: fix comments in recent patches
34861         * lib/faccessat.c: Mention correct function.
34862         * lib/fchmodat.c: Likewise.
34863         * lib/fchownat.c: Likewise.
34864         * lib/symlinkat.c: Likewise.
34865         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
34866         constants.
34867
34868         faccessat, symlinkat: continue cleanup of previous patch
34869         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
34870         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
34871         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
34872         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
34873         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
34874         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
34875         set.
34876
34877 2009-09-06  Bruno Haible  <bruno@clisp.org>
34878
34879         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
34880         (fstatat): Declare if GNULIB_FSTATAT is set.
34881         (mkdirat): Declare if GNULIB_MKDIRAT is set.
34882         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
34883         (unlinkat): Declare if GNULIB_UNLINKAT is set.
34884         * modules/fcntl-h (Files): Remove m4/openat.m4.
34885         * modules/sys_stat (Files): Remove m4/openat.m4.
34886         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
34887         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
34888         * modules/unistd (Files): Remove m4/openat.m4.
34889         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
34890         GNULIB_OPENAT.
34891         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
34892         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
34893         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
34894         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
34895         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
34896         gl_OPENAT_DEFAULTS.
34897         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
34898         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
34899         Don't require gl_OPENAT_DEFAULTS.
34900         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
34901         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
34902         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
34903         (gl_OPENAT_DEFAULTS): Remove macro.
34904
34905 2009-09-06  Bruno Haible  <bruno@clisp.org>
34906
34907         * modules/openat (configure.ac): Remove unneeded witness.
34908
34909 2009-09-06  Bruno Haible  <bruno@clisp.org>
34910
34911         Set errno to ENOSYS when a function is entirely unsupported.
34912         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
34913         EOPNOTSUPP.
34914         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
34915         * modules/chown (Depends-on): Remove errno.
34916
34917 2009-09-06  Bruno Haible  <bruno@clisp.org>
34918
34919         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
34920
34921 2009-09-06  Bruno Haible  <bruno@clisp.org>
34922
34923         * lib/sys_stat.in.h: Fix preprocessor command indentation.
34924
34925 2009-09-06  Ben Pfaff  <blp@gnu.org>
34926             Bruno Haible  <bruno@clisp.org>
34927
34928         Work around a glibc bug in strtok_r.
34929         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
34930         Undefine if UNDEFINE_STRTOK_R is set.
34931         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
34932         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34933         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
34934         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
34935         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
34936         UNDEFINE_STRTOK_R.
34937         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
34938
34939 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
34940
34941         exclude: minor fix
34942         * lib/exclude.c: Include wctype.h
34943
34944 2009-09-06  Akim Demaille  <demaille@gostai.com>
34945
34946         bootstrap: improve error message
34947         * build-aux/bootstrap (find_tool): Upon failure, report the list
34948         of candidates.
34949         Honor the initial value of the envvar.
34950
34951 2009-09-05  Eric Blake  <ebb9@byu.net>
34952
34953         symlinkat: new module
34954         * modules/symlinkat: New file.
34955         * lib/symlinkat.c: Likewise.
34956         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
34957         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34958         * modules/unistd (Makefile.am): Use them.
34959         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
34960         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
34961         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
34962         * MODULES.html.sh (File system functions): Mention module.
34963         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
34964         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34965         * modules/symlinkat-tests: New test.
34966         * tests/test-symlinkat.c: Likewise.
34967
34968         test-openat-safer: add more checks
34969         * tests/test-openat-safer.c (main): Check more code paths.
34970
34971 2009-09-05  Jim Meyering  <meyering@redhat.com>
34972
34973         syntax-check: detect unnecessary inclusion of openat.h
34974         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
34975
34976 2009-09-05  Bruno Haible  <bruno@clisp.org>
34977
34978         Support towlower, towupper.
34979         * doc/posix-functions/towlower.texi: Mention module wctype.
34980         * doc/posix-functions/towupper.texi: Likewise.
34981         * lib/wctype.in.h (towlower, towupper): New functions.
34982         * tests/test-wctype.c: Include stdio.h, stdlib.h.
34983         (ASSERT): New macro.
34984         (e): New variable.
34985         (main): Test also towlower, towupper. Test WEOF argument.
34986         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
34987
34988 2009-09-05  Bruno Haible  <bruno@clisp.org>
34989
34990         Fix conversion behaviour when the input is invalid.
34991         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
34992         mark occurring in first pass of indirect conversion.
34993         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
34994         input.
34995         Found by clang's static analyzer.
34996
34997 2009-09-05  Bruno Haible  <bruno@clisp.org>
34998
34999         * tests/test-striconveh.c (main): Test indirect conversion on platforms
35000         where direct conversion is possible.
35001
35002 2009-09-04  Eric Blake  <ebb9@byu.net>
35003
35004         openat: fail with ENOENT on empty name
35005         * lib/openat-proc.c (openat_proc_name): Special-case the empty
35006         buffer.
35007
35008         link-follow: fix logic bug in prior patch
35009         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
35010         reversed sense of yes and no in prior patch.  Avoid confusing
35011         compilation failure with desired semantics.
35012
35013         link-follow: accomodate mingw and cross-compilation
35014         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
35015         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
35016         cross-compilation results to -1, to make linkat easier to
35017         implement when cross-compiling.  Trivially support mingw.
35018         * modules/link-follow (configure.ac): Call new name.
35019         * NEWS: Mention this.
35020
35021 2009-09-03  Eric Blake  <ebb9@byu.net>
35022
35023         faccessat: compile replacement
35024         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
35025         needed.
35026
35027         fts: fix compilation error
35028         * lib/fts.c (includes): Re-add "openat.h", for
35029         openat_needs_fchdir.
35030
35031         faccessat: new module
35032         * modules/faccessat: New file.
35033         * lib/faccessat.c: Likewise.
35034         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35035         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35036         * modules/unistd (Makefile.am): Use it.
35037         * lib/unistd.in.h (faccessat): Declare it.
35038         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
35039         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
35040         * MODULES.html.sh (File system functions): Mention it.
35041         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
35042         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35043
35044         euidaccess: prefer POSIX over non-standard implementation
35045         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
35046         * lib/euidaccess.c (euidaccess): Use it if available.
35047
35048         openat: make template easier to use
35049         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
35050         AT_FUNC_F2 to be undefined.
35051         (VALIDATE_FLAG): New macro; use it to reject bad flags.
35052         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
35053         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
35054         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
35055         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
35056         Likewise.
35057         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
35058         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
35059         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
35060         Likewise.
35061
35062         openat: declare in POSIX headers
35063         * NEWS: Mention this.
35064         * modules/openat (configure.ac): Declare witnesses.
35065         (Depends-on): Add fcntl-h, sys_stat, unistd.
35066         (Include): Mention correct headers.
35067         * modules/fcntl-h (Depends-on): Add link-warning.
35068         (Files): Add openat.m4.
35069         (Makefile.am): Substitute witnesses.
35070         * modules/sys_stat (Files, Makefile.am): Likewise.
35071         * modules/unistd (Files, Makefile.am): Likewise.
35072         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
35073         (gl_OPENAT_DEFAULTS): New macro.
35074         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
35075         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
35076         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
35077         (SYS_STAT_H): Remove unused variable.
35078         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
35079         * lib/fcntl--.h (includes): Remove unneeded header.
35080         * lib/openat-safer.c (includes): Likewise.
35081         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
35082         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
35083         appropriate headers.
35084         (__OPENAT_PREFIX): Delete.
35085         * lib/fcntl.in.h (openat): Provide declaration.
35086         (AT_FDCWD): Fix Solaris bug.
35087         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
35088         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
35089         * lib/fchmodat.c (includes):  Adjust to find declaration.
35090         * lib/fchownat.c (includes): Likewise.
35091         * lib/mkdirat.c (includes): Likewise.
35092         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
35093         still visible.
35094
35095 2009-09-02  Eric Blake  <ebb9@byu.net>
35096
35097         errno: use consistently
35098         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
35099         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
35100         * lib/canonicalize.c (ELOOP): Likewise.
35101         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
35102         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
35103         * lib/lchown.c (EOPNOTSUPP): Likewise.
35104         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
35105         * lib/savewd.c (ESTALE): Likewise.
35106         * lib/settime.c (ENOSYS): Likewise.
35107         * lib/utimens.c (ENOSYS): Likewise.
35108         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
35109         * lib/chdir-safer.c (ELOOP): Likewise.
35110         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
35111         * modules/c-stack (Depends-on): Add errno.
35112         * modules/canonicalize (Depends-on): Likewise.
35113         * modules/chdir-safer (Depends-on): Likewise.
35114         * modules/fdopendir (Depends-on): Likewise.
35115         * modules/inet_ntop (Depends-on): Likewise.
35116         * modules/inet_pton (Depends-on): Likewise.
35117         * modules/lchown (Depends-on): Likewise.
35118         * modules/openat (Depends-on): Likewise.
35119         * modules/savewd (Depends-on): Likewise.
35120         * modules/settime (Depends-on): Likewise.
35121         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
35122
35123         fts: avoid leaking fds
35124         * modules/fts (Depends-on): Add cloexec.
35125         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
35126         flag.
35127
35128         fts: make directory fds more robust
35129         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
35130         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
35131
35132         backupfile, chdir-long, fts, savedir: make safer
35133         * lib/backupfile.c (includes): Use "dirent--.h", since
35134         numbered_backup can write to stderr during readdir.
35135         * lib/savedir.c (includes): Likewise.
35136         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
35137         emulation can write to stderr on failure.
35138         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
35139         * lib/getcwd.c: Document why opendir_safer is unused.
35140         * lib/glob.c: Likewise.
35141         * lib/scandir.c: Likewise.
35142         * lib/openat-proc.c: Likewise, for open_safer.
35143         * modules/backupfile (Depends-on): Add dirent-safer.
35144         * modules/savedir (Depends-on): Likewise.
35145         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
35146         * modules/chdir-long (Depends-on): Add openat-safer.
35147
35148         openat-safer: new module
35149         * modules/openat-safer: New file.
35150         * lib/openat-safer.c: Likewise.
35151         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
35152         * lib/fcntl-safer.h (openat_safer): Declare.
35153         * lib/fcntl--.h (openat): Override.
35154         * MODULES.html.sh (File descriptor based I/O): Mention it.
35155         * lib/openat.h: Add double-inclusion guards.
35156         * lib/openat.c (includes): Only include "fcntl-safer.h", not
35157         "fcntl--.h", so we can implement openat.
35158         * modules/openat-safer-tests: New test.
35159         * tests/test-openat-safer.c: New file.
35160
35161         dirent-safer: new module
35162         * modules/dirent-safer: New file.
35163         * lib/dirent--.h: Likewise.
35164         * lib/dirent-safer.h: Likewise.
35165         * lib/opendir-safer.c: Likewise.
35166         * m4/dirent-safer.m4: Likewise.
35167         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
35168         * modules/dirent-safer-tests: New test.
35169         * tests/test-dirent-safer.c: New file.
35170         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
35171
35172         fdopendir: optimize on mingw
35173         * lib/unistd.in.h (_gl_directory_name): New prototype.
35174         * lib/fchdir.c (_gl_directory_name): Implement it.
35175         (fchdir): Use it to simplify implementation.
35176         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
35177         fchdir, when available, to avoid calling [f]chdir().
35178
35179         fdopendir: split into its own module
35180         * lib/openat.c (fdopendir): Move...
35181         * lib/fdopendir.c: ...into new file.
35182         * modules/fdopendir: New module.
35183         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
35184         * modules/openat (Depends-on): Add fdopendir.
35185         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
35186         fdopendir here.
35187         * modules/savedir (Depends-on): Only need fdopendir, not full
35188         openat.
35189         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
35190         * lib/openat.h (fdopendir): Drop prototype.
35191         * lib/dirent.in.h (fdopendir): Provide prototype.
35192         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
35193         * modules/dirent (Makefile.am): Substitute them.
35194         * MODULES.html.sh (File system functions): Mention it.
35195         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
35196         * modules/fdopendir-tests: New file.
35197         * tests/test-fdopendir.c: Likewise.
35198
35199         fchdir: use more consistent macro convention
35200         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
35201         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
35202         REPLACE_FCHDIR, rather than relying on config.h macros.
35203         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
35204         inside a single make-time REPLACE_FCHDIR block, rather than using
35205         the config.h FCHDIR_REPLACEMENT.
35206         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
35207         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
35208         Manage fstat replacement.
35209         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
35210         REPLACE_FCHDIR.
35211         * modules/sys_stat (Files): Add m4/unistd_h.m4.
35212         (Makefile.am): Substitute REPLACE_FCHDIR.
35213         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
35214         FCHDIR_REPLACEMENT.
35215         * lib/dup-safer.c (dup_safer): Likewise.
35216         * lib/dup2.c (rpl_dup2): Likewise.
35217         * lib/dup3.c (rpl_dup3): Likewise.
35218         * lib/open.c (rpl_open): Likewise.
35219
35220         fchdir: simplify error handling, and support dup3
35221         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
35222         stdbool, malloc-posix, realloc-posix.
35223         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
35224         (ensure_dirs_slot): Return false on allocation failure.
35225         (rpl_dup2): Delete.
35226         (_gl_register_dup): New function.
35227         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
35228         (_gl_register_fd): Close fd on allocation failure.
35229         * lib/fcntl.in.h (_gl_register_fd): Update signature.
35230         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
35231         prototype.
35232         (rpl_dup2_fchdir): Delete prototype.
35233         * lib/open.c (open): Update caller.
35234         * lib/dup2.c (dup2): Track fchdir metadata.
35235         * lib/dup3.c (dup3): Likewise.
35236         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
35237         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
35238
35239 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35240
35241         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
35242         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
35243         don't pass arguments to AC_OUTPUT.
35244
35245 2009-09-02  Bruno Haible  <bruno@clisp.org>
35246
35247         * modules/mkdtemp (License): Relicense under LGPLv2+.
35248         Reported by Paolo Bonzini.
35249
35250 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35251
35252         Replace uses of obsolete autoconf macros in Jim's modules.
35253         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
35254         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
35255         can evoke a warning from autoconf when run with -Wobsolete
35256         enabled.  They were declared obsolete for good reasons (see
35257         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
35258         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
35259         should not continue using the deprecated macros.
35260         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
35261         obsolete Autoconf macros with modern counterparts.
35262         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
35263         * m4/dos.m4 (gl_AC_DOS): Likewise.
35264         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
35265         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
35266         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
35267         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
35268         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
35269         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
35270         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
35271         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
35272         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
35273         Likewise.
35274         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
35275         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
35276         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
35277         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
35278         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
35279         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
35280
35281 2009-09-01  Eric Blake  <ebb9@byu.net>
35282
35283         fchdir: fix off-by-one bug in previous patch
35284         * lib/fchdir.c (rpl_fstat): Use correct bounds.
35285         (_gl_unregister_fd): Delete useless if.
35286
35287 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
35288
35289         maint.mk: sort the list of syntax-check rules
35290         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
35291         easier to get a sense of progress when the rules are run sequentially
35292         and take a long time.
35293
35294 2009-09-01  Simon Josefsson  <simon@josefsson.org>
35295
35296         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
35297         * modules/netinet_in: Likewise.
35298         * modules/sys_file: Likewise.
35299         * modules/sys_ioctl: Likewise.
35300         * modules/sys_select: Likewise.
35301         * modules/sys_socket: Likewise.
35302         * modules/sys_stat: Likewise.
35303         * modules/sys_time: Likewise.
35304         * modules/sys_times: Likewise.
35305         * modules/sys_utsname: Likewise.
35306         * modules/sys_wait: Likewise.
35307
35308 2009-09-01  Jim Meyering  <meyering@redhat.com>
35309
35310         fts: help ensure that return values are not ignored
35311         * lib/fts_.h (__GNUC_PREREQ): Define.
35312         (__attribute_warn_unused_result__): Define.
35313         (fts_children, fts_close, fts_open, fts_read): Declare with
35314         __attribute_warn_unused_result__.
35315
35316         fts: fts_close now fails also when closing a dir file descriptor fails
35317         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
35318         and propagate to caller, along with errno.
35319
35320         announce-gen: correct formatting in --help output
35321         * build-aux/announce-gen (usage): Move the one-line description in
35322         --help output "up", to where it belongs, just after Usage:.
35323
35324 2009-08-31  Eric Blake  <ebb9@byu.net>
35325
35326         fchdir: port to mingw
35327         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
35328         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
35329         opened, then use a substitute.
35330         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
35331         replacement.
35332         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
35333         (_gl_register_fd): No need to check stat if open already filters
35334         all directories.
35335         (fchdir): Fix error condition to match POSIX.
35336         * modules/fchdir (Depends-on): Add sys_stat.
35337         * doc/posix-functions/open.texi (open): Document the limitation.
35338         * modules/fchdir-tests: New file.
35339         * tests/test-fchdir.c: Likewise.
35340
35341         canonicalize: allow cross-testing from cygwin to mingw
35342         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
35343         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
35344         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
35345         Likewise.
35346         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
35347         target does not support symlinks.
35348         * tests/test-canonicalize-lgpl.sh: Likewise.
35349
35350         chown: avoid compilation warning on mingw
35351         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
35352         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
35353         mingw.
35354         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35355         * modules/chown (Depends-on): Add errno.
35356
35357 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
35358
35359         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
35360         command.
35361
35362 2009-08-31  Jim Meyering  <meyering@redhat.com>
35363
35364         canonicalize: remove useless initialization
35365         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
35366         initialization of local, "end".
35367
35368 2009-08-30  Bruno Haible  <bruno@clisp.org>
35369
35370         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
35371         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
35372         ENOSYS.
35373
35374 2009-08-30  Bruno Haible  <bruno@clisp.org>
35375
35376         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
35377         /usr/xpg4/bin/tr when it exists.
35378         * tests/test-pipe-filter-gi1.sh: Likewise.
35379
35380 2009-08-30  Bruno Haible  <bruno@clisp.org>
35381
35382         Work around deficient /usr/bin/id program on Solaris.
35383         * tests/test-file-has-acl.sh (ID): New variable.
35384         * tests/test-set-mode-acl.sh (ID): Likewise.
35385         * tests/test-copy-acl.sh (ID): Likewise.
35386         * tests/test-copy-file.sh (ID): Likewise.
35387
35388 2009-08-30  Bruno Haible  <bruno@clisp.org>
35389
35390         New module 'xstriconveh'.
35391         * lib/xstriconveh.h: New file.
35392         * lib/xstriconveh.c: New file.
35393         * modules/xstriconveh: New file.
35394
35395 2009-08-30  Bruno Haible  <bruno@clisp.org>
35396
35397         Make it easier to use mem_cd_iconveh.
35398         * lib/striconveh.h (iconveh_t): New type.
35399         (iconveh_open, iconveh_close): New declarations.
35400         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35401         with a single 'const iconveh_t *' argument.
35402         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
35403         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35404         with a single 'const iconveh_t *' argument.
35405         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
35406         * tests/test-striconveh.c (main): Update.
35407         * NEWS: Mention the change.
35408
35409 2009-08-30  Bruno Haible  <bruno@clisp.org>
35410
35411         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
35412         problem.
35413
35414 2009-08-30  Bruno Haible  <bruno@clisp.org>
35415
35416         Work around iconv_open problem on Solaris.
35417         * lib/iconv_open-solaris.gperf: New file.
35418         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
35419         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
35420         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
35421         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
35422         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
35423         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
35424
35425 2009-08-29  Jim Meyering  <meyering@redhat.com>
35426
35427         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
35428         * top/maint.mk (cvs-check): Remove target; it was just an alias
35429         to the better-named vc-diff-check.
35430         (maintainer-distcheck): Remove rule.  It was used only from
35431         the (alpha/beta/major) target, and all of its commands but one
35432         were coreutils-specific.
35433         (vc-dist): Remove rule.
35434         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
35435         Run vc-diff-check, not vc-dist.
35436         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
35437
35438 2009-08-27  Bruno Haible  <bruno@clisp.org>
35439
35440         * tests/test-bitrotate.c (main): Remove test that uses a shift count
35441         of 0.
35442
35443 2009-08-27  Bruno Haible  <bruno@clisp.org>
35444
35445         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
35446         compilers.
35447         * doc/func.texi: Document the SunPRO C bug.
35448
35449 2009-08-27  Bruno Haible  <bruno@clisp.org>
35450
35451         Fix link error on Solaris.
35452         * tests/test-parse-duration.c (xstrdup): Remove function.
35453
35454 2009-08-26  Pádraig Brady  <P@draigbrady.com>
35455
35456         ignore-value: handle pointer types, too
35457         * lib/ignore-value.h (__attribute__): Remove definition.
35458         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
35459         of a more concise and more-often effective "(void) i" statement.
35460         (ignore_ptr): New function to suppress warnings from functions that
35461         return pointers, and to make it explicit that one function doesn't
35462         handle all cases.
35463
35464 2009-08-25  Bruno Haible  <bruno@clisp.org>
35465
35466         dup2: work around a Linux bug.
35467         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
35468         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
35469         * doc/posix-functions/dup2.texi: Mention the Linux bug.
35470         Reported by Simon Josefsson.
35471
35472 2009-08-25  Jim Meyering  <meyering@redhat.com>
35473
35474         libguestfs uses gnulib
35475         * users.txt: Add libguestfs.
35476
35477 2009-08-24  Eric Blake  <ebb9@byu.net>
35478
35479         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
35480         * lib/pipe2.c (includes): Add binary-io.h.
35481         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
35482
35483 2009-08-24  Bruno Haible  <bruno@clisp.org>
35484
35485         Tolerate declared but missing accept4 syscall.
35486         * lib/accept4.c (accept4): Invoke original accept4 function first, if
35487         available.
35488         * lib/sys_socket.in.h (accept4): If the function is already present,
35489         override it.
35490         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
35491         * modules/accept4 (Makefile.am): Compile accept4.c always.
35492         Reported by Paolo Bonzini and Eric Blake.
35493
35494 2009-08-23  Bruno Haible  <bruno@clisp.org>
35495
35496         New module 'accept4'.
35497         * lib/sys_socket.in.h (accept4): New declaration.
35498         * lib/accept4.c: New file.
35499         * m4/accept4.m4: New file.
35500         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
35501         GNULIB_ACCEPT4, HAVE_ACCEPT4.
35502         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
35503         HAVE_ACCEPT4.
35504         * modules/accept4: New file.
35505         * doc/glibc-functions/accept4.texi: Mention the new module.
35506
35507 2009-08-24  Jim Meyering  <meyering@redhat.com>
35508
35509         progname: also set global program_invocation_name, when possible
35510         Before this change, a libtool-enabled program that calls glibc's
35511         error function would report the program name as
35512         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
35513         * modules/progname (configure.ac): Check for a declaration of
35514         program_invocation_name.
35515         * lib/progname.c:  Include <errno.h>.
35516         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
35517         Set program_invocation_name.
35518
35519 2009-08-23  Bruno Haible  <bruno@clisp.org>
35520
35521         * lib/dup3.c: Include <string.h>.
35522
35523 2009-08-23  Bruno Haible  <bruno@clisp.org>
35524
35525         * lib/dup3.c (dup3): Test only once whether the system actually exists.
35526         * lib/pipe2.c (pipe2): Likewise.
35527         Suggested by Eric Blake.
35528
35529 2009-08-23  Bruno Haible  <bruno@clisp.org>
35530
35531         Tolerate declared but missing dup3 syscall.
35532         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
35533         * lib/unistd.in.h (dup3): If the function is already present,
35534         override it.
35535         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
35536         * modules/dup3 (Makefile.am): Compile dup3.c always.
35537         Reported by Paolo Bonzini.
35538
35539 2009-08-23  Bruno Haible  <bruno@clisp.org>
35540
35541         Tolerate declared but missing pipe2 syscall.
35542         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
35543         available.
35544         * lib/unistd.in.h (pipe2): If the function is already present,
35545         override it.
35546         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
35547         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
35548         Reported by Paolo Bonzini.
35549
35550 2009-08-23  Bruno Haible  <bruno@clisp.org>
35551
35552         * lib/pipe2.c (pipe2): Move #ifs inside function.
35553
35554 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35555
35556         quotearg: document limitations of quote_these_too
35557         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
35558         those limitations are created.
35559         * lib/quotearg.h (set_char_quoting): Document that digits and
35560         letters that are special after backslash are not permitted.
35561         (quotearg_char): Cross-reference set_char_quoting documentation.
35562
35563 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
35564
35565         quotearg: implement custom_quoting_style
35566         * lib/quotearg.c: (struct quoting_options): Add left_quote and
35567         right_quote fields.
35568         (set_custom_quoting): New public function.
35569         (quotearg_buffer_restyled): Add left_quote and right_quote
35570         arguments, handle them very much like locale quoting, and update
35571         all uses.
35572         (quotearg_n_custom): New public function.
35573         (quotearg_n_custom_mem): New public function.
35574         (quotearg_custom): New public function.
35575         (quotearg_custom_mem): New public function.
35576         * lib/quotearg.h: Prototype and document new public functions.
35577         (enum quoting_style): For escape_quoting_style and
35578         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
35579         ignored even though they're otherwise like c_quoting_style.
35580         Add custom_quoting_style member and document with comparison to
35581         clocale_quoting_style.
35582         * tests/test-quotearg.c (custom_quotes): New array.
35583         (custom_results): New array.
35584         (main): Extend to test custom quoting.
35585
35586 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35587
35588         quotearg: fix right quote escaping when it's in quote_these_too
35589         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
35590         quote, be sure to prepend only one backslash.
35591         * tests/test-quotearg.c (use_quote_double_quotes): New function.
35592         (main): Test it.
35593
35594 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35595
35596         quotearg-tests: test escaping of embedded locale quotes
35597         * tests/test-quotearg.c (struct result_strings): Add member for
35598         new input.
35599         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
35600         (inputs): Add new input.
35601         (results_g): Add expected results.
35602         (flag_results): Likewise.
35603         (locale_results): Likewise.
35604         (compare_strings): Check those.
35605
35606 2009-08-23  Bruno Haible  <bruno@clisp.org>
35607
35608         Tests for module 'dup3'.
35609         * modules/dup3-tests: New file.
35610         * tests/test-dup3.c: New file.
35611
35612         New module 'dup3'.
35613         * lib/unistd.in.h (dup3): New declaration.
35614         * lib/dup3.c: New file.
35615         * m4/dup3.m4: New file.
35616         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
35617         HAVE_DUP3.
35618         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
35619         * modules/dup3: New file.
35620         * doc/glibc-functions/dup3.texi: Mention the new module.
35621
35622 2009-08-23  Bruno Haible  <bruno@clisp.org>
35623
35624         Tweak the dup2 test.
35625         * tests/test-dup2.c (main): Create the test file empty. Verify that an
35626         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
35627         the test file is still empty. Fix argument order of lseek.
35628
35629 2009-08-23  Bruno Haible  <bruno@clisp.org>
35630
35631         Avoid test link errors when the modules getopt-gnu, gettext are used.
35632         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
35633         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35634
35635 2009-08-23  Bruno Haible  <bruno@clisp.org>
35636
35637         Fix getdtablesize() on mingw.
35638         * lib/getdtablesize.c (getdtablesize): Implement differently.
35639         * lib/unistd.in.h (getdtablesize): Improve comment.
35640
35641 2009-08-23  Bruno Haible  <bruno@clisp.org>
35642
35643         New module 'mkostemp'.
35644         Based on Ulrich Drepper's 2007-08-10 change in glibc.
35645         * lib/stdlib.in.h (mksotemp): New declaration.
35646         * lib/mkostemp.c: New file, from glibc with modifications.
35647         * lib/tempname.h (GT_FILE): Remove outdated comment.
35648         (gen_tempname): Add flags argument.
35649         * lib/tempname.c (__GT_BIGFILE): Remove macro.
35650         (__GT_FILE): Map to 1.
35651         (small_open, large_open): Remove macros.
35652         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
35653         * lib/mkstemp.c (mkstemp): Update.
35654         * lib/mkdtemp.c (mkdtemp): Likewise.
35655         * m4/mkostemp.m4: New file.
35656         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
35657         HAVE_MKOSTEMP.
35658         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
35659         HAVE_MKOSTEMP.
35660         * modules/mkostemp: New file, based on modules/mkstemp.
35661         * doc/glibc-functions/mkostemp.texi: Mention the new module.
35662         * NEWS: Mention the change.
35663
35664 2009-08-23  Bruno Haible  <bruno@clisp.org>
35665
35666         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
35667         Reported by Eric Blake.
35668
35669 2009-08-23  Bruno Haible  <bruno@clisp.org>
35670
35671         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
35672         Reported by Eric Blake.
35673
35674 2009-08-23  Bruno Haible  <bruno@clisp.org>
35675
35676         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
35677         * modules/pipe2 (Depends-on): Likewise.
35678
35679 2009-08-23  Eric Blake  <ebb9@byu.net>
35680
35681         fcntl-h: add O_TTY_INIT support
35682         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
35683         * tests/test-fcntl-h.c (o): Test it.
35684         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35685
35686         fcntl-h: rename from fcntl, in preparation for fcntl(2)
35687         * modules/fcntl: Move <fcntl.h> header replacement...
35688         * modules/fcntl-h: ...to new name, so as not to collide with
35689         like-named function.
35690         * tests/test-fcntl.c: Rename...
35691         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
35692         * modules/fcntl-tests: Rename...
35693         * modules/fcntl-h-tests: ...to this.  Update test file name.
35694         * modules/chdir-long (Depends-on): Update clients.
35695         * modules/chdir-safer (Depends-on): Likewise.
35696         * modules/fcntl-safer (Depends-on): Likewise.
35697         * modules/fts (Depends-on): Likewise.
35698         * modules/mkancesdirs (Depends-on): Likewise.
35699         * modules/mkdir-p (Depends-on): Likewise.
35700         * modules/open (Depends-on): Likewise.
35701         * modules/savewd (Depends-on): Likewise.
35702         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
35703         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35704
35705 2009-08-22  Bruno Haible  <bruno@clisp.org>
35706
35707         * modules/binary-io (License): Relicense under LGPL.
35708         * modules/pipe2 (License): Likewise.
35709
35710 2009-08-22  Bruno Haible  <bruno@clisp.org>
35711
35712         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
35713         return value.
35714         * lib/pipe-filter-gi.c (filter_init): Likewise.
35715         Reported by Eric Blake.
35716
35717 2009-08-22  Bruno Haible  <bruno@clisp.org>
35718
35719         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
35720         * modules/pipe (Depends-on): Add pipe2.
35721
35722 2009-08-22  Bruno Haible  <bruno@clisp.org>
35723
35724         Tests for module 'pipe2'.
35725         * modules/pipe2-tests: New file.
35726         * tests/test-pipe2.c: New file.
35727
35728         New module 'pipe2'.
35729         * lib/unistd.in.h (pipe2): New declaration.
35730         * lib/pipe2.c: New file.
35731         * m4/pipe2.m4: New file.
35732         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
35733         HAVE_PIPE2.
35734         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
35735         * modules/pipe2: New file.
35736         * doc/glibc-functions/pipe2.texi: Mention the new module.
35737
35738 2009-08-22  Bruno Haible  <bruno@clisp.org>
35739
35740         Reference some new glibc functions.
35741         * doc/glibc-functions/accept4.texi: New file.
35742         * doc/glibc-functions/dup3.texi: New file.
35743         * doc/glibc-functions/mkostemp.texi: New file.
35744         * doc/glibc-functions/pipe2.texi: New file.
35745         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
35746         (Glibc sys/socket.h): Refer to accept4.
35747         (Glibc unistd.h): Refer to dup3, pipe2.
35748         Reported by Eric Blake.
35749
35750 2009-08-22  Jim Meyering  <meyering@redhat.com>
35751             Bruno Haible  <bruno@clisp.org>
35752
35753         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
35754         This makes it so packages using automake-1.11's silent-rules option
35755         can print e.g., a single "GEN    configmake.h" line, rather than
35756         the 30+ statements that perform the job.  If you want to see the
35757         actual commands, you can still run "make V=1".
35758         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
35759         so that make output is abbreviated when those variables are defined
35760         appropriately.
35761         * modules/argz: Likewise.
35762         * modules/arpa_inet: Likewise.
35763         * modules/byteswap: Likewise.
35764         * modules/configmake: Likewise.
35765         * modules/dirent: Likewise.
35766         * modules/errno: Likewise.
35767         * modules/fcntl: Likewise.
35768         * modules/float: Likewise.
35769         * modules/fnmatch: Likewise.
35770         * modules/getopt-posix: Likewise.
35771         * modules/glob: Likewise.
35772         * modules/iconv_open: Likewise.
35773         * modules/inttypes: Likewise.
35774         * modules/localcharset: Likewise.
35775         * modules/locale: Likewise.
35776         * modules/math: Likewise.
35777         * modules/netdb: Likewise.
35778         * modules/netinet_in: Likewise.
35779         * modules/poll: Likewise.
35780         * modules/posix_spawnp-tests: Likewise.
35781         * modules/sched: Likewise.
35782         * modules/search: Likewise.
35783         * modules/selinux-h: Likewise.
35784         * modules/signal: Likewise.
35785         * modules/spawn: Likewise.
35786         * modules/stdarg: Likewise.
35787         * modules/stdbool: Likewise.
35788         * modules/stddef: Likewise.
35789         * modules/stdint: Likewise.
35790         * modules/stdio: Likewise.
35791         * modules/stdlib: Likewise.
35792         * modules/string: Likewise.
35793         * modules/strings: Likewise.
35794         * modules/sys_file: Likewise.
35795         * modules/sys_ioctl: Likewise.
35796         * modules/sys_select: Likewise.
35797         * modules/sys_socket: Likewise.
35798         * modules/sys_stat: Likewise.
35799         * modules/sys_time: Likewise.
35800         * modules/sys_times: Likewise.
35801         * modules/sys_utsname: Likewise.
35802         * modules/sys_wait: Likewise.
35803         * modules/sysexits: Likewise.
35804         * modules/time: Likewise.
35805         * modules/unistd: Likewise.
35806         * modules/wchar: Likewise.
35807         * modules/wctype: Likewise.
35808
35809 2009-08-22  Jim Meyering  <meyering@redhat.com>
35810
35811         announce-gen: detect write failure
35812         * build-aux/announce-gen: Add Coda at end.
35813         Remove equivalent-but-more-verbose block at top.
35814
35815 2009-08-19  Akim Demaille  <demaille@gostai.com>
35816
35817         bootstrap: --help to stdout.
35818         * bootstrap (usage): Don't send --help to stderr.
35819         Use a here doc instead of a long string.
35820
35821 2009-08-21  Eric Blake  <ebb9@byu.net>
35822
35823         test-popen-safer: split from test-popen
35824         * tests/test-popen.c (main): Move...
35825         * tests/test-popen.h: ...into new file.
35826         * tests/test-popen-safer2.c: New file.
35827         * modules/popen-tests (Files): Add test-popen.h.
35828         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
35829         Suggested by Bruno Haible.
35830
35831         test-fcntl-safer: split from test-open
35832         * tests/test-open.c (main): Move...
35833         * tests/test-open.h: ...into new file.
35834         * tests/test-fcntl-safer.c: New file.
35835         * modules/open-tests (Files): Add test-open.h.
35836         * modules/fcntl-safer-tests: New file.
35837         Suggested by Bruno Haible.
35838
35839         test-fopen-safer: split from test-fopen
35840         * tests/test-fopen.c (main): Move...
35841         * tests/test-fopen.h: ...into new file.
35842         * tests/test-fopen-safer.c: New file.
35843         * modules/fopen-tests (Files): Add test-fopen.h.
35844         * modules/fopen-safer-tests: New file.
35845         Suggested by Bruno Haible.
35846
35847 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
35848
35849         popen-safer: test O_CLOEXEC at run-time.
35850         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
35851
35852 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
35853
35854         fcntl: move more flags to the header
35855         * lib/cloexec.c: Do not define FD_CLOEXEC here.
35856         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
35857         * lib/fcntl.in.h: Do both things here.
35858
35859 2009-08-21  Jim Meyering  <meyering@redhat.com>
35860
35861         consistently remove $@-t before redirecting to it
35862         * modules/argz: Remove $@-t and $@ before redirecting to the former.
35863         * modules/alloca-opt: Likewise.
35864         * modules/byteswap: Likewise.
35865         * modules/fnmatch: Likewise.
35866         * modules/getopt-posix: Likewise.
35867         * modules/glob: Likewise.
35868         * modules/poll: Likewise.
35869         * modules/posix_spawnp-tests: Likewise.
35870         * modules/sys_socket: Likewise.
35871         * modules/sysexits: Likewise.
35872
35873 2009-08-21  Eric Blake  <ebb9@byu.net>
35874
35875         popen: simplify access to original popen
35876         * lib/popen.c (rpl_popen): No need to worry about popen being a
35877         macro.
35878         Reported by Bruno Haible.
35879
35880 2009-08-20  Eric Blake  <ebb9@byu.net>
35881
35882         build: avoid some compiler warnings
35883         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
35884         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
35885         type.
35886         (new_exclude_segment, excluded_file_pattern_p)
35887         (excluded_file_name_p): Reduce scope.
35888         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
35889         old-style declaration.
35890
35891 2009-08-20  Simon Josefsson  <simon@josefsson.org>
35892
35893         * tests/test-exclude1.sh: Handle Windows EOL.
35894         * tests/test-exclude2.sh: Likewise.
35895         * tests/test-exclude3.sh: Likewise.
35896         * tests/test-exclude4.sh: Likewise.
35897         * tests/test-exclude5.sh: Likewise.
35898         * tests/test-exclude6.sh: Likewise.
35899         * tests/test-exclude7.sh: Likewise.
35900
35901 2009-08-19  Akim Demaille  <demaille@gostai.com>
35902
35903         bootstrap: find sha1sum when named gsha1sum.
35904         * bootstrap (find_tool): New.
35905         ($SHA1SUM): New.
35906         Use it.
35907
35908 2009-08-20  Jim Meyering  <meyering@redhat.com>
35909
35910         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
35911         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
35912         expression that converts "." in a file name to "\." in the resulting
35913         regexp.  Start with a dummy statement, so that prior shell variable
35914         definitions are expanded portably.  Reported by Simon Josefsson.
35915
35916 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
35917
35918         Fix polling for writeability of a screen buffer.
35919         * lib/poll.c: Distinguish input and screen buffers for the
35920         Win32 implementation.
35921         * lib/select.c: Likewise.
35922
35923 2009-08-19  Eric Blake  <ebb9@byu.net>
35924
35925         popen-safer: prevent popen from clobbering std descriptors
35926         * modules/popen-safer: New file.
35927         * lib/popen-safer.c: Likewise.
35928         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
35929         * lib/stdio--.h (popen): Provide override.
35930         * lib/stdio-safer.h (popen_safer): Provide declaration.
35931         * tests/test-popen.c (includes): Partially test this.
35932         * modules/popen-safer-tests: New file, for more tests.
35933         * tests/test-popen-safer.c: Likewise.
35934         * MODULES.html.sh (file stream based Input/Output): Mention it.
35935
35936         tests: test some of the *-safer modules
35937         * modules/fopen-safer (Depends-on): Add fopen.
35938         * modules/fcntl-safer (Depends-on): Add fcntl.
35939         * modules/stdlib-safer (Depends-on): Add stdlib.
35940         (configure.ac): Set indicator.
35941         * modules/unistd-safer (configure.ac): Likewise.
35942         * modules/tmpfile-safer (configure.ac): Likewise.
35943         (Depends-on): Add tmpfile.
35944         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
35945         active.
35946         * tests/test-fopen.c (includes): Test safer versions when they are
35947         in use.
35948         * tests/test-open.c (includes): Likewise.
35949
35950         popen: fix cygwin 1.5 bug when stdin closed
35951         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
35952         * modules/popen: New file.
35953         * modules/popen-tests: Likewise.
35954         * tests/test-popen.c: Likewise.
35955         * m4/popen.m4: Likewise.
35956         * lib/popen.c: Likewise.
35957         * lib/stdio.in.h (popen): New declaration.
35958         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
35959         * modules/stdio (Makefile.am): Likewise.
35960         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
35961
35962 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
35963
35964         maint.mk: give full control over update-copyright exclusions
35965         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
35966         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
35967         (update-copyright): Don't force inclusion of top-level
35968         ChangeLog.  Don't force exclusion of all COPYING files, but make
35969         them the default exclusion instead.
35970
35971 2009-08-16  Bruno Haible  <bruno@clisp.org>
35972
35973         Fix test failures on Solaris 10.
35974         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
35975         tests when Solaris iconv() is used.
35976         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
35977         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
35978         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
35979         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
35980         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
35981
35982 2009-08-16  Bruno Haible  <bruno@clisp.org>
35983
35984         Fix test failures on Solaris 10.
35985         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
35986         'tr' program and pass it as first argument.
35987         * tests/test-pipe-filter-gi1.sh: Likewise.
35988         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
35989         program as first argument.
35990         * tests/test-pipe-filter-gi1.c (main): Likewise.
35991
35992 2009-08-16  Eric Blake  <ebb9@byu.net>
35993
35994         fpurge: fix previous commits
35995         * modules/fpurge (Makefile.am): Make replacement conditional,
35996         partially reverting 2007-04-29 change; missed in previous
35997         attempt.
35998         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
35999         is missing.
36000
36001 2009-08-16  Bruno Haible  <bruno@clisp.org>
36002
36003         Clarify fpurge's effect on the file position.
36004         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
36005         * tests/test-fpurge.c (main): Make a second pass for checking the file
36006         position.
36007
36008 2009-08-16  Bruno Haible  <bruno@clisp.org>
36009
36010         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
36011         declaration of fpurge is missing.
36012         * tests/test-fpurge.c (main): Check that the file has not more contents
36013         than expected. Close the file before removing it.
36014
36015 2009-08-15  Eric Blake  <ebb9@byu.net>
36016
36017         fpurge: don't wrap working cygwin implementation
36018         * lib/fpurge.c (fpurge): Fix comment typo.
36019         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
36020         1.7 to avoid replacement.
36021         * tests/test-fpurge.c (main): Enhance test.
36022
36023 2009-08-15  Eric Blake  <ebb9@byu.net>
36024         and Jim Meyering  <meyering@redhat.com>
36025
36026         test-update-copyright: skip if perl is insufficient
36027         * tests/test-update-copyright.sh: Failure to run maintainer tool
36028         should not cause testsuite failure on cygwin 1.5.
36029
36030 2009-08-14  Eric Blake  <ebb9@byu.net>
36031
36032         doc: mention more functions added in cygwin 1.7.0
36033         * doc/posix-headers/limits.texi (limits.h): Update for recent
36034         cygwin additions.
36035         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
36036         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
36037         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
36038         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
36039         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
36040
36041 2009-08-14  Eric Blake  <ebb9@byu.net>
36042
36043         maint.mk: simplify update-copyright rule
36044         * top/maint.mk (update-copyright-local): Delete, and document how
36045         to do it in cfg.mk instead.
36046         (update-copyright-exclude-regexp): Delete, and document how to do
36047         it in .x-update-copyright instead.
36048         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
36049         exclude ChangeLog.
36050
36051 2009-08-14  Bruno Haible  <bruno@clisp.org>
36052
36053         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
36054
36055 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36056
36057         maint.mk: support update-copyright-env
36058         * top/maint.mk (update-copyright-env): Define place-holder.
36059         (update-copyright): Expand $(update-copyright-env) before
36060         invoking update-copyright.
36061
36062 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36063
36064         update-copyright: implement forced reformatting
36065         * build-aux/update-copyright: Implement and document
36066         UPDATE_COPYRIGHT_FORCE.
36067         * tests/test-update-copyright.sh: Test it.
36068
36069 2009-08-14  Eric Blake  <ebb9@byu.net>
36070         and Bruno Haible  <bruno@clisp.org>
36071
36072         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
36073         * tests/test-locale.c: Revert previous patch related to NULL.
36074         * tests/test-stdio.c: Likewise.
36075         * tests/test-stdlib.c: Likewise.
36076         * tests/test-string.c: Likewise.
36077         * tests/test-unistd.c: Likewise.
36078         * modules/time-tests (Depends-on): Add verify.
36079         * modules/wchar-tests (Depends-on): Likewise.
36080         * tests/test-time.c: Test for NULL compliance.
36081         * tests/test-wchar.c: Likewise.
36082         * modules/locale (Depends-on): Add stddef.
36083         * modules/stdio (Depends-on): Likewise.
36084         * modules/stdlib (Depends-on): Likewise.
36085         * modules/string (Depends-on): Likewise.
36086         * modules/time (Depends-on): Likewise.
36087         * modules/unistd (Depends-on): Likewise.
36088         * modules/wchar (Depends-on): Likewise.
36089         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
36090         * lib/stdlib.in.h (includes): Likewise.
36091         * lib/string.in.h (includes): Likewise.
36092         * lib/time.in.h (includes): Likewise.
36093         * lib/unistd.in.h (includes): Likewise.
36094         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
36095         replaced.
36096         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36097         * m4/stddef_h.m4: New file.
36098         * modules/stddef: Likewise.
36099         * lib/stddef.in.h: Likewise.
36100         * modules/stddef-tests: Likewise.
36101         * tests/test-stddef.c: Likewise.
36102         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
36103         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
36104         * doc/posix-headers/locale.texi (locale.h): Likewise.
36105         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
36106         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
36107         * doc/posix-headers/string.texi (string.h): Likewise.
36108         * doc/posix-headers/time.texi (time.h): Likewise.
36109         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
36110         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
36111
36112 2009-08-14  Eric Blake  <ebb9@byu.net>
36113
36114         doc: improve git diff of texinfo files
36115         * .gitattributes: Add rule for *.texi files, with hint on how to
36116         use it.
36117         Copied from m4, and based on a report by Bruno Haible.
36118
36119 2009-08-14  Bruno Haible  <bruno@clisp.org>
36120
36121         Disable multithread support by default on Cygwin 1.5.x for real.
36122         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
36123
36124 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36125
36126         update-copyright: much ado about intervals
36127         * build-aux/update-copyright: Implement and document
36128         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
36129         of copyright year intervals.
36130         Also, document UPDATE_COPYRIGHT_YEAR.
36131         * tests/test-update-copyright.sh: Test it.
36132
36133         update-copyright: convert 2-digit to 4-digit years
36134         * build-aux/update-copyright: Implement and document.
36135         * tests/test-update-copyright.sh: Update.
36136
36137 2009-08-14  Jim Meyering  <meyering@redhat.com>
36138
36139         test-exclude: avoid coreutils "make check" failure
36140         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
36141         just as in test-argmatch.c.
36142
36143 2009-08-13  Eric Blake  <ebb9@byu.net>
36144
36145         test-dup2: fix bad assumption
36146         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
36147         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
36148
36149         test-version-etc: fix CRLF portability issue
36150         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
36151         recognize \r.
36152         * tests/test-argp-version-etc-1.sh: Likewise.
36153
36154         getopt: update client modules
36155         * modules/argp (Depends-on): Use getopt-gnu.
36156         * modules/git-merge-changelog (Depends-on): Likewise.
36157         * modules/long-options (Depends-on): Likewise.
36158         * modules/xstrtol (Depends-on): Likewise.
36159
36160 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36161
36162         * tests/test-version-etc.sh: Don't fail on different
36163         project/version.  Don't fail on CRLF differences.  Rewrite to use
36164         multiple -e instead of multiple sed forks, suggested by Eric Blake
36165         <ebb9@byu.net>.
36166         * tests/test-argp-version-etc-1.sh: Likewise.
36167
36168 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36169
36170         * tests/test-version-etc.sh: Don't fail on different
36171         project/version.
36172
36173 2009-08-12  Bruno Haible  <bruno@clisp.org>
36174
36175         Tests for modules 'getopt-posix', 'getopt-gnu'.
36176         * modules/getopt-posix-tests: New file.
36177         * tests/test-getopt.c: New file.
36178         * tests/test-getopt.h: New file.
36179         * tests/test-getopt_long.h: New file.
36180
36181         New modules 'getopt-posix', 'getopt-gnu'.
36182         * modules/getopt-gnu: New file, renamed from modules/getopt.
36183         * modules/getopt-posix: New file.
36184         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
36185         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
36186         (gl_GETOPT): Remove macro.
36187         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
36188         Disable the test against BSD systems that declare optreset. Test
36189         against mingw bug. Test against lack of support of optional arguments
36190         on many platforms.
36191         * doc/glibc-headers/getopt.texi: Update module name and list of
36192         relevant platforms.
36193         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
36194         'getopt-gnu' and more portability problems.
36195         * NEWS: Mention the changes.
36196
36197 2009-08-12  Bruno Haible  <bruno@clisp.org>
36198
36199         Ensure that optarg etc. get declared by <unistd.h>.
36200         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
36201         AC_USE_SYSTEM_EXTENSIONS.
36202         * modules/getopt (Depends-on): Add 'extensions'.
36203
36204 2009-08-12  Bruno Haible  <bruno@clisp.org>
36205
36206         Avoid test link errors.
36207         * modules/pipe-filter-ii-tests (Makefile.am): Define
36208         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
36209         * modules/pipe-filter-gi-tests (Makefile.am): Define
36210         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
36211         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36212
36213 2009-08-12  Bruno Haible  <bruno@clisp.org>
36214
36215         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
36216         gl_GETOPT_SUBSTITUTE before.
36217         (gl_GETOPT): Use it.
36218         * m4/argp.m4 (gl_ARGP): Update.
36219         Reported by Sergey Poznyakoff.
36220
36221         * m4/getopt.m4: Reorder macros.
36222         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
36223         (gl_GETOPT_SUBSTITUTE): Remove macro.
36224
36225 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36226
36227         Minor improvement in gitlog-to-changelog
36228
36229         * build-aux/gitlog-to-changelog: New option `--format' makes
36230         output format string configurable.
36231
36232 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36233
36234         Optimize exclude: use hash tables for non-wildcard patterns.
36235
36236         * lib/exclude.c: Include hash.h and mbuiter.h
36237         (struct exclude_pattern, exclude_segment): New data types.
36238         (struct exclude): Rewrite.
36239         (fnmatch_pattern_has_wildcards): New function.
36240         (new_exclude_segment, free_exclude_segment): New functions.
36241         (excluded_file_pattern_p, excluded_file_name_p): New functions.
36242         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
36243         * lib/exclude.h (is_fnmatch_pattern): New prototype.
36244         * modules/exclude: Depend on hash and mbuiter.
36245
36246         * modules/exclude-tests: New file.
36247         * tests/test-exclude.c: New file.
36248         * tests/test-exclude1.sh: New file.
36249         * tests/test-exclude2.sh: New file.
36250         * tests/test-exclude3.sh: New file.
36251         * tests/test-exclude4.sh: New file.
36252         * tests/test-exclude5.sh: New file.
36253         * tests/test-exclude6.sh: New file.
36254         * tests/test-exclude7.sh: New file.
36255
36256 2009-08-12  Bruno Haible  <bruno@clisp.org>
36257
36258         Ensure that getopt() gets declared by <unistd.h>.
36259         * lib/unistd.in.h: Conditionally include getopt.h.
36260         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
36261         Set GNULIB_UNISTD_H_GETOPT.
36262         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36263         GNULIB_UNISTD_H_GETOPT.
36264         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
36265
36266 2009-08-12  Bruno Haible  <bruno@clisp.org>
36267
36268         Clarify logic.
36269         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
36270         gl_replace_getopt instead of GETOPT_H.
36271
36272 2009-08-12  Bruno Haible  <bruno@clisp.org>
36273
36274         * m4/getopt.m4: Add comments.
36275
36276 2009-08-12  Bruno Haible  <bruno@clisp.org>
36277
36278         Disable multithread support by default on Cygwin 1.5.x.
36279         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
36280         set gl_use_threads=no if not specified otherwise.
36281
36282 2009-08-11  Bruno Haible  <bruno@clisp.org>
36283
36284         Avoid compilation error on NetBSD 5.0.
36285         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
36286         * tests/test-stdio.c: Likewise.
36287         * tests/test-stdlib.c: Likewise.
36288         * tests/test-string.c: Likewise.
36289         * tests/test-unistd.c: Likewise.
36290         Reported by Greg Troxel <gdt@ir.bbn.com>
36291         at <https://savannah.gnu.org/support/?106973>.
36292
36293 2009-08-11  Bruno Haible  <bruno@clisp.org>
36294
36295         * modules/dup2-tests (Depends-on): Remove close.
36296
36297         Undo 2009-07-19 commit.
36298         * modules/acl-tests (Depends-on): Remove close.
36299         * modules/binary-io-tests (Depends-on): Likewise.
36300         * modules/closein-tests (Depends-on): Likewise.
36301         * modules/flock-tests (Depends-on): Likewise.
36302         * modules/fsync-tests (Depends-on): Likewise.
36303         * modules/lseek-tests (Depends-on): Likewise.
36304         * modules/pipe-tests (Depends-on): Likewise.
36305         * modules/posix_spawn-tests (Depends-on): Likewise.
36306         * modules/posix_spawnp-tests (Depends-on): Likewise.
36307         * modules/stat-time-tests (Depends-on): Likewise.
36308         * modules/yesno-tests (Depends-on): Likewise.
36309
36310 2009-08-10  Bruno Haible  <bruno@clisp.org>
36311
36312         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
36313
36314 2009-08-10  Bruno Haible  <bruno@clisp.org>
36315
36316         Fix a gcc warning.
36317         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
36318
36319 2009-08-10  Bruno Haible  <bruno@clisp.org>
36320
36321         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
36322         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
36323         not only the first time.
36324         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
36325         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
36326         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
36327         is 1, not only the the first time.
36328
36329 2009-08-10  Bruno Haible  <bruno@clisp.org>
36330
36331         Make it possible to use module 'gethostname' without module 'close'.
36332         * lib/unistd.in.h (close): Evoke a link error only if
36333         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36334         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36335         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36336         * modules/unistd (Makefile.am): Substitute
36337         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36338         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
36339         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36340         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
36341         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36342         * modules/sys_ioctl (Makefile.am): Substitute
36343         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36344         * modules/socket (configure.ac): On native Windows, set
36345         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
36346         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36347         Reported by Sam Steingold <sds@gnu.org>.
36348
36349 2009-08-10  Bruno Haible  <bruno@clisp.org>
36350
36351         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
36352         * modules/ioctl (configure.ac): Likewise.
36353
36354 2009-08-10  Bruno Haible  <bruno@clisp.org>
36355
36356         Avoid collision between gnulib wrapper and libintl wrapper.
36357         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
36358         already defined in intl/printf.c.
36359         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
36360         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
36361
36362 2009-08-09  Bruno Haible  <bruno@clisp.org>
36363
36364         Make <sys/select.h> really self-contained, also on Solaris 10.
36365         * lib/sys_select.in.h: Include <string.h>.
36366         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
36367         Solaris 10 problem.
36368         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
36369         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
36370         Reported by Jim Meyering.
36371
36372 2009-08-09  Bruno Haible  <bruno@clisp.org>
36373
36374         Avoid warnings from 'aclocal' that are due to a use of macro name
36375         AM_XGETTEXT_OPTION that is not defined in automake.
36376         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
36377         automake.
36378         * modules/error (configure.ac): Likewise.
36379         * modules/propername (configure.ac): Likewise.
36380         * modules/vasprintf (configure.ac): Likewise.
36381         * modules/verror (configure.ac): Likewise.
36382         * modules/xprintf (configure.ac): Likewise.
36383         * modules/xvasprintf (configure.ac): Likewise.
36384
36385 2009-08-08  Bruno Haible  <bruno@clisp.org>
36386
36387         Avoid compilation error in C++ mode.
36388         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
36389         Reported by Sam Steingold <sds@gnu.org>.
36390
36391 2009-08-08  Bruno Haible  <bruno@clisp.org>
36392
36393         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
36394         for the various Unix platforms.
36395         * doc/posix-headers/limits.texi: Update platforms list regarding
36396         HOST_NAME_MAX.
36397         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36398
36399 2009-08-07  Jim Meyering  <meyering@redhat.com>
36400
36401         selinux-at: fix typo in a comment
36402         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
36403         Spotted by Paolo Bonzini.
36404
36405         selinux-at: remove redundant m4 code, add documentation
36406         * modules/selinux-at (configure.ac): Remove redundant code.
36407         LIB_SELINUX is already set via the dependent module, selinux-h.
36408         (Include): Add quotes around selinux-at.h.
36409         * lib/selinux-at.h: Add documentation.
36410         Reported by Bruno Haible in
36411         http://marc.info/?l=gnulib-bug&m=124958988300749
36412
36413 2009-08-07  Bruno Haible  <bruno@clisp.org>
36414
36415         Avoid link error on MacOS X 10.3 and 10.4.
36416         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
36417         on non-ELF systems.
36418         * lib/argp-pv.c (argp_program_version): Likewise.
36419         Reported by Simon Josefsson.
36420
36421 2009-08-07  Simon Josefsson  <simon@josefsson.org>
36422
36423         * tests/test-version-etc.sh: Use $EXEEXT.
36424
36425 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
36426
36427         update-copyright: update documentation to point to maint.mk
36428         * build-aux/update-copyright: Here.
36429
36430 2009-08-06  Jim Meyering  <meyering@redhat.com>
36431
36432         maint.mk: support update-copyright-local
36433         * top/maint.mk (update-copyright-local): Define place-holder.
36434         (update-copyright): Depend on $(update-copyright-local).
36435
36436 2009-08-06  Jim Meyering  <meyering@redhat.com>
36437
36438         selinux-at: new module
36439         Initially written for coreutils, this module will soon be
36440         used by findutils, too.
36441         * MODULES.html.sh [Misc]: Add selinux-at.
36442         * lib/selinux-at.h: New file, from coreutils.
36443         * lib/selinux-at.c: Likewise.
36444         * modules/selinux-at: Likewise.
36445         (License): Change from LGPL to GPL, since it depends
36446         on the GPL'd openat module.
36447
36448         doc: update README
36449         * README: Remove references to cogito.
36450         Remove cvs-repo-updating instructions from 2007.
36451         Don't imply that CVS is better if you have limited disk space.
36452
36453 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36454
36455         update-copyright: support C-style comments
36456         * build-aux/update-copyright: Implement and document.
36457         * tests/test-update-copyright.sh: Test.
36458
36459 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36460
36461         update-copyright: support omitted "(C)"
36462         * build-aux/update-copyright: Implement and document.  Also,
36463         allow variable whitespace before "(C)".
36464         * tests/test-update-copyright.sh: Test.
36465
36466 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36467
36468         update-copyright: don't trip on non-FSF copyright statements
36469         * build-aux/update-copyright: Fix so that the first correctly
36470         formatted FSF copyright statement is recognized no matter what
36471         appears before it.  Update documentation.
36472         * tests/test-update-copyright.sh: Test that.
36473
36474 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36475
36476         update-copyright: clean up code a little
36477         * build-aux/update-copyright: Append "_re" to the name of any
36478         variable holding a regular expression.
36479         Replace "old" and "new" with "stmt" in variable names.
36480         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
36481         handled correctly.
36482         Format code more consistently.
36483
36484 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36485
36486         update-copyright-tests: improve portability
36487         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
36488         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
36489
36490 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36491
36492         update-copyright: support @copyright{} and &copy;
36493         * build-aux/update-copyright: Implement and document.
36494         * tests/test-update-copyright.sh: Test.
36495
36496 2009-08-04  Jim Meyering  <meyering@redhat.com>
36497
36498         update-copyright-tests: correctly test EOL=\r\n handling
36499         * tests/test-update-copyright.sh: Put \r at the end of some lines
36500         for the dos-eol tests.  Based on a patch by Joel E. Denny.
36501
36502         maint.mk: make update-copyright exclusion list more configurable
36503         * top/maint.mk (update-copyright): Default to excluding COPYING,
36504         but allow an override, in case someone does want to update that file.
36505
36506         maint.mk: don't update copyright date in COPYING
36507         * top/maint.mk (update-copyright): Exclude COPYING.
36508
36509         maint.mk: add a copyright-updating rule
36510         * top/maint.mk (update-copyright): New rule.
36511         Derived from coreutils/Makefile.am.
36512
36513         update-copyright: rename some variables
36514         * build-aux/update-copyright: Rename a few variables for clarity.
36515         Tweak syntax.  List Joel E. Denny as coauthor.
36516
36517 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36518
36519         update-copyright: fix bug for 2-digit last year and add tests
36520         * build-aux/update-copyright: Fix bug.
36521         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
36522         specified.
36523         * modules/update-copyright-tests: New
36524         * tests/test-update-copyright.sh: New.
36525
36526 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36527
36528         update-copyright: handle leading tabs in line prefix
36529         * build-aux/update-copyright: Count leading tabs as 8 spaces
36530         when computing margin.  This helps with the formatting of
36531         ChangeLogs, for example.
36532         Fix documentation a little.
36533
36534 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36535
36536         update-copyright: support EOL=\r\n
36537         * build-aux/update-copyright: Implement that.
36538
36539 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36540
36541         update-copyright: automatically format copyright statements
36542         * build-aux/update-copyright: Implement that.
36543         Also, be a little more predictable and safer by always failing
36544         when the full copyright format is not perfectly recognized as an
36545         unbroken whole.  Discussed at
36546         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
36547         Rewrite documentation.
36548
36549 2009-08-03  Bruno Haible  <bruno@clisp.org>
36550
36551         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
36552
36553 2009-08-02  Bruno Haible  <bruno@clisp.org>
36554
36555         Tests for module 'uname'.
36556         * modules/uname-tests: New file.
36557         * tests/test-uname.c: New file.
36558
36559         New module 'uname'.
36560         * lib/uname.c: New file.
36561         * m4/uname.m4: New file.
36562         * modules/uname: New file.
36563         * doc/posix-functions/uname.texi: Mention the new module.
36564
36565 2009-08-02  Bruno Haible  <bruno@clisp.org>
36566
36567         Tests for module 'sys_utsname'.
36568         * modules/sys_utsname-tests: New file.
36569         * tests/test-sys_utsname.c: New file.
36570
36571         New module 'sys_utsname'.
36572         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
36573         * m4/sys_utsname_h.m4: New file.
36574         * modules/sys_utsname: New file.
36575         * doc/posix-headers/sys_utsname.texi: Mention the new module.
36576
36577 2009-08-02  Bruno Haible  <bruno@clisp.org>
36578
36579         Implicitly initialize the sockets library.
36580         * lib/gethostname.c: Include sockets.h.
36581         (rpl_gethostname): Invoke gl_sockets_startup.
36582         * lib/socket.c: Include sockets.h.
36583         (rpl_socket): Invoke gl_sockets_startup.
36584         * modules/gethostname (Depends-on): Add sockets.
36585         * modules/socket (Depends-on): Likewise.
36586         * tests/test-poll.c: Don't include sockets.h.
36587         (main): Don't invoke gl_sockets_startup.
36588         * tests/test-select.c: Don't include sockets.h.
36589         (main): Don't invoke gl_sockets_startup.
36590
36591 2009-08-02  Bruno Haible  <bruno@clisp.org>
36592
36593         Allow multiple calls to gl_sockets_startup.
36594         * lib/sockets.c (initialized_sockets_version): New variable.
36595         (gl_sockets_startup): Do nothing if already called for this or a higher
36596         version.
36597         (gl_sockets_cleanup): Reset initialized_sockets_version.
36598
36599 2009-08-03  Simon Josefsson  <simon@josefsson.org>
36600
36601         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
36602         different project/version.
36603
36604 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
36605             Bruno Haible  <bruno@clisp.org>
36606
36607         Tests for module 'pipe-filter-gi'.
36608         * modules/pipe-filter-gi-tests: New file.
36609         * tests/test-pipe-filter-gi1.sh: New file.
36610         * tests/test-pipe-filter-gi1.c: New file.
36611         * tests/test-pipe-filter-gi2.sh: New file.
36612         * tests/test-pipe-filter-gi2-main.c: New file.
36613         * tests/test-pipe-filter-gi2-child.c: New file.
36614
36615         New module 'pipe-filter-gi'.
36616         * lib/pipe-filter-gi.c: New file.
36617         * modules/pipe-filter-gi: New file.
36618
36619 2009-08-02  Bruno Haible  <bruno@clisp.org>
36620             Paolo Bonzini  <bonzini@gnu.org>
36621
36622         Tests for module 'pipe-filter-ii'.
36623         * modules/pipe-filter-ii-tests: New file.
36624         * tests/test-pipe-filter-ii1.sh: New file.
36625         * tests/test-pipe-filter-ii1.c: New file.
36626         * tests/test-pipe-filter-ii2.sh: New file.
36627         * tests/test-pipe-filter-ii2-main.c: New file.
36628         * tests/test-pipe-filter-ii2-child.c: New file.
36629
36630         New module 'pipe-filter-ii'.
36631         * lib/pipe-filter.h: New file.
36632         * lib/pipe-filter-ii.c: New file.
36633         * lib/pipe-filter-aux.h: New file.
36634         * modules/pipe-filter-ii: New file.
36635
36636 2009-08-02  Simon Josefsson  <simon@josefsson.org>
36637
36638         * lib/gc-libgcrypt.c: Change copyright to FSF.
36639         * lib/gc-gnulib.c: Likewise.
36640
36641 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
36642
36643         * lib/gethostname.c: Include limits.h.
36644
36645 2009-08-02  Simon Josefsson  <simon@josefsson.org>
36646             Bruno Haible  <bruno@clisp.org>
36647
36648         Ensure HOST_NAME_MAX as part of the gethostname module.
36649         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
36650         define also HOST_NAME_MAX.
36651         * tests/test-gethostname.c: Include <limits.h>.
36652         (main): Check also HOST_NAME_MAX.
36653         * doc/posix-headers/limits.texi: Document the mingw problem.
36654
36655 2009-08-02  Bruno Haible  <bruno@clisp.org>
36656
36657         * lib/gethostname.c (gethostname): Fix handling of large len argument.
36658         Add comments.
36659
36660 2009-03-31  Simon Josefsson  <simon@josefsson.org>
36661
36662         * lib/gethostname.c: Add Windows wrapper.
36663         * m4/gethostname.m4: Look for gethostname in -lws2_32.
36664         * modules/gethostname: Depend on sys_socket & errno, for also
36665         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
36666         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
36667
36668 2009-07-31  Jim Meyering  <meyering@redhat.com>
36669
36670         getloadavg: fix symbol name in comment
36671         * lib/getloadavg.c: Correct a typo I introduced when adding
36672         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
36673         Matt Kraai spotted the problem.
36674
36675 2009-07-29  Matt Kraai  <mkraai@beckman.com>
36676
36677         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
36678         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
36679         code also if ! defined N_NAME_POINTER.
36680         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
36681         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
36682         but the n_name member is a 12-byte array.
36683
36684 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
36685
36686         update-copyright: generalize comment handling
36687         * build-aux/update-copyright: Handle copyright statements
36688         within more comment styles.
36689         Document usage.
36690         Report any file with an external copyright holder or parse failure.
36691
36692 2009-07-29  Jim Meyering  <meyering@redhat.com>
36693
36694         mktime: correct setting of REPLACE_MKTIME
36695         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
36696
36697         update-copyright: new module
36698         * modules/update-copyright: New file.
36699         * build-aux/update-copyright: New file.
36700         * MODULES.html.sh (maint+release support): Add update-copyright.
36701
36702 2009-07-27  Bruno Haible  <bruno@clisp.org>
36703
36704         Fix compilation error when <ctime> is used and mktime is replaced.
36705         * lib/time.in.h (mktime): New declaration.
36706         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
36707         REPLACE_MKTIME instead of defining mktime in config.h.
36708         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
36709         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
36710         Reported by Ross McFarland <rwmcfa1@neces.com>.
36711
36712 2009-07-27  Bruno Haible  <bruno@clisp.org>
36713
36714         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
36715         Reported by Matt Kraai <mkraai@beckman.com>.
36716
36717 2009-07-25  Jim Meyering  <meyering@redhat.com>
36718
36719         maint.mk: avoid warnings about missing files
36720         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
36721         diagnostic when .prev-version does not exist.
36722         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
36723         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
36724         nonexistent cfg.mk.
36725         Suggestions from Simon Josefsson.
36726
36727 2009-07-25  Bruno Haible  <bruno@clisp.org>
36728
36729         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
36730         defined as macros. Needed on QNX 6.4.1.
36731         Reported by Matt Kraai <mkraai@beckman.com>.
36732
36733 2009-07-23  Jim Meyering  <meyering@redhat.com>
36734
36735         maint.mk: invoke "make dist" with a working value of XZ_OPT
36736         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
36737
36738 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
36739
36740         Make fseeko.c compile on QNX.
36741         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
36742
36743 2009-07-22  Peter Simons  <simons@cryp.to>
36744
36745         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
36746         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
36747         * lib/md4.h: Likewise.
36748         * lib/md5.h: Likewise.
36749         * lib/sha1.h: Likewise.
36750         * lib/sha256.h: Likewise.
36751         * lib/sha512.h: Likewise.
36752
36753         tests-sha1: don't assign literal string to 'char *' variable
36754         * tests/test-sha1.c (main): Declare locals with "const" to match
36755         attributes of the right hand side.
36756
36757 2009-07-21  Eric Blake  <ebb9@byu.net>
36758
36759         dup2: fix more mingw problems
36760         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
36761         fd to itself.
36762         * doc/posix-functions/dup2.texi (dup2): Document the bug.
36763         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
36764         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
36765         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
36766         care of mingw bugs.
36767
36768 2009-07-21  Jim Meyering  <meyering@redhat.com>
36769
36770         vc-list-files: avoid failure when /bin/sh is dash
36771         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
36772         On some Debian based systems, /bin/sh is a symlink to dash, and running
36773         this command would omit the "/" following each 'tests' prefix:
36774           dash -x build-aux/vc-list-files -C . tests
36775         That is because bash and dash work differently:
36776           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
36777           bash ok
36778           dash odd
36779
36780 2009-07-21  Eric Blake  <ebb9@byu.net>
36781
36782         dup2-tests: test previous patch
36783         * modules/dup2-tests: New file.
36784         * tests/test-dup2.c: Likewise.
36785         * tests/test-open.c (main): Avoid unspecified behavior.
36786         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
36787         test.
36788
36789         dup2: work around mingw and cygwin 1.5 bug
36790         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
36791         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36792         * modules/unistd (Makefile.am): Substitute it.
36793         * lib/unistd.in.h (dup2): Declare the replacement.
36794         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
36795         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
36796         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
36797         * modules/execute (Depends-on): Add dup2.
36798         * modules/fseterr (Depends-on): Likewise.
36799         * modules/pipe (Depends-on): Likewise.
36800         * modules/posix_spawn-internal (Depends-on): Likewise.
36801
36802 2009-07-21  Bruno Haible  <bruno@clisp.org>
36803
36804         * modules/.gitattributes: New file.
36805
36806 2009-07-20  Bruno Haible  <bruno@clisp.org>
36807
36808         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
36809         (main): Use it.
36810
36811 2009-07-20  Eric Blake  <ebb9@byu.net>
36812
36813         test-pipe: make a bit more robust.
36814         * tests/test-pipe.c (myerr): Allow error messages regardless of
36815         what we do to stderr.
36816         (test_pipe): Rearrange to avoid deadlock.
36817         (child_main): Try a larger read, to ensure we avoided deadlock.
36818         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
36819         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
36820         if misused.
36821
36822 2009-07-19  Jim Meyering  <meyering@redhat.com>
36823
36824         fts: avoid false-positive cycle-detection
36825         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
36826         for each new command line argument.
36827
36828 2009-07-19  Bruno Haible  <bruno@clisp.org>
36829
36830         Fix build error on mingw with the modules sys_select and unistd.
36831         * modules/acl-tests (Depends-on): Add close.
36832         * modules/binary-io-tests (Depends-on): Likewise.
36833         * modules/closein-tests (Depends-on): Likewise.
36834         * modules/flock-tests (Depends-on): Likewise.
36835         * modules/fsync-tests (Depends-on): Likewise.
36836         * modules/lseek-tests (Depends-on): Likewise.
36837         * modules/pipe-tests (Depends-on): Likewise.
36838         * modules/posix_spawn-tests (Depends-on): Likewise.
36839         * modules/posix_spawnp-tests (Depends-on): Likewise.
36840         * modules/stat-time-tests (Depends-on): Likewise.
36841         * modules/yesno-tests (Depends-on): Likewise.
36842
36843 2009-07-19  Bruno Haible  <bruno@clisp.org>
36844
36845         Unify conditionals.
36846         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
36847         macros, not at the compiler macros.
36848         * lib/pipe.c: Likewise.
36849         * lib/execute.c: Likewise.
36850         * lib/spawni.c: Likewise.
36851
36852 2009-07-19  Bruno Haible  <bruno@clisp.org>
36853
36854         Fix handling of closed stdin/stdout/stderr on mingw.
36855         * lib/w32spawn.h: Include unistd.h.
36856         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
36857         file descriptor with O_NOINHERIT flag.
36858         (fd_safer_noinherit): New function, based on fd-safer.c.
36859         (dup_safer_noinherit): New function, based on dup-safer.c.
36860         (undup_safer_noinherit): New function.
36861         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
36862         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
36863         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
36864         instead of fd_safer.
36865         * tests/test-pipe.c: Include <windows.h>.
36866         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
36867         result.
36868
36869         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
36870         from main.
36871         (test_pipe): Pass an extra argument for disambiguation.
36872         (main): Invoke parent_main or child_main.
36873
36874         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
36875         consistently.
36876
36877 2009-07-18  Eric Blake  <ebb9@byu.net>
36878
36879         test-pipe: fix mingw build
36880         * tests/test-pipe.c (main): Avoid fcntl on mingw.
36881
36882 2009-07-18  Bruno Haible  <bruno@clisp.org>
36883
36884         * modules/pipe-tests (Makefile.am): Fix typo.
36885
36886 2009-07-18  Eric Blake  <ebb9@byu.net>
36887
36888         error: fix mingw build
36889         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
36890         Reported by Bruno Haible.
36891
36892         error: avoid undefined use of stdout
36893         * lib/error.c (error, error_at_line): Check that fd 1 is open
36894         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
36895         is handling faults and the close_stdout module wants to report the
36896         detection of closed stdout as an error.
36897
36898 2009-07-17  Eric Blake  <ebb9@byu.net>
36899
36900         pipe: be robust in face of closed fds
36901         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
36902         should cause child to misbehave.
36903         * modules/pipe-tests: New module.
36904         * tests/test-pipe.c: New file.
36905         * tests/test-pipe.sh: New file.
36906         Reported by Akim Demaille.
36907
36908 2009-07-14  Bruno Haible  <bruno@clisp.org>
36909
36910         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
36911         Reported by anonymous kc.
36912
36913 2009-07-07  Jim Meyering  <meyering@redhat.com>
36914
36915         maint.mk: don't look for translatable strings in *.m4 or *.mk
36916         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
36917         when searching for translatable strings.
36918
36919 2009-07-05  Jim Meyering  <meyering@redhat.com>
36920
36921         remove superfluous parentheses in STREQ definition
36922         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
36923         * lib/getugroups.c (STREQ): Likewise.
36924         * lib/fnmatch.c (STREQ): Likewise.
36925         Spotted by Bruno Haible.
36926
36927 2009-07-04  Jim Meyering  <meyering@redhat.com>
36928
36929         argv-iter: new module
36930         * MODULES.html.sh: Add argv-iter.
36931         * lib/argv-iter.c, lib/argv-iter.h: New files.
36932         * modules/argv-iter: New file.
36933         * modules/argv-iter-tests: New file.
36934         * tests/test-argv-iter.c: Test it.
36935
36936 2009-07-04  Bruno Haible  <bruno@clisp.org>
36937
36938         Fix assertion.
36939         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
36940         contains more exact copies of a given entry than file2, leave the extra
36941         copies unpaired rather than aborting.
36942         Reported by Eric Blake.
36943
36944 2009-07-02  Bruno Haible  <bruno@clisp.org>
36945
36946         Speedup git-merge-changelog for git cherry-pick.
36947         * lib/git-merge-changelog.c (struct entries_mapping): New type.
36948         (entries_mapping_get): New function, extracted from compute_mapping.
36949         (entries_mapping_reverse_get): New function.
36950         (compute_mapping): Add a 'full' argument. Return the result in a
36951         'struct entries_mapping'.
36952         (main): Update. Access the mappings through entries_mapping_get.
36953         Reported by Eric Blake.
36954
36955 2009-07-02  Bruno Haible  <bruno@clisp.org>
36956
36957         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
36958         best_i.
36959
36960 2009-07-02  Bruno Haible  <bruno@clisp.org>
36961
36962         Speed up approximate search for matching ChangeLog entries.
36963         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
36964         argument. Call fstrcmp_bounded instead of fstrcmp.
36965         (compute_mapping, try_split_merged_entry, main): Update callers.
36966
36967 2009-07-02  Bruno Haible  <bruno@clisp.org>
36968
36969         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
36970
36971 2009-06-30  Bruno Haible  <bruno@clisp.org>
36972
36973         Reduce the number of uc_is_cased calls.
36974         * lib/unicase.h (casing_suffix_context_t): Add
36975         'first_char_except_ignorable' field.
36976         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
36977         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
36978         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
36979         Update initializer.
36980         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
36981         case-ignorable characters.
36982         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
36983         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
36984         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
36985         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
36986         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
36987
36988 2009-06-30  Bruno Haible  <bruno@clisp.org>
36989
36990         Tests for module 'unicase/ignorable'.
36991         * modules/unicase/ignorable-tests: New file.
36992         * tests/unicase/test-ignorable.c: New file, generated by
36993         gen-uni-tables.
36994
36995         Tests for module 'unicase/cased'.
36996         * modules/unicase/cased-tests: New file.
36997         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
36998         * tests/unicase/test-predicate-part1.h: New file, derived from
36999         tests/unictype/test-predicate-part1.h.
37000         * tests/unicase/test-predicate-part2.h: New file, same as
37001         tests/unictype/test-predicate-part2.h.
37002
37003         Fix evaluation of "Before C" condition of FINAL_SIGMA.
37004         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
37005         (output_casing_properties): New function.
37006         (main): Call it.
37007         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
37008         * lib/unicase/cased.c: Include unictype/bitmap.h.
37009         (uc_is_cased): Define through a bitmap lookup.
37010         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
37011         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
37012         (uc_is_case_ignorable): Define through a bitmap lookup.
37013         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
37014         lib/unictype/bitmap.h.
37015         (Depends-on): Add inline. Clean up.
37016         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
37017         lib/unictype/bitmap.h.
37018         (Depends-on): Add inline. Clean up.
37019         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
37020         recognition.
37021         * tests/unicase/test-u16-tolower.c (main): Likewise.
37022         * tests/unicase/test-u32-tolower.c (main): Likewise.
37023
37024 2009-06-30  Bruno Haible  <bruno@clisp.org>
37025
37026         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
37027         * lib/unicase/u16-casemap.c: Likewise.
37028         * lib/unicase/u32-casemap.c: Likewise.
37029
37030 2009-06-29  Bruno Haible  <bruno@clisp.org>
37031
37032         Define u32_casefold as a wrapper around u32_ct_casefold.
37033         * lib/unicase/u32-casefold.c: Update.
37034         * modules/unicase/u32-casefold (Depends-on): Add
37035         unicase/u32-ct-casefold, unicase/empty-prefix-context,
37036         unicase/empty-suffix-context. Clean up.
37037
37038         Define u16_casefold as a wrapper around u16_ct_casefold.
37039         * lib/unicase/u16-casefold.c: Update.
37040         * modules/unicase/u16-casefold (Depends-on): Add
37041         unicase/u16-ct-casefold, unicase/empty-prefix-context,
37042         unicase/empty-suffix-context. Clean up.
37043
37044         Define u8_casefold as a wrapper around u8_ct_casefold.
37045         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
37046         * lib/unicase/u8-casefold.c: Update.
37047         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
37048         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37049
37050         Define u32_totitle as a wrapper around u32_ct_totitle.
37051         * lib/unicase/u32-totitle.c: Update.
37052         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
37053         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37054
37055         Define u16_totitle as a wrapper around u16_ct_totitle.
37056         * lib/unicase/u16-totitle.c: Update.
37057         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
37058         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37059
37060         Define u8_totitle as a wrapper around u8_ct_totitle.
37061         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
37062         functions.
37063         (FUNC): Delegate to U_CT_TOTITLE.
37064         * lib/unicase/u8-totitle.c: Update.
37065         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
37066         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37067
37068         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
37069         invocation.
37070         * modules/unicase/u32-tolower (Depends-on): Add
37071         unicase/empty-prefix-context, unicase/empty-suffix-context.
37072
37073         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
37074         invocation.
37075         * modules/unicase/u16-tolower (Depends-on): Add
37076         unicase/empty-prefix-context, unicase/empty-suffix-context.
37077
37078         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
37079         * modules/unicase/u8-tolower (Depends-on): Add
37080         unicase/empty-prefix-context, unicase/empty-suffix-context.
37081
37082         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
37083         invocation.
37084         * modules/unicase/u32-toupper (Depends-on): Add
37085         unicase/empty-prefix-context, unicase/empty-suffix-context.
37086
37087         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
37088         invocation.
37089         * modules/unicase/u16-toupper (Depends-on): Add
37090         unicase/empty-prefix-context, unicase/empty-suffix-context.
37091
37092         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
37093         * modules/unicase/u8-toupper (Depends-on): Add
37094         unicase/empty-prefix-context, unicase/empty-suffix-context.
37095
37096         New module 'unicase/u32-ct-casefold'.
37097         * lib/unicase/u32-ct-casefold.c: New file.
37098         * modules/unicase/u32-ct-casefold: New file.
37099
37100         New module 'unicase/u16-ct-casefold'.
37101         * lib/unicase/u16-ct-casefold.c: New file.
37102         * modules/unicase/u16-ct-casefold: New file.
37103
37104         New module 'unicase/u8-ct-casefold'.
37105         * lib/unicase/u8-ct-casefold.c: New file.
37106         * lib/unicase/u-ct-casefold.h: New file, derived from
37107         lib/unicase/u-casefold.h.
37108         * modules/unicase/u8-ct-casefold: New file.
37109
37110         New module 'unicase/u32-ct-totitle'.
37111         * lib/unicase/u32-ct-totitle.c: New file.
37112         * modules/unicase/u32-ct-totitle: New file.
37113
37114         New module 'unicase/u16-ct-totitle'.
37115         * lib/unicase/u16-ct-totitle.c: New file.
37116         * modules/unicase/u16-ct-totitle: New file.
37117
37118         New module 'unicase/u8-ct-totitle'.
37119         * lib/unicase/u8-ct-totitle.c: New file.
37120         * lib/unicase/u-ct-totitle.h: New file, derived from
37121         lib/unicase/u-totitle.h.
37122         * modules/unicase/u8-ct-totitle: New file.
37123
37124         New module 'unicase/u32-ct-tolower'.
37125         * lib/unicase/u32-ct-tolower.c: New file.
37126         * modules/unicase/u32-ct-tolower: New file.
37127
37128         New module 'unicase/u16-ct-tolower'.
37129         * lib/unicase/u16-ct-tolower.c: New file.
37130         * modules/unicase/u16-ct-tolower: New file.
37131
37132         New module 'unicase/u8-ct-tolower'.
37133         * lib/unicase/u8-ct-tolower.c: New file.
37134         * modules/unicase/u8-ct-tolower: New file.
37135
37136         New module 'unicase/u32-ct-toupper'.
37137         * lib/unicase/u32-ct-toupper.c: New file.
37138         * modules/unicase/u32-ct-toupper: New file.
37139
37140         New module 'unicase/u16-ct-toupper'.
37141         * lib/unicase/u16-ct-toupper.c: New file.
37142         * modules/unicase/u16-ct-toupper: New file.
37143
37144         New module 'unicase/u8-ct-toupper'.
37145         * lib/unicase/u8-ct-toupper.c: New file.
37146         * modules/unicase/u8-ct-toupper: New file.
37147
37148         Add context arguments to u*_casemap functions.
37149         * lib/unicase/unicasemap.h: Include unicase.h.
37150         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
37151         suffix_context arguments.
37152         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
37153         functions.
37154         (FUNC): Add prefix_context and suffix_context arguments. Use
37155         uc_is_cased and uc_is_case_ignorable.
37156         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
37157         * lib/unicase/u16-casemap.c: Likewise.
37158         * lib/unicase/u32-casemap.c: Likewise.
37159         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
37160         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37161         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
37162         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37163         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
37164         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37165
37166         New module 'unicase/u32-suffix-context'.
37167         * lib/unicase/u32-suffix-context.c: New file.
37168         * modules/unicase/u32-suffix-context: New file.
37169
37170         New module 'unicase/u16-suffix-context'.
37171         * lib/unicase/u16-suffix-context.c: New file.
37172         * modules/unicase/u16-suffix-context: New file.
37173
37174         New module 'unicase/u8-suffix-context'.
37175         * lib/unicase/u8-suffix-context.c: New file.
37176         * lib/unicase/u-suffix-context.h: New file.
37177         * modules/unicase/u8-suffix-context: New file.
37178
37179         New module 'unicase/empty-suffix-context'.
37180         * lib/unicase/empty-suffix-context.c: New file.
37181         * modules/unicase/empty-suffix-context: New file.
37182
37183         New module 'unicase/u32-prefix-context'.
37184         * lib/unicase/u32-prefix-context.c: New file.
37185         * modules/unicase/u32-prefix-context: New file.
37186
37187         New module 'unicase/u16-prefix-context'.
37188         * lib/unicase/u16-prefix-context.c: New file.
37189         * modules/unicase/u16-prefix-context: New file.
37190
37191         New module 'unicase/u8-prefix-context'.
37192         * lib/unicase/u8-prefix-context.c: New file.
37193         * lib/unicase/u-prefix-context.h: New file.
37194         * lib/unicase/context.h: New file.
37195         * modules/unicase/u8-prefix-context: New file.
37196
37197         New module 'unicase/empty-prefix-context'.
37198         * lib/unicase/empty-prefix-context.c: New file.
37199         * modules/unicase/empty-prefix-context: New file.
37200
37201         New module 'unicase/ignorable'.
37202         * lib/unicase/ignorable.c: New file.
37203         * modules/unicase/ignorable: New file.
37204
37205         New module 'unicase/cased'.
37206         * lib/unicase/caseprop.h: New file.
37207         * lib/unicase/cased.c: New file.
37208         * modules/unicase/cased: New file.
37209
37210         New functions for case mapping of substrings.
37211         * lib/unicase.h (casing_prefix_context_t): New type.
37212         (unicase_empty_prefix_context): New variable.
37213         (u8_casing_prefix_context, u16_casing_prefix_context,
37214         u32_casing_prefix_context, u8_casing_prefixes_context,
37215         u16_casing_prefixes_context, u32_casing_prefixes_context): New
37216         declarations.
37217         (casing_suffix_context_t): New type.
37218         (unicase_empty_suffix_context): New variable.
37219         (u8_casing_suffix_context, u16_casing_suffix_context,
37220         u32_casing_suffix_context, u8_casing_suffixes_context,
37221         u16_casing_suffixes_context, u32_casing_suffixes_context,
37222         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
37223         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
37224         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
37225         declarations.
37226
37227 2009-06-28  Jim Meyering  <meyering@redhat.com>
37228
37229         boostrap: indent only with spaces
37230         * build-aux/bootstrap: Indent only with spaces, never TABs.
37231
37232         bootstrap: split long lines
37233         * build-aux/bootstrap: Keep line length < 80.
37234
37235         bootstrap: sync from coreutils
37236         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
37237         just as autoreconf does.  Verify a list of prerequisite
37238         package-name,version-number pairs if defined in bootstrap.conf.
37239         Refer to README-prereq, if prerequisites are not satisfied.
37240
37241 2009-06-27  Eric Blake  <ebb9@byu.net>
37242
37243         tests: add test for bogus NULL definition
37244         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
37245         * tests/test-stdlib.c: Likewise.
37246         * tests/test-string.c: Likewise.
37247         * tests/test-locale.c: Likewise.
37248         * tests/test-unistd.c: Likewise.
37249         * modules/stdio-tests (Depends-on): Add verify.
37250         * modules/stdlib-tests (Depends-on): Likewise.
37251         * modules/string-tests (Depends-on): Likewise.
37252         * modules/locale-tests (Depends-on): Likewise.
37253         * modules/unistd-tests (Depends-on): Likewise.
37254
37255 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
37256
37257         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
37258         self-explaining comment.
37259         * m4/selinux-selinux-h: Update serial.
37260         (gl_LIBSELINUX): New macro, adding a warning for missing development
37261         packages to code extracted from...
37262         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
37263         Add warning for missing development packages here, too.
37264
37265 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
37266
37267         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
37268
37269 2009-06-25  Eric Blake  <ebb9@byu.net>
37270
37271         version-etc: fix regression
37272         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
37273         gcc.
37274         (version_etc): Use it, to catch bugs with trailing NULL.
37275         * lib/version-etc.c (version_etc_arn): Delete unused argument.
37276         (version_etc_va): Fix logic bug.
37277         * modules/version-etc-tests: Add test.
37278         * tests/test-version-etc.c: New file.
37279         * tests/test-version-etc.sh: Likewise.
37280
37281 2009-06-25  Sam Steingold  <sds@gnu.org>
37282
37283         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
37284         mbtowc declaration.
37285
37286 2009-06-25  Eric Blake  <ebb9@byu.net>
37287
37288         fpurge: migrate into <stdio.h>
37289         * lib/fpurge.h: Delete...
37290         * lib/stdio.in.h (fpurge): ...and declare here, instead.
37291         * lib/fpurge.c (fpurge): Change declaring header.
37292         * modules/fpurge (Files): Drop deleted file.
37293         (Depends-on): Add stdio.
37294         (configure.ac): Set witness.
37295         * modules/stdio (Makefile.am): Support fpurge macros.
37296         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37297         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
37298         * lib/fflush.c: Update client.
37299         * tests/test-fpurge.c: Likewise.
37300         * NEWS: Mention the change.
37301
37302 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37303
37304         * lib/argp-version-etc.c (program_authors): Add const
37305         qualifier.
37306         * lib/version-etc.c: Fix typos in the comments.
37307         * modules/argp-version-etc: Depends on version-etc.
37308
37309 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37310
37311         argp-version-etc: new module.
37312
37313         * lib/argp-version-etc.c: New file.
37314         * lib/argp-version-etc.h: New file.
37315         * modules/argp-version-etc: New file.
37316         * modules/argp-version-etc-tests: New file.
37317         * tests/test-argp-version-etc.c: New test.
37318         * tests/test-argp-version-etc-1.sh: New test.
37319
37320 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37321
37322         Provide additional interfaces and documentation for version-etc
37323         module.
37324
37325         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
37326         interfaces.
37327         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
37328         prototypes.
37329
37330 2009-06-24  Bruno Haible  <bruno@clisp.org>
37331
37332         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
37333         HAVE_LIB${NAME} macro.
37334         Reported by Sam Steingold <sds@gnu.org>.
37335
37336 2009-06-23  Simon Josefsson  <simon@josefsson.org>
37337
37338         * modules/hash-tests (test_hash_LDADD): Link to libintl when
37339         needed.
37340
37341 2009-06-21  Bruno Haible  <bruno@clisp.org>
37342
37343         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
37344         work.
37345         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
37346         together with LIB${NAME}, LTLIB${NAME}.
37347         Reported by Sam Steingold <sds@gnu.org>.
37348
37349 2009-06-20  Jim Meyering  <meyering@redhat.com>
37350
37351         tests: make sc_require_test_exit_idiom more generic
37352         * top/maint.mk (Exit_witness_file): New overridable variable.
37353         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
37354         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
37355
37356 2009-06-19  Jim Meyering  <meyering@redhat.com>
37357
37358         hash: reverse order of src/dst parameters in an internal interface
37359         * lib/hash.c (transfer_entries): Reverse order of parameters to
37360         put DST before SRC.  Adjust callers.
37361
37362         tests: test-hash: avoid wholesale duplication
37363         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
37364         Instead, use a loop and add a single conditional.
37365
37366         tests: test-hash: allow seed selection via a command line argument
37367         * tests/test-hash.c (get_seed): New function.
37368         (main): Use it.
37369
37370 2009-06-19  Eric Blake  <ebb9@byu.net>
37371
37372         hash: avoid memory leak on allocation failure
37373         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
37374         failure.  Factor repeated algorithm...
37375         (transfer_entries): ...into new helper routine.
37376         (hash_delete): React to hash_rehash return value.
37377
37378         hash: reduce memory pressure in hash_rehash no-op case
37379         * lib/hash.c (next_prime): Avoid overflow.
37380         (hash_initialize): Factor bucket size computation...
37381         (compute_bucket_size): ...into new helper function.
37382         (hash_rehash): Use new function and open coding to reduce memory
37383         pressure, and avoid a memory leak in USE_OBSTACK code.
37384         Reported by Jim Meyering.
37385
37386 2009-06-18  Eric Blake  <ebb9@byu.net>
37387
37388         hash: make rotation more obvious
37389         * modules/hash (Depends-on): Add bitrotate and stdint.
37390         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
37391         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
37392         (SIZE_MAX): Rely on headers for definition.
37393         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
37394         (raw_hasher): Use rotr_sz.
37395         Suggested by Jim Meyering.
37396
37397         hash: fix memory leak in last patch
37398         * lib/hash.c (hash_rehash): Avoid memory leak.
37399
37400         hash: avoid no-op rehashing
37401         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
37402
37403         hash: provide default callback functions
37404         * lib/hash.c (raw_hasher, raw_comparator): New functions.
37405         (hash_initialize): Use them as defaults.
37406         * tests/test-hash.c (main): Test this.
37407
37408         hash: minor optimization
37409         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
37410         when possible.
37411         (hash_initialize): Document this promise.
37412         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
37413         * tests/test-hash.c (hash_compare_strings): Test this.
37414
37415 2009-06-18  Bruno Haible  <bruno@clisp.org>
37416
37417         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
37418         going to be replaced anyway.
37419
37420 2009-06-18  Bruno Haible  <bruno@clisp.org>
37421
37422         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
37423         in one place.
37424         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
37425         be replaced anyway.
37426
37427 2009-06-18  Eric Blake  <ebb9@byu.net>
37428
37429         hash: check for resize before insertion
37430         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
37431         threshold before insertion, so that a pathological hash_rehash
37432         that fills every bucket can still trigger another rehash.
37433
37434 2009-06-18  Jim Meyering  <meyering@redhat.com>
37435
37436         hash-tests: add a loop around the small tests
37437         * tests/test-hash.c (main): Repeat small tests with selected
37438         small initial table sizes.
37439
37440 2009-06-17  Eric Blake  <ebb9@byu.net>
37441
37442         hash: minor cleanups
37443         * lib/hash.h (hash_entry): Make opaque, by moving...
37444         * lib/hash.c (hash_entry): ...here.
37445         (hash_insert): Clarify restrictions on what can be inserted.
37446         (hash_get_next): Clarify when it is safe to remove an element
37447         during traversal.
37448         (check_tuning): Skip verification when tuning is known safe.
37449         (hash_initialize): Clarify restrictions on tuning.
37450
37451 2009-06-17  Jim Meyering  <jim@meyering.net>
37452         and Eric Blake  <ebb9@byu.net>
37453
37454         hash-tests: new module
37455         * modules/hash-tests: New file.
37456         * tests/test-hash.c: New file.
37457
37458 2009-06-17  Eric Blake  <ebb9@byu.net>
37459
37460         strstr-simple: document new module
37461         * MODULES.html.sh: Document new module.
37462
37463         strstr, strcasestr: replace on platforms with broken memchr
37464         * modules/strstr: Split into...
37465         * modules/strstr-simple: ...new module that does not care about
37466         performance, but does care about glibc bug.
37467         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
37468         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
37469         if platform memchr is broken, per Debian bug 521737.
37470         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
37471         memchr.
37472         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
37473         * doc/posix-functions/strstr.texi (strstr): Document the fix.
37474         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37475         * modules/mountlist (Depends-on): Add strstr-simple.
37476         * modules/gen-uni-tables (Depends-on): Likewise.
37477         * modules/argz (Depends-on): Add strstr.
37478
37479 2009-06-17  Bruno Haible  <bruno@clisp.org>
37480
37481         * modules/posix_spawn-internal (Depends-on): Add errno.
37482
37483 2009-06-17  Bruno Haible  <bruno@clisp.org>
37484
37485         Define missing ESTALE on Interix 3.5.
37486         * lib/errno.in.h (ESTALE): Assign a value if missing.
37487         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
37488         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
37489         missing.
37490         * doc/posix-headers/errno.texi: Mention the Interix bug.
37491         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
37492
37493 2009-06-15  Eric Blake  <ebb9@byu.net>
37494
37495         memchr, memchr2: add valgrind exception
37496         * lib/memchr.valgrind: New file.
37497         * lib/memchr2.valgrind: New file.
37498         * modules/memchr (Files): Distribute valgrind file.
37499         * modules/memchr2 (Files): Likewise.
37500
37501         docs: memchr is no longer obsolete
37502         * MODULES.html.sh: Move memchr from obsolete to string.h section.
37503         * lib/string.in.h (memchr): Simplify logic.
37504
37505 2009-06-14  Jim Meyering  <meyering@redhat.com>
37506
37507         link-follow: fix the "checking..." message to not mention trailing slash
37508         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
37509         never considered trailing slashes.
37510
37511 2009-06-14  Bruno Haible  <bruno@clisp.org>
37512
37513         * m4/memchr.m4: Mention also the bug on IA-64.
37514         * doc/posix-functions/memchr.texi: Likewise.
37515
37516 2009-06-12  Eric Blake  <ebb9@byu.net>
37517
37518         memchr: detect broken x86_64 and alpha implementations
37519         * modules/memchr-tests (Depends-on): Move mmap detection...
37520         * modules/memchr (Depends-on): ...here.
37521         (configure.ac): Set indicator.
37522         * lib/string.in.h (memchr): Declare replacement.
37523         * modules/string (Makefile.am): Trigger replacement.
37524         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
37525         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
37526         bugs.
37527         * doc/posix-functions/memchr.texi (memchr): Document the bug.
37528         * modules/getpagesize (License): Relax license.
37529
37530 2009-06-11  Bruno Haible  <bruno@clisp.org>
37531
37532         * lib/idpriv.h: Add more references.
37533
37534 2009-06-08  Bruno Haible  <bruno@clisp.org>
37535
37536         Tests for module 'idpriv-droptemp'.
37537         * modules/idpriv-droptemp-tests: New file.
37538         * tests/test-idpriv-droptemp.sh: New file.
37539         * tests/test-idpriv-droptemp.su.sh: New file.
37540         * tests/test-idpriv-droptemp.c: New file.
37541
37542         New module 'idpriv-droptemp'.
37543         * lib/idpriv-droptemp.c: New file.
37544         * modules/idpriv-droptemp: New file.
37545
37546 2009-06-08  Bruno Haible  <bruno@clisp.org>
37547
37548         Tests for module 'idpriv-drop'.
37549         * modules/idpriv-drop-tests: New file.
37550         * tests/test-idpriv-drop.sh: New file.
37551         * tests/test-idpriv-drop.su.sh: New file.
37552         * tests/test-idpriv-drop.c: New file.
37553
37554         New module 'idpriv-drop'.
37555         * lib/idpriv.h: New file.
37556         * lib-idpriv-drop.c: New file.
37557         * m4/idpriv.m4: New file.
37558         * modules/idpriv-drop: New file.
37559
37560 2009-06-08  Bruno Haible  <bruno@clisp.org>
37561
37562         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
37563         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37564         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37565         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37566         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37567         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37568         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37569
37570 2009-06-08  Eric Blake  <ebb9@byu.net>
37571
37572         test-strstr: use memory fence, when possible
37573         * tests/test-strstr.c (main): Use memory fence, in order to be
37574         more likely to trigger Debian bug 521737.
37575         * modules/strstr-tests (Files): Pull in additional files.
37576
37577         memchr: no longer obsolete, for wider field testing
37578         * modules/memchr (Status, Notice): Delete, this module is no
37579         longer obsolete.
37580         * modules/vasnprintf (Depends-on): Add memchr.
37581
37582 2009-06-07  Jim Meyering  <meyering@redhat.com>
37583
37584         hash: declare some functions with the warn_unused_result attribute
37585         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
37586
37587 2009-06-07  Bruno Haible  <bruno@clisp.org>
37588
37589         * tests/test-alignof.c: Don't test int64_t if it does not exist.
37590         Reported by Eric Blake.
37591
37592 2009-06-06  Eric Blake  <ebb9@byu.net>
37593
37594         test-alignof: fix typo with long double
37595         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
37596         compiler error.
37597
37598 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
37599
37600         Escape non-texinfo { and }s.
37601         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
37602         markup error.
37603
37604 2009-06-04  Jim Meyering  <meyering@redhat.com>
37605
37606         gitlog-to-changelog: don't infloop on an empty commit log
37607         * build-aux/gitlog-to-changelog: Warn about an empty log message.
37608         Reported by Boris Petersen <transacid@centerim.org>.
37609
37610 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
37611
37612         version-etc: extend for packagers
37613         Add three new configure options, intended for packagers:
37614           --with-packager="packager name"
37615           --with-packager-version="packager-specific version"
37616           --with-packager-bug-reports="packager bug reporting"
37617         An example with coreutils:
37618           $ ./configure \
37619             --with-packager=Gentoo \
37620             --with-packager-bug-report=http://bugs.gentoo.org/ \
37621             --with-packager-version="patchset 1.6"
37622           $ ./src/ls --version | head -n2
37623           ls (GNU coreutils) 7.1-dirty
37624           Packaged by Gentoo (patchset 1.6)
37625         Note that the bug reporting info via --help doesn't show up because
37626         coreutils uses its own custom emit_bug_reporting_address() implementation
37627         in src/system.h.  If it didn't, it'd look like:
37628           $ ./src/ls --help | tail -n4
37629           Report bugs to <bug-coreutils@gnu.org>.
37630           Report Gentoo bugs to <http://bugs.gentoo.org/>.
37631           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
37632           General help using GNU software: <http://www.gnu.org/gethelp/>.
37633         * lib/version-etc.c: Print new information, if provided.
37634         * m4/version-etc.m4: New file.
37635         * modules/version-etc (Files): Add m4/version-etc.m4.
37636         (configure.ac): Add gl_VERSION_ETC.
37637
37638 2009-05-31  Bruno Haible  <bruno@clisp.org>
37639
37640         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
37641         and 'int64_t'.
37642         * modules/alignof-tests (Dependencies): Add stdint.
37643         Reported by Eric Blake.
37644
37645 2009-05-31  Bruno Haible  <bruno@clisp.org>
37646
37647         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
37648         restriction due to compiler bugs.
37649         Reported by Eric Blake.
37650
37651 2009-05-31  Simon Josefsson  <simon@josefsson.org>
37652             Bruno Haible  <bruno@clisp.org>
37653
37654         Fix test-alignof failure.
37655         * lib/alignof.h (alignof_slot): New macro.
37656         (alignof_type): New macro, with the same semantics as the previous
37657         'alignof'.
37658         (alignof): Alias to alignof_slot.
37659         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
37660         check that the results are usable as constant expressions.
37661
37662 2009-05-31  Bruno Haible  <bruno@clisp.org>
37663
37664         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
37665         * tests/test-memchr.c (main): Check that memchr does not read past the
37666         first occurrence of the byte.
37667         * tests/test-strstr.c (main): Update comment.
37668         Suggested by Eric Blake.
37669
37670 2009-05-30  Bruno Haible  <bruno@clisp.org>
37671
37672         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
37673         detail how to use dumpbin.
37674         Reported by David Byron <dbyron@dbyron.com>.
37675
37676 2009-06-02  Simon Josefsson  <simon@josefsson.org>
37677
37678         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
37679
37680 2009-06-02  Simon Josefsson  <simon@josefsson.org>
37681
37682         * m4/manywarnings.m4: Add GCC 4.4 warnings.
37683
37684 2009-05-28  Bruno Haible  <bruno@clisp.org>
37685
37686         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
37687         build-aux/ files.
37688
37689 2009-05-28  Simon Josefsson  <simon@josefsson.org>
37690
37691         * gnulib-tool (func_import): Transform license on build-aux/ files too.
37692
37693 2009-05-27  Simon Josefsson  <simon@josefsson.org>
37694
37695         * gnulib-tool (sed_transform_main_lib_file)
37696         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
37697         regexps.
37698
37699 2009-05-26  Simon Josefsson  <simon@josefsson.org>
37700
37701         * tests/test-strstr.c: Add another self-test.
37702         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
37703         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
37704
37705 2009-05-23  Bruno Haible  <bruno@clisp.org>
37706
37707         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
37708         change.
37709
37710 2009-05-21  Bruno Haible  <bruno@clisp.org>
37711
37712         Simplify use of mode_t varargs.
37713         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
37714         uses 'mode_t' or 'int'.
37715         * lib/openat.c (openat): Likewise.
37716         * lib/open-safer.c (open_safer): Likewise.
37717         * m4/mode_t.m4: New file.
37718         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
37719         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
37720         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
37721         * modules/open (Files): Add m4/mode_t.m4.
37722         * modules/openat (Files): Likewise.
37723         * modules/fcntl-safer (Files): Likewise.
37724         Suggested by Eric Blake.
37725
37726 2009-05-21  Pádraig Brady  <P@draigbrady.com>
37727
37728         * doc/glibc-functions/fallocate.texi: New file.
37729         * doc/gnulib.texi: Include it.
37730
37731 2009-05-21  Eric Blake  <ebb9@byu.net>
37732             Bruno Haible  <bruno@clisp.org>
37733
37734         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
37735         invocations.
37736         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
37737
37738 2009-05-21  Eric Blake  <ebb9@byu.net>
37739             Bruno Haible  <bruno@clisp.org>
37740
37741         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
37742         include_next. Fix of 2008-11-20 commit.
37743         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
37744         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
37745         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
37746         NEXT_MATH_H.
37747         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
37748         instead of NEXT_MATH_H.
37749
37750 2009-05-21  Bruno Haible  <bruno@clisp.org>
37751
37752         Avoid redefinition warnings for SIZE_MAX.
37753         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
37754         Reported by Simon Josefsson.
37755
37756 2009-05-21  Bruno Haible  <bruno@clisp.org>
37757
37758         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
37759         AC_CACHE_VAL.
37760
37761 2009-05-20  Bruno Haible  <bruno@clisp.org>
37762
37763         Make zeroptr.h work on mingw.
37764         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
37765         mprotect.
37766         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
37767         * modules/memchr2-tests (configure.ac): Likewise.
37768         * modules/memcmp-tests (configure.ac): Likewise.
37769         * modules/memmem-tests (configure.ac): Likewise.
37770         * modules/memrchr-tests (configure.ac): Likewise.
37771         Reported by Simon Josefsson.
37772
37773 2009-05-20  Simon Josefsson  <simon@josefsson.org>
37774
37775         * tests/test-glob.c: Include string.h for strcmp prototype.
37776
37777 2009-05-20  Simon Josefsson  <simon@josefsson.org>
37778
37779         * modules/getdelim (Depends-on): Add explicit stdint, although it
37780         was implicitly already pulled in via realloc-posix.
37781         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
37782
37783 2009-05-20  Simon Josefsson  <simon@josefsson.org>
37784
37785         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
37786         G. Christensen" <tgc@jupiterrise.com>.
37787         * m4/sys_socket_h.m4: Check for sa_family_t.
37788         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
37789         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
37790         * tests/test-sys_socket.c: Check that sa_family_t works.
37791
37792 2009-05-18  Eric Blake  <ebb9@byu.net>
37793
37794         maint.mk: allow gnulib_dir in VPATH build
37795         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
37796
37797 2009-05-15  Jim Meyering  <meyering@redhat.com>
37798
37799         maint.mk: Give gnulib_dir a default definition.
37800         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
37801         Thus, most packages no longer need to specify this variable in cfg.mk
37802
37803 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
37804
37805         rename.m4: fix typos that would make non-mingw cross-configure fail
37806         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
37807
37808 2009-05-13  Eric Blake  <ebb9@byu.net>
37809
37810         mmap-anon: avoid out-of-order autoconf expansion
37811         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
37812         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
37813         * modules/memchr-tests (Depends-on): Add extensions.
37814         * modules/memchr2-tests (Depends-on): Add extensions.
37815         * modules/memcmp-tests (Depends-on): Add extensions.
37816         * modules/memmem-tests (Depends-on): Add extensions.
37817         * modules/memrchr-tests (Depends-on): Add extensions.
37818
37819 2009-05-13  Bruno Haible  <bruno@clisp.org>
37820
37821         Make some tests ISO C 99 compliant.
37822         * tests/zerosize-ptr.h: New file.
37823         * tests/test-memchr.c: Include zerosize-ptr.h.
37824         (main): Use a zero-size object pointer instead of NULL.
37825         * tests/test-memchr2.c: Include zerosize-ptr.h.
37826         (main): Use a zero-size object pointer instead of NULL.
37827         * tests/test-memcmp.c: Include zerosize-ptr.h.
37828         (main): Use a zero-size object pointer instead of NULL.
37829         * tests/test-memmem.c: Include zerosize-ptr.h.
37830         (main): Use a zero-size object pointer instead of NULL.
37831         * tests/test-memrchr.c: Include zerosize-ptr.h.
37832         (main): Use a zero-size object pointer instead of NULL.
37833         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
37834         m4/mmap-anon.m4.
37835         (Depends-on): Add getpagesize.
37836         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
37837         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
37838         m4/mmap-anon.m4.
37839         (Depends-on): Add getpagesize.
37840         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
37841         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
37842         m4/mmap-anon.m4.
37843         (Depends-on): Add getpagesize.
37844         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
37845         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
37846         m4/mmap-anon.m4.
37847         (Depends-on): Add getpagesize.
37848         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
37849         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
37850         m4/mmap-anon.m4.
37851         (Depends-on): Add getpagesize.
37852         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
37853
37854 2009-05-12  Bruno Haible  <bruno@clisp.org>
37855
37856         Tests for module 'alignof'.
37857         * modules/alignof-tests: New file.
37858         * tests/test-alignof.c: New file.
37859
37860 2009-05-12  Bruno Haible  <bruno@clisp.org>
37861
37862         Fix alignof macro.
37863         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
37864         vendor compilers that are always correct.
37865
37866 2009-05-12  Bruno Haible  <bruno@clisp.org>
37867
37868         Make the MAP_ANONYMOUS detection work on HP-UX 11.
37869         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
37870         not whether its fully works.
37871
37872 2009-05-12  Bruno Haible  <bruno@clisp.org>
37873
37874         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
37875
37876 2009-05-12  Jim Meyering  <meyering@redhat.com>
37877
37878         * top/maint.mk: Adjust backslash alignment.
37879
37880 2009-05-11  Simon Josefsson  <simon@josefsson.org>
37881
37882         * top/maint.mk: Make $(srcdir)/build-aux configurable.
37883
37884 2009-05-11  Eric Blake  <ebb9@byu.net>
37885
37886         argp: avoid undefined behavior
37887         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
37888         macros.
37889
37890 2009-05-08  Simon Josefsson  <simon@josefsson.org>
37891
37892         * tests/test-vc-list-files-git.sh: Do git config of user.email and
37893         user.name to prevent git commit from complaining.
37894
37895 2009-05-10  Bruno Haible  <bruno@clisp.org>
37896
37897         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
37898         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
37899         it rewrites every file name only once.
37900         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
37901
37902 2009-05-08  Bruno Haible  <bruno@clisp.org>
37903
37904         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
37905         instead of 'max'.
37906
37907 2009-05-08  Simon Josefsson  <simon@josefsson.org>
37908
37909         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
37910         sockaddr_storage test.
37911
37912 2009-05-07  Simon Josefsson  <simon@josefsson.org>
37913
37914         * modules/sys_socket (Makefile.am): Substitute
37915         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
37916         * m4/sys_socket_h.m4: Check for sockaddr_storage.
37917         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
37918         * tests/test-sys_socket.c: Check sockaddr_storage.
37919
37920 2009-05-08  Bruno Haible  <bruno@clisp.org>
37921
37922         New module 'alignof'.
37923         * lib/alignof.h: New file.
37924         * modules/alignof: New file.
37925
37926 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
37927             Bruno Haible  <bruno@clisp.org>
37928
37929         Fix test-file-has-acl on FreeBSD.
37930         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
37931         mask is implicitly added.
37932         * tests/test-file-has-acl.c: Include <signal.h>.
37933         (main): Terminate the test after 5 seconds.
37934         * modules/acl-tests (configure.ac): Check for alarm function.
37935
37936 2009-05-04  Bruno Haible  <bruno@clisp.org>
37937
37938         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
37939         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
37940         * modules/errno (configure.ac): Drop AC_REQUIRE.
37941         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
37942         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
37943
37944 2009-05-04  Simon Josefsson  <simon@josefsson.org>
37945
37946         * modules/glob-tests: New module.
37947         * tests/test-glob.c: Add.
37948
37949 2009-05-04  Simon Josefsson  <simon@josefsson.org>
37950
37951         * modules/fnmatch-tests: New module.
37952         * tests/test-fnmatch.c: Add.
37953
37954 2009-05-04  Eric Blake  <ebb9@byu.net>
37955
37956         maint: make the new no-submodule-changes rule VPATH-safe
37957         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
37958
37959 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
37960             Bruno Haible  <bruno@clisp.org>
37961
37962         acl: Fix infinite loop on FreeBSD.
37963         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
37964         of return value from acl_get_entry.
37965         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
37966         Likewise.
37967
37968 2009-05-03  Bruno Haible  <bruno@clisp.org>
37969
37970         * lib/acl-internal.h (acl_entries): Clarify return value.
37971         * lib/acl_entries.c (acl_entries): Likewise.
37972
37973 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
37974
37975         Bug fix in acl module.
37976         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
37977
37978 2009-05-03  Bruno Haible  <bruno@clisp.org>
37979
37980         Create gperf-generated file in the source dir, not in the build dir.
37981         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
37982         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
37983         * modules/unicase/locale-language (unicase/locale-languages.h):
37984         Likewise.
37985         * modules/unicase/special-casing (unicase/special-casing-table.h):
37986         Likewise.
37987         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
37988         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
37989         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
37990         Reported by Ralf Wildenhues.
37991
37992 2009-05-03  Bruno Haible  <bruno@clisp.org>
37993
37994         * modules/fnmatch (Description, configure.ac): Taken from
37995         fnmatch-posix.
37996         * modules/fnmatch-posix: Turn into a symbolic reference to the
37997         'fnmatch' module, and deprecate.
37998         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
37999
38000 2009-05-03  Bruno Haible  <bruno@clisp.org>
38001
38002         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
38003         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
38004         Reported by Ralf Wildenhues.
38005
38006 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38007
38008         * m4/fnmatch.m4: Fix fnmatch re-define.
38009
38010 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38011
38012         priv-set: new module and tests; adapt write-any-file
38013         * lib/priv-set.c: New file.
38014         * lib/priv-set.h: New file.
38015         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
38016         * lib/write-any-file.c: Simplify by using priv-set module.
38017         * m4/priv-set.m4: New file.
38018         * modules/priv-set: New file.
38019         * modules/unlinkdir: Add dependency on priv-set module.
38020         * modules/write-any-file: Likewise.
38021
38022         Tests for module 'priv-set'.
38023         * modules/priv-set-tests: New file.
38024         * tests/test-priv-set.c: New file.
38025
38026 2009-05-03  Jim Meyering  <meyering@redhat.com>
38027             Bruno Haible  <bruno@clisp.org>
38028
38029         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
38030         use the converted UTF-8 variant of the name instead.
38031
38032 2009-05-03  Jim Meyering  <meyering@redhat.com>
38033
38034         tests: tighten some getdate tests
38035         * tests/test-getdate.c (main): Tighten tests: require equality,
38036         not just greater than.  Set TZ envvar to UTC0.
38037
38038 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
38039
38040         getdate: correctly interpret "next monday" when run on a Monday
38041         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
38042         that e.g., "next tues" (when run on a tuesday) results in a date
38043         that is one week in the future, and not today's date.
38044         I.e., add a week when the wday is the same as the current one.
38045         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
38046         and earlier by Martin Bernreuther and Jan Minář.
38047         * tests/test-getdate.c (main): Check that "next DAY" is always in
38048         the future and that "last DAY" is always in the past.
38049
38050 2009-05-02  Jim Meyering  <meyering@redhat.com>
38051
38052         build: ensure that a release build fails when a submodule is unclean
38053         * top/maint.mk (no-submodule-changes): New rule.
38054         (alpha beta major): Depend on it.
38055
38056 2009-05-02  Bruno Haible  <bruno@clisp.org>
38057
38058         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
38059         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
38060         shell variable gl_fnmatch_required to detect which variant is
38061         requested.
38062         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
38063         gl_FUNC_FNMATCH_POSIX.
38064         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
38065         exclude fnmatch-posix.
38066
38067 2009-05-02  Bruno Haible  <bruno@clisp.org>
38068
38069         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
38070         * modules/mbsrtowcs (License): Change to LGPLv2+.
38071         * modules/strnlen1 (License): Likewise.
38072         Reported by Simon Josefsson.
38073
38074 2009-05-02  Bruno Haible  <bruno@clisp.org>
38075
38076         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
38077         "cross".
38078         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
38079         gnulib-tool was called with option --source-base=lib.
38080
38081 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38082
38083         Use automake *-local hooks without commands, for extensibility.
38084         * modules/localcharset (Makefile.am): Rename install-exec-local
38085         rule to install-exec-localcharset, and make it a prerequisite of
38086         install-exec-local.  Likewise, rename the uninstall-local rule to
38087         uninstall-localcharset, and make it a prerequisite of the former.
38088
38089 2009-05-01  Bruno Haible  <bruno@clisp.org>
38090
38091         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
38092         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38093         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
38094         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
38095         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
38096         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38097         m4/locale-zh.m4, m4/codeset.m4.
38098
38099         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38100         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
38101         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38102         m4/locale-zh.m4.
38103
38104         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
38105         REPLACE_WCRTOMB if mbstate_t must be replaced.
38106         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
38107         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
38108
38109 2009-05-01  Bruno Haible  <bruno@clisp.org>
38110
38111         Avoid compiler warnings when redefining macros defined by <libintl.h>.
38112         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
38113         dngettext, dcngettext, textdomain, bindtextdomain,
38114         bind_textdomain_codeset): Undefine before redefining.
38115
38116 2009-04-30  Bruno Haible  <bruno@clisp.org>
38117
38118         Fix bug introduced on 2009-04-25.
38119         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
38120         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
38121         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
38122         is defined.
38123         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
38124         is defined.
38125         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
38126         is defined.
38127         Reported by Elbert_Pol <elbert.pol@gmail.com>.
38128
38129 2009-04-28  Bruno Haible  <bruno@clisp.org>
38130
38131         Comment tweaks.
38132         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
38133         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
38134         * lib/unicase.h (u*_casexfrm): Likewise.
38135         Reported by Paolo Bonzini.
38136
38137 2009-04-28  Bruno Haible  <bruno@clisp.org>
38138
38139         Fix a compilation error.
38140         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
38141         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
38142         Reported by Jim Meyering.
38143
38144 2009-04-27  Bruno Haible  <bruno@clisp.org>
38145
38146         New module 'libunistring'.
38147         * modules/libunistring: New file.
38148         * m4/libunistring.m4: New file.
38149         * MODULES.html.sh (Unicode string functions): Add it.
38150
38151 2009-04-27  Eric Blake  <ebb9@byu.net>
38152
38153         maint.mk: allow package-specific header to provide <config.h>
38154         * top/maint.mk (sc_require_config_h): New variable.
38155         (sc_require_config_h, sc_require_config_h_first): Use it.
38156
38157 2009-04-27  Simon Josefsson  <simon@josefsson.org>
38158
38159         * top/maint.mk (sc_avoid_if_before_free): Except
38160         useless-if-before-free script.
38161
38162 2009-04-27  Eric Blake  <ebb9@byu.net>
38163
38164         maintainer-makefile: depend on all required helper scripts
38165         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
38166         useless-if-before-free.
38167         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
38168         version, rather than assuming gnulib checkout is available.
38169         Reported by Simen Josefsson.
38170
38171 2009-04-26  Bruno Haible  <bruno@clisp.org>
38172
38173         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
38174         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
38175         "../" or "..".
38176
38177 2009-04-26  Bruno Haible  <bruno@clisp.org>
38178
38179         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
38180         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
38181         AC_LIB_HAVE_LINKFLAGS.
38182
38183 2009-04-26  Bruno Haible  <bruno@clisp.org>
38184
38185         Simplify calling convention of u*_conv_from_encoding.
38186         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
38187         u32_conv_from_encoding): Expect a resultbuf argument and return the
38188         result directly as a pointer.
38189         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
38190         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
38191         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
38192         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
38193         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
38194         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38195         Update.
38196         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
38197         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
38198         * lib/vasnprintf.c (VASNPRINTF): Update.
38199         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
38200         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
38201         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
38202         * NEWS: Mention the change.
38203
38204 2009-04-26  Bruno Haible  <bruno@clisp.org>
38205
38206         Simplify calling convention of u*_conv_to_encoding.
38207         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
38208         u32_conv_to_encoding): Expect a resultbuf argument and return the
38209         result directly as a pointer.
38210         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38211         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
38212         freeing scaled_offsets if mem_iconveha failed.
38213         * lib/unicase/u-casexfrm.h (FUNC): Update.
38214         * lib/uninorm/u-normxfrm.h (FUNC): Update.
38215         * lib/vasnprintf.c (VASNPRINTF): Update.
38216         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
38217         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
38218         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
38219         * NEWS: Mention the change.
38220
38221 2009-04-26  Bruno Haible  <bruno@clisp.org>
38222
38223         Avoid test failures on AIX and OSF/1.
38224         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
38225         malloc(0).
38226         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38227         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38228         Likewise.
38229         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
38230         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
38231         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
38232         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
38233         * doc/posix-functions/malloc.texi: Document the portability problem
38234         related to malloc(0).
38235
38236 2009-04-26  Bruno Haible  <bruno@clisp.org>
38237
38238         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
38239         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
38240         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
38241
38242 2009-04-25  Bruno Haible  <bruno@clisp.org>
38243
38244         Avoid link error when creating a namespace clean library.
38245         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
38246         as macro with arguments if already defined as an alias.
38247         * lib/signbitf.c (gl_signbitf): Don't undefine.
38248         * lib/signbitd.c (gl_signbitd): Don't undefine.
38249         * lib/signbitl.c (gl_signbitl): Don't undefine.
38250
38251 2009-04-25  Jim Meyering  <meyering@redhat.com>
38252
38253         vc-list-files: fix another quoting bug
38254         * build-aux/vc-list-files: Avoid sed backslash expansion
38255         of pathological directory names.
38256
38257 2009-04-25  Eric Blake  <ebb9@byu.net>
38258
38259         vc-list-files: fix shell quoting error
38260         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
38261         timestamp.
38262
38263 2009-04-25  Jim Meyering  <meyering@redhat.com>
38264
38265         vc-list-files: restore lost functionality with subdir argument
38266         * build-aux/vc-list-files: When given a non-"." sub-directory
38267         argument, substitute the $dir/ prefix back onto each resulting name.
38268         Otherwise, coreutils' root_tests check would fail.
38269
38270 2009-04-24  Eric Blake  <ebb9@byu.net>
38271
38272         vc-list-files: ignore git symlinks
38273         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
38274         than ls-files, to ignore git symlinks.
38275
38276         maint.mk: import improvements from m4
38277         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
38278         (move_if_change): Delete unused macro.
38279         (news-date-check, vc-diff-check): Support VPATH builds.
38280         (announcement): Likewise.  Split --bootstrap-tools list...
38281         (boostrap-tools): ...into separate list, which can be overridden
38282         in cfg.mk.
38283         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
38284         requiring dependency on useless-if-before-free module.
38285         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
38286         Support VPATH builds.
38287
38288 2009-04-24  Jim Meyering  <meyering@redhat.com>
38289
38290         maint.mk: remove coreutils-specific rules and variables
38291         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
38292         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
38293         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
38294
38295         maint.mk: remove obsolete rule
38296         * top/maint.mk (rel-check): Remove rule.
38297         (WGET, WGETFLAGS): Remove now-unused variables.
38298
38299 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38300
38301         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
38302         consistency.
38303
38304         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
38305         '$(PATH_SEPARATOR)' instead of ':'.
38306
38307 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38308
38309         * lib/getopt1.c (main): Use 'const' for static array.
38310
38311 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38312
38313         * top/maint.mk: Sync with coreutils.
38314         * NEWS: Explain incompatibilities.
38315
38316 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38317             Bruno Haible  <bruno@clisp.org>
38318
38319         Fix cross-compilation results.
38320         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
38321         statement, as third argument of AC_TRY_RUN.
38322         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
38323         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
38324         Likewise.
38325         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
38326         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
38327         Likewise.
38328         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
38329         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
38330         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
38331
38332 2009-04-20  Bruno Haible  <bruno@clisp.org>
38333
38334         Avoid test failure on mingw.
38335         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
38336
38337 2009-04-20  Bruno Haible  <bruno@clisp.org>
38338
38339         Avoid compilation error on mingw.
38340         * modules/localename-tests (Depends-on): Add locale.
38341
38342 2009-04-19  Bruno Haible  <bruno@clisp.org>
38343
38344         Support for building a shared library on Windows platforms.
38345         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
38346         (main): Test the presence of UNINORM_NFC here.
38347         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
38348         (main): Test the presence of UNINORM_NFD here.
38349         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
38350         (main): Test the presence of UNINORM_NFKC here.
38351         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
38352         (main): Test the presence of UNINORM_NFKD here.
38353
38354 2009-04-19  Bruno Haible  <bruno@clisp.org>
38355
38356         Avoid a compiler warning.
38357         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
38358         Change type of variable 'sequence'.
38359
38360 2009-04-19  Bruno Haible  <bruno@clisp.org>
38361
38362         * modules/configmake (Makefile.am): When the contents of configmake.h
38363         does not change, arrange to preserve its modification time.
38364
38365 2009-04-17  Simon Josefsson  <simon@josefsson.org>
38366
38367         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
38368         gettext domain.
38369
38370 2009-04-16  Jim Meyering  <meyering@redhat.com>
38371
38372         useless-if-before-free: improve conversion code
38373         * build-aux/useless-if-before-free: Adjust code-in-comment to match
38374         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
38375
38376 2009-04-14  Bruno Haible  <bruno@clisp.org>
38377
38378         * modules/fcntl (Depends-on): Add extensions.
38379         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
38380
38381 2009-04-12  Ben Pfaff  <blp@gnu.org>
38382
38383         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
38384         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
38385
38386 2009-03-20  Ben Pfaff  <blp@gnu.org>
38387
38388         Make rename replace existing destinations on Windows.
38389         * m4/rename.m4: Add test for Mingw.
38390         * lib/rename.c: Add rename replacement that uses MoveFileEx with
38391         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
38392         * doc/posix-functions/rename.texi: Document.
38393
38394 2009-04-10  Bruno Haible  <bruno@clisp.org>
38395
38396         New include file "iconveh.h".
38397         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
38398         * lib/striconveh.h: Include it.
38399         (enum iconv_ilseq_handler): Remove definition.
38400         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
38401         striconveh.h.
38402         * lib/striconveha.c: Include striconveh.h.
38403         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
38404         * modules/striconveh (Files): Add lib/iconveh.h.
38405         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
38406         lib/striconveh.h.
38407
38408 2009-04-10  Bruno Haible  <bruno@clisp.org>
38409
38410         * lib/uniconv.h: Update comment.
38411
38412 2009-04-10  Bruno Haible  <bruno@clisp.org>
38413
38414         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
38415         always.
38416         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
38417         * lib/unistr/u16-mbtouc-aux.c: Likewise.
38418         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
38419         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
38420         "unistring-notinline.h", so that the function gets defined always.
38421         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
38422         * lib/unistr/u8-uctomb.c: Likewise.
38423         * lib/unistr/u16-mbtouc.c: Likewise.
38424         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
38425         * lib/unistr/u16-uctomb.c: Likewise.
38426         * lib/unistr/u32-mbtouc.c: Likewise.
38427         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
38428         * lib/unistr/u32-uctomb.c: Likewise.
38429
38430 2009-04-10  Bruno Haible  <bruno@clisp.org>
38431
38432         Mark 'utime' obsolete.
38433         * modules/utime (Status, Notice): New sections.
38434         Suggested by Jim Meyering.
38435
38436         Fix cross-compile guess for utime test.
38437         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
38438         autoconf.
38439         * doc/posix-functions/utime.texi: Give more precisions.
38440         Reported by Jan <ipif@ymail.com>.
38441
38442 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
38443
38444         filevercmp: correct today's change
38445         * lib/filevercmp.c: Also handle coreutils' test inputs.
38446         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
38447
38448         Fix regression in 'filevercmp' module. Thanks Sven Joachim
38449         for reporting it.
38450         * lib/filevercmp.c: Special handle for "", "." and "..".
38451         * tests/test-filevercmp.c: Enlarge the set suite.
38452
38453 2009-04-07  Jim Meyering  <meyering@redhat.com>
38454
38455         useless-if-before-free: show how to remove braced useless free, too
38456         * build-aux/useless-if-before-free: still only in a comment, though.
38457
38458 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
38459
38460         maint.mk: import changes to syntax-check macros from coreutils
38461         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
38462         Use them in the relevant macros.
38463
38464 2009-04-06  Bruno Haible  <bruno@clisp.org>
38465
38466         Fix unportable use of bit-fields.
38467         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
38468         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
38469         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
38470
38471 2009-04-06  Bruno Haible  <bruno@clisp.org>
38472
38473         Avoid test failures on AIX and OSF/1.
38474         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
38475         that malloc(0) = NULL.
38476         * tests/unicase/test-u8-tolower.c (check): Likewise.
38477         * tests/unicase/test-u8-totitle.c (check): Likewise.
38478         * tests/unicase/test-u8-toupper.c (check): Likewise.
38479         * tests/unicase/test-u16-casefold.c (check): Likewise.
38480         * tests/unicase/test-u16-tolower.c (check): Likewise.
38481         * tests/unicase/test-u16-totitle.c (check): Likewise.
38482         * tests/unicase/test-u16-toupper.c (check): Likewise.
38483         * tests/unicase/test-u32-casefold.c (check): Likewise.
38484         * tests/unicase/test-u32-tolower.c (check): Likewise.
38485         * tests/unicase/test-u32-totitle.c (check): Likewise.
38486         * tests/unicase/test-u32-toupper.c (check): Likewise.
38487         * tests/uninorm/test-u8-nfc.c (check): Likewise.
38488         * tests/uninorm/test-u8-nfd.c (check): Likewise.
38489         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
38490         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
38491         * tests/uninorm/test-u16-nfc.c (check): Likewise.
38492         * tests/uninorm/test-u16-nfd.c (check): Likewise.
38493         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
38494         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
38495         * tests/uninorm/test-u32-nfc.c (check): Likewise.
38496         * tests/uninorm/test-u32-nfd.c (check): Likewise.
38497         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
38498         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
38499
38500 2009-04-05  Bruno Haible  <bruno@clisp.org>
38501
38502         Work around an autoconf limitation.
38503         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
38504         comment line if it would be longer than 3 KB.
38505
38506 2009-04-05  Bruno Haible  <bruno@clisp.org>
38507
38508         Avoid test failure with libiconv-1.13.
38509         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
38510         of the expected test results.
38511
38512 2009-04-05  Bruno Haible  <bruno@clisp.org>
38513
38514         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
38515         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
38516         that it should be installed.
38517
38518 2009-04-05  Bruno Haible  <bruno@clisp.org>
38519
38520         * gnulib-tool: New option --copy-file.
38521         (func_usage): Document it.
38522         (func_dest_tmpfilename): Moved out of func_import.
38523         (func_add_file, func_update_file): New functions, extracted from
38524         func_import.
38525         (func_import): Update.
38526
38527 2009-04-05  Karl Berry  <karl@gnu.org>
38528
38529         * README: prominently mention gnulib-tool.
38530         Rearrange sections so getting the code is near the top.
38531
38532 2009-04-05  Bruno Haible  <bruno@clisp.org>
38533
38534         * lib/unicase.h: Mention u*_cmp2.
38535         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38536         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
38537         * lib/unicase/ulc-casecmp.c: Likewise.
38538         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
38539         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
38540         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
38541         unistr/u8-cmp.
38542         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
38543         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
38544         unistr/u16-cmp.
38545         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
38546         unistr/u32-cmp.
38547
38548         * lib/uninorm.h: Mention u*_cmp2.
38549         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38550         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
38551         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
38552         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
38553         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
38554         unistr/u8-cmp.
38555         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
38556         unistr/u16-cmp.
38557         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
38558         unistr/u32-cmp.
38559
38560         New module 'unistr/u32-cmp2'.
38561         * lib/unistr/u32-cmp2.c: New file.
38562         * modules/unistr/u32-cmp2: New file.
38563
38564         New module 'unistr/u16-cmp2'.
38565         * lib/unistr/u16-cmp2.c: New file.
38566         * modules/unistr/u16-cmp2: New file.
38567
38568         New module 'unistr/u8-cmp2'.
38569         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
38570         * lib/unistr/u8-cmp2.c: New file.
38571         * lib/unistr/u-cmp2.h: New file.
38572         * modules/unistr/u8-cmp2: New file.
38573
38574 2009-04-05  Bruno Haible  <bruno@clisp.org>
38575
38576         * lib/unictype.h (uc_property_is_valid): New macro.
38577         * tests/unictype/test-pr_byname.c (main): Use it.
38578
38579         * lib/unistr.h: Doc fixes.
38580         * lib/uniconv.h: Doc fixes.
38581         * lib/unictype.h: Doc fixes.
38582
38583 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
38584
38585         Port coreutils 7.2 to Solaris 8.
38586
38587         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
38588         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
38589         for Solaris 8.  This is a bit of a hack, as it means it's the
38590         caller's responsibility to add -lnsl if needed, but most likely it
38591         won't be needed since only getaddrinfo uses this and getaddrinfo
38592         isn't needed on Solaris 8.
38593
38594         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
38595         problem to Solaris 8 encountered with coreutils 7.2, which
38596         resulted in a message "fnmatch.c:292: warning: passing argument 4
38597         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
38598         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
38599
38600 2009-04-03  Simon Josefsson  <simon@josefsson.org>
38601
38602         * m4/ld-version-script.m4: Add FIXME comment.
38603
38604 2009-04-02  Simon Josefsson  <simon@josefsson.org>
38605
38606         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
38607         SOVERSION variable.
38608
38609 2009-04-02  Bruno Haible  <bruno@clisp.org>
38610
38611         * Makefile (info, html, dvi, pdf): Combine the rules.
38612         Suggested by Jim Meyering.
38613
38614 2009-04-01  Bruno Haible  <bruno@clisp.org>
38615
38616         * Makefile (info, html, dvi, pdf): New targets.
38617         Reported by Reuben Thomas <rrt@sc3d.org>.
38618
38619 2009-04-01  Bruno Haible  <bruno@clisp.org>
38620
38621         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
38622         can be put into PATH.
38623         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
38624
38625 2009-04-01  Bruno Haible  <bruno@clisp.org>
38626
38627         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
38628
38629 2009-04-01  Bruno Haible  <bruno@clisp.org>
38630
38631         Rename module 'visibility'.
38632         * modules/lib-symbol-visibility: Renamed from modules/visibility.
38633         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
38634         * doc/gnulib.texi: Update.
38635         * MODULES.html.sh (Misc): Update.
38636         * NEWS: Mention the change.
38637
38638 2009-04-01  Simon Josefsson  <simon@josefsson.org>
38639
38640         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
38641         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
38642         Eric Blake <ebb9@byu.net> for review.
38643         * MODULES.html.sh: Add lib-msvc-compat.
38644         * doc/gnulib.texi: Link to new section.
38645         * m4/ld-output-def.m4: New file.
38646         * doc/ld-output-def.texi: New file.
38647
38648 2009-04-01  Simon Josefsson  <simon@josefsson.org>
38649
38650         Rename ld-version-script to lib-symbol-versions.  Suggested by
38651         Bruno Haible <bruno@clisp.org>.
38652         * modules/ld-version-script: Renamed to lib-symbol-versions.
38653         * doc/ld-version-script.texi: Fix module name.
38654         * MODULES.html.sh: Add lib-symbol-versions.
38655
38656 2009-03-31  Simon Josefsson  <simon@josefsson.org>
38657
38658         * modules/u64-tests: New file.
38659         * tests/test-u64.c: New file.
38660
38661 2009-03-04  Simon Josefsson  <simon@josefsson.org>
38662
38663         * MODULES.html.sh: Mention u64.
38664         * modules/u64: New module.
38665         * modules/crypto/sha512: Depend on u64 module instead of providing
38666         u64.h.
38667
38668 2009-03-27  Eric Blake  <ebb9@byu.net>
38669
38670         test-strerror: make debugging EAI_SYSTEM easier
38671         * modules/getaddrinfo-tests (Depends-on): Add strerror.
38672         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
38673         failure was EAI_SYSTEM.
38674
38675 2009-03-25  Bruno Haible  <bruno@clisp.org>
38676
38677         Fix a problem with --enable-relocatable on Solaris 7.
38678         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
38679         since 2008-02-24.
38680
38681 2009-03-25  Eric Blake  <ebb9@byu.net>
38682
38683         test-sockets: avoid gcc warning
38684         * tests/test-sockets.c (main): Silence compiler warning.
38685
38686 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
38687
38688         New modules nproc, pthread, contributed by Glen Lenker.
38689
38690         * MODULES.html.sh: Add pthread, nproc.
38691         * lib/nproc.c: New file.
38692         * lib/nproc.h: New file.
38693         * lib/pthread.in.h: New file.
38694         * m4/pthread.m4: New file.
38695         * modules/nproc: New file.
38696         * modules/pthread: New file.
38697
38698 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38699
38700         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
38701         New variable.
38702
38703 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
38704
38705         filevercmp: handle simple~ and numbered.~3~ backup suffixes
38706         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
38707         * tests/test-filevercmp.c: Add tests for backup suffixes.
38708
38709 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38710
38711         * modules/stdlib (Depends-on): Add stdint, needed when defining
38712         struct random_data on, for example, HP-UX 10.20.  Reported by
38713         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38714
38715 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38716
38717         * lib/readline.c (readline): Call fflush on stdout after printing
38718         prompt.
38719
38720 2009-03-20  Bruno Haible  <bruno@clisp.org>
38721
38722         Remove dependency from 'close' module to -lws2_32 on native Windows.
38723         * lib/close-hook.h: New file.
38724         * lib/close-hook.c: New file.
38725         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
38726         w32sock.h.
38727         (_gl_close_fd_maybe_socket): Remove function.
38728         (rpl_close): Invoke execute_all_close_hooks instead of
38729         _gl_close_fd_maybe_socket.
38730         * lib/sockets.c: Include close-hook.h, w32sock.h.
38731         (close_fd_maybe_socket): New function, essentially from lib/close.c.
38732         (close_sockets_hook): New variable.
38733         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
38734         (gl_sockets_cleanup): Unregister it.
38735         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
38736         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
38737         * modules/close-hook: New file.
38738         * modules/close (Files): Remove lib/w32sock.h.
38739         (Depends-on): Add close-hook.
38740         (Link): Remove section.
38741         * modules/sockets (Files): Add lib/w32sock.h.
38742         (Depends-on): Add close-hook.
38743         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
38744         invocation.
38745         * NEWS: Mention that LIB_CLOSE is gone.
38746
38747 2009-03-23  Eric Blake  <ebb9@byu.net>
38748
38749         signal-tests: test previous patch
38750         * tests/test-signal.c: New file.
38751         * modules/signal-tests: Likewise.
38752
38753         signal.h: always support 'volatile sig_atomic_t'
38754         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
38755         (gl_SIGNAL_H_DEFAULTS): Add a default.
38756         * modules/signal (Makefile.am): Substitute if needed.
38757         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
38758         users can blindly add volatile.
38759         * doc/posix-headers/signal.texi (signal.h): Document it.
38760         Reported by Matthew Woehlke.
38761
38762 2009-03-23  Jim Meyering  <meyering@redhat.com>
38763
38764         pathmax: PATH_MAX: use pathconf only when available
38765         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
38766         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
38767         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
38768         This avoids a link failure in a PSP cross-compilation environment
38769         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
38770
38771         * lib/vasnprintf.c (divide): Fix typo in comment.
38772
38773 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38774
38775         * gnulib-tool (func_filter_filelist): Fix comment.
38776
38777 2009-03-20  Bruno Haible  <bruno@clisp.org>
38778
38779         Make sockets.h self-contained.
38780         * lib/sockets.c: Include sockets.h first.
38781         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
38782
38783 2009-03-19  Eric Blake  <ebb9@byu.net>
38784
38785         doc: mention more functions added in cygwin 1.7.0
38786         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
38787         addition.
38788         * doc/posix-functions/log2f.texi: Likewise.
38789
38790 2009-03-19  Jim Meyering  <meyering@redhat.com>
38791
38792         fsusage: avoid syntax error due to statement-before-declaration
38793         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
38794         after all declarations.  Reported by Matthew Woehlke in
38795         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
38796
38797 2009-03-18  Eric Blake  <ebb9@byu.net>
38798
38799         build-aux/compile: sync from automake
38800         * build-aux/compile: New file, from automake.
38801         * config/srclist.txt: Mention build-aux/compile.
38802
38803 2009-03-17  Bruno Haible  <bruno@clisp.org>
38804
38805         * lib/git-merge-changelog.c: Fix typo in comment.
38806         Reported by Reuben Thomas <rrt@sc3d.org>.
38807
38808 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
38809
38810         * m4/regex.m4: update and improve help for
38811         --without-included-regex.
38812
38813 2009-03-17  Simon Josefsson  <simon@josefsson.org>
38814
38815         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
38816         failure on missing include files.
38817
38818 2009-03-17  Eric Blake  <ebb9@byu.net>
38819
38820         doc: mention more functions added in cygwin 1.7.0
38821         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
38822         addition.
38823         * doc/posix-functions/fwscanf.texi: Likewise.
38824         * doc/posix-functions/swprintf.texi: Likewise.
38825         * doc/posix-functions/swscanf.texi: Likewise.
38826         * doc/posix-functions/vfwprintf.texi: Likewise.
38827         * doc/posix-functions/vfwscanf.texi: Likewise.
38828         * doc/posix-functions/vswprintf.texi: Likewise.
38829         * doc/posix-functions/vswscanf.texi: Likewise.
38830         * doc/posix-functions/vwprintf.texi: Likewise.
38831         * doc/posix-functions/vwscanf.texi: Likewise.
38832         * doc/posix-functions/wcscasecmp.texi: Likewise.
38833         * doc/posix-functions/wcsdup.texi: Likewise.
38834         * doc/posix-functions/wcsftime.texi: Likewise.
38835         * doc/posix-functions/wcsncasecmp.texi: Likewise.
38836         * doc/posix-functions/wprintf.texi: Likewise.
38837         * doc/posix-functions/wscanf.texi: Likewise.
38838         * doc/glibc-functions/gethostbyname2.texi: Likewise.
38839
38840 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38841
38842         maint.mk: really add $(AM_MAKEFLAGS)
38843         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
38844         was inadvertently omitted in the last commit.
38845         Spotted by Bruno Haible.
38846
38847         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
38848         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
38849         $(AM_MAKEFLAGS)' rather than plain `make'.
38850
38851         gnulib-tool: execute $MAKE not make
38852         * gnulib-tool: Default $MAKE to 'make'.
38853         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
38854         than make.  Initialize $MAKE in the do-autobuild script.
38855
38856         gnulib-tool: use $MAKE not make in generated files
38857         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
38858         make, in generated files.  Initialize $MAKE in the do-autobuild
38859         script.
38860
38861         * top/GNUmakefile (_have-git-version-gen): Fix typo.
38862
38863         GNUmakefile: disable parallelism only for multiple, recursive targets
38864         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
38865         additions in the Makefile.
38866         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
38867         by Automake.
38868         (.NOTPARALLEL): Only disable parallel builds if multiple targets
38869         are listed on the command line and at least one of them is
38870         listed in $(ALL_RECURSIVE_TARGETS).
38871
38872 2009-03-14  Bruno Haible  <bruno@clisp.org>
38873
38874         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
38875         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
38876         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
38877         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
38878         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
38879         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
38880         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
38881         unistr/u8-uctomb.
38882         * modules/unistr/u8-strchr (Depends-on): Likewise.
38883         * modules/unistr/u8-strrchr (Depends-on): Likewise.
38884         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
38885         unistr/u16-uctomb.
38886         * modules/unistr/u16-strchr (Depends-on): Likewise.
38887         * modules/unistr/u16-strrchr (Depends-on): Likewise.
38888
38889 2009-03-12  Bruno Haible  <bruno@clisp.org>
38890
38891         Work around select() bug on Interix 3.5.
38892         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
38893         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
38894         * m4/select.m4: New file.
38895         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
38896         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
38897         * modules/select (Files): Add m4/select.m4.
38898         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
38899         * modules/nanosleep (Depends-on): Add select.
38900         * modules/poll (Depends-on): Likewise.
38901         * doc/posix-functions/select.texi: Mention the Interix bug.
38902         Reported by Markus Duft <mduft@gentoo.org>.
38903
38904         * lib/select.c: Renamed from lib/winsock-select.c.
38905         * modules/select (Files): Add lib/select.c, remove
38906         lib/winsock-select.c.
38907         (configure.ac): Update.
38908
38909 2009-03-12  Jim Meyering  <meyering@redhat.com>
38910
38911         avoid gcc warnings about unused macro definitions
38912         * lib/readtokens.c (STREQ): Remove unused definition.
38913         * lib/xmalloc.c (SIZE_MAX): Likewise.
38914         * lib/openat-die.c (N_): Likewise.
38915         * lib/mountlist.c (SIZE_MAX): Remove definition.
38916         Instead, include <stdint.h>.
38917         * lib/readutmp.c: Likewise.
38918         * modules/readutmp (Depends-on): Add stdint.
38919         * modules/mountlist (Depends-on): Add stdint.
38920         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
38921
38922 2009-03-10  Bruno Haible  <bruno@clisp.org>
38923
38924         Tests for module 'mbmemcasecoll'.
38925         * modules/mbmemcasecoll-tests: New file.
38926         * tests/test-mbmemcasecoll1.sh: New file.
38927         * tests/test-mbmemcasecoll2.sh: New file.
38928         * tests/test-mbmemcasecoll3.sh: New file.
38929         * tests/test-mbmemcasecoll.c: New file.
38930
38931         New module 'mbmemcasecoll'.
38932         * lib/mbmemcasecoll.h: New file.
38933         * lib/mbmemcasecoll.c: New file.
38934         * modules/mbmemcasecoll: New file.
38935
38936         * tests/test-mbmemcasecmp.h: New file, extracted from
38937         tests/test-mbmemcasecmp.c.
38938         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
38939         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
38940         (main): Update.
38941         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
38942
38943 2009-03-09  Bruno Haible  <bruno@clisp.org>
38944
38945         Tests for module 'mbmemcasecmp'.
38946         * modules/mbmemcasecmp-tests: New file.
38947         * tests/test-mbmemcasecmp1.sh: New file.
38948         * tests/test-mbmemcasecmp2.sh: New file.
38949         * tests/test-mbmemcasecmp3.sh: New file.
38950         * tests/test-mbmemcasecmp.c: New file.
38951
38952         New module 'mbmemcasecmp'.
38953         * lib/mbmemcasecmp.h: New file.
38954         * lib/mbmemcasecmp.c: New file.
38955         * modules/mbmemcasecmp: New file.
38956
38957 2009-03-09  Bruno Haible  <bruno@clisp.org>
38958
38959         Tests for module 'unicase/ulc-casecoll'.
38960         * modules/unicase/ulc-casecoll-tests: New file.
38961         * tests/unicase/test-ulc-casecoll1.sh: New file.
38962         * tests/unicase/test-ulc-casecoll2.sh: New file.
38963         * tests/unicase/test-ulc-casecoll.c: New file.
38964
38965         New module 'unicase/ulc-casecoll'.
38966         * lib/unicase.h (ulc_casecoll): New declaration.
38967         * lib/unicase/ulc-casecoll.c: New file.
38968         * modules/unicase/ulc-casecoll: New file.
38969
38970         New module 'unicase/ulc-casexfrm'.
38971         * lib/unicase.h (ulc_casexfrm): New declaration.
38972         * lib/unicase/ulc-casexfrm.c: New file.
38973         * modules/unicase/ulc-casexfrm: New file.
38974
38975 2009-03-09  Bruno Haible  <bruno@clisp.org>
38976
38977         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
38978         invocations.
38979
38980         * m4/mbscasecmp.m4: Remove file.
38981         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
38982         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
38983
38984         * m4/mbscasestr.m4: Remove file.
38985         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
38986         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
38987
38988         * m4/mbschr.m4: Remove file.
38989         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
38990         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
38991
38992         * m4/mbscspn.m4: Remove file.
38993         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
38994         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
38995
38996         * m4/mbslen.m4: Remove file.
38997         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
38998         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
38999
39000         * m4/mbsncasecmp.m4: Remove file.
39001         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
39002         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
39003
39004         * m4/mbsnlen.m4: Remove file.
39005         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
39006         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
39007
39008         * m4/mbspbrk.m4: Remove file.
39009         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
39010         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
39011
39012         * m4/mbspcasecmp.m4: Remove file.
39013         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
39014         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
39015
39016         * m4/mbsrchr.m4: Remove file.
39017         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
39018         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
39019
39020         * m4/mbssep.m4: Remove file.
39021         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
39022         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
39023
39024         * m4/mbsspn.m4: Remove file.
39025         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
39026         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
39027
39028         * m4/mbsstr.m4: Remove file.
39029         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
39030         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
39031
39032         * m4/mbstok_r.m4: Remove file.
39033         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
39034         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
39035
39036         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
39037
39038         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
39039         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
39040
39041         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
39042
39043 2009-03-08  Bruno Haible  <bruno@clisp.org>
39044
39045         Tests for module 'unicase/ulc-casecmp'.
39046         * modules/unicase/ulc-casecmp-tests: New file.
39047         * tests/unicase/test-ulc-casecmp1.sh: New file.
39048         * tests/unicase/test-ulc-casecmp2.sh: New file.
39049         * tests/unicase/test-ulc-casecmp.c: New file.
39050
39051         New module 'unicase/ulc-casecmp'.
39052         * lib/unicase.h (ulc_casecmp): New declaration.
39053         * lib/unicase/ulc-casecmp.c: New file.
39054         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
39055         'const SRC_UNIT *'.
39056         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
39057         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
39058         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
39059         * modules/unicase/ulc-casecmp: New file.
39060
39061         Tests for module 'unicase/u32-is-cased'.
39062         * modules/unicase/u32-is-cased-tests: New file.
39063         * tests/unicase/test-u32-is-cased.c: New file.
39064
39065         Tests for module 'unicase/u16-is-cased'.
39066         * modules/unicase/u16-is-cased-tests: New file.
39067         * tests/unicase/test-u16-is-cased.c: New file.
39068
39069         Tests for module 'unicase/u8-is-cased'.
39070         * modules/unicase/u8-is-cased-tests: New file.
39071         * tests/unicase/test-u8-is-cased.c: New file.
39072         * tests/unicase/test-is-cased.h: New file.
39073
39074         New module 'unicase/u32-is-cased'.
39075         * lib/unicase/u32-is-cased.c: New file.
39076         * modules/unicase/u32-is-cased: New file.
39077
39078         New module 'unicase/u16-is-cased'.
39079         * lib/unicase/u16-is-cased.c: New file.
39080         * modules/unicase/u16-is-cased: New file.
39081
39082         New module 'unicase/u8-is-cased'.
39083         * lib/unicase/u8-is-cased.c: New file.
39084         * lib/unicase/u-is-cased.h: New file.
39085         * modules/unicase/u8-is-cased: New file.
39086
39087         Tests for module 'unicase/u32-is-casefolded'.
39088         * modules/unicase/u32-is-casefolded-tests: New file.
39089         * tests/unicase/test-u32-is-casefolded.c: New file.
39090
39091         Tests for module 'unicase/u16-is-casefolded'.
39092         * modules/unicase/u16-is-casefolded-tests: New file.
39093         * tests/unicase/test-u16-is-casefolded.c: New file.
39094
39095         Tests for module 'unicase/u8-is-casefolded'.
39096         * modules/unicase/u8-is-casefolded-tests: New file.
39097         * tests/unicase/test-u8-is-casefolded.c: New file.
39098         * tests/unicase/test-is-casefolded.h: New file.
39099
39100         New module 'unicase/u32-is-casefolded'.
39101         * lib/unicase/u32-is-casefolded.c: New file.
39102         * modules/unicase/u32-is-casefolded: New file.
39103
39104         New module 'unicase/u16-is-casefolded'.
39105         * lib/unicase/u16-is-casefolded.c: New file.
39106         * modules/unicase/u16-is-casefolded: New file.
39107
39108         New module 'unicase/u8-is-casefolded'.
39109         * lib/unicase/u8-is-casefolded.c: New file.
39110         * modules/unicase/u8-is-casefolded: New file.
39111
39112         Tests for module 'unicase/u32-is-titlecase'.
39113         * modules/unicase/u32-is-titlecase-tests: New file.
39114         * tests/unicase/test-u32-is-titlecase.c: New file.
39115
39116         Tests for module 'unicase/u16-is-titlecase'.
39117         * modules/unicase/u16-is-titlecase-tests: New file.
39118         * tests/unicase/test-u16-is-titlecase.c: New file.
39119
39120         Tests for module 'unicase/u8-is-titlecase'.
39121         * modules/unicase/u8-is-titlecase-tests: New file.
39122         * tests/unicase/test-u8-is-titlecase.c: New file.
39123         * tests/unicase/test-is-titlecase.h: New file.
39124
39125         New module 'unicase/u32-is-titlecase'.
39126         * lib/unicase/u32-is-titlecase.c: New file.
39127         * modules/unicase/u32-is-titlecase: New file.
39128
39129         New module 'unicase/u16-is-titlecase'.
39130         * lib/unicase/u16-is-titlecase.c: New file.
39131         * modules/unicase/u16-is-titlecase: New file.
39132
39133         New module 'unicase/u8-is-titlecase'.
39134         * lib/unicase/u8-is-titlecase.c: New file.
39135         * modules/unicase/u8-is-titlecase: New file.
39136
39137         Tests for module 'unicase/u32-is-lowercase'.
39138         * modules/unicase/u32-is-lowercase-tests: New file.
39139         * tests/unicase/test-u32-is-lowercase.c: New file.
39140
39141         Tests for module 'unicase/u16-is-lowercase'.
39142         * modules/unicase/u16-is-lowercase-tests: New file.
39143         * tests/unicase/test-u16-is-lowercase.c: New file.
39144
39145         Tests for module 'unicase/u8-is-lowercase'.
39146         * modules/unicase/u8-is-lowercase-tests: New file.
39147         * tests/unicase/test-u8-is-lowercase.c: New file.
39148         * tests/unicase/test-is-lowercase.h: New file.
39149
39150         New module 'unicase/u32-is-lowercase'.
39151         * lib/unicase/u32-is-lowercase.c: New file.
39152         * modules/unicase/u32-is-lowercase: New file.
39153
39154         New module 'unicase/u16-is-lowercase'.
39155         * lib/unicase/u16-is-lowercase.c: New file.
39156         * modules/unicase/u16-is-lowercase: New file.
39157
39158         New module 'unicase/u8-is-lowercase'.
39159         * lib/unicase/u8-is-lowercase.c: New file.
39160         * modules/unicase/u8-is-lowercase: New file.
39161
39162         Tests for module 'unicase/u32-is-uppercase'.
39163         * modules/unicase/u32-is-uppercase-tests: New file.
39164         * tests/unicase/test-u32-is-uppercase.c: New file.
39165
39166         Tests for module 'unicase/u16-is-uppercase'.
39167         * modules/unicase/u16-is-uppercase-tests: New file.
39168         * tests/unicase/test-u16-is-uppercase.c: New file.
39169
39170         Tests for module 'unicase/u8-is-uppercase'.
39171         * modules/unicase/u8-is-uppercase-tests: New file.
39172         * tests/unicase/test-u8-is-uppercase.c: New file.
39173         * tests/unicase/test-is-uppercase.h: New file.
39174
39175         New module 'unicase/u32-is-uppercase'.
39176         * lib/unicase/u32-is-uppercase.c: New file.
39177         * modules/unicase/u32-is-uppercase: New file.
39178
39179         New module 'unicase/u16-is-uppercase'.
39180         * lib/unicase/u16-is-uppercase.c: New file.
39181         * modules/unicase/u16-is-uppercase: New file.
39182
39183         New module 'unicase/u8-is-uppercase'.
39184         * lib/unicase/u8-is-uppercase.c: New file.
39185         * modules/unicase/u8-is-uppercase: New file.
39186
39187         New module 'unicase/u32-is-invariant'.
39188         * lib/unicase/u32-is-invariant.c: New file.
39189         * modules/unicase/u32-is-invariant: New file.
39190
39191         New module 'unicase/u16-is-invariant'.
39192         * lib/unicase/u16-is-invariant.c: New file.
39193         * modules/unicase/u16-is-invariant: New file.
39194
39195         New module 'unicase/u8-is-invariant'.
39196         * lib/unicase/u8-is-invariant.c: New file.
39197         * lib/unicase/invariant.h: New file.
39198         * lib/unicase/u-is-invariant.h: New file.
39199         * modules/unicase/u8-is-invariant: New file.
39200
39201         Tests for module 'unicase/u32-casecoll'.
39202         * modules/unicase/u32-casecoll-tests: New file.
39203         * tests/unicase/test-u32-casecoll.c: New file.
39204
39205         Tests for module 'unicase/u16-casecoll'.
39206         * modules/unicase/u16-casecoll-tests: New file.
39207         * tests/unicase/test-u16-casecoll.c: New file.
39208
39209         Tests for module 'unicase/u8-casecoll'.
39210         * modules/unicase/u8-casecoll-tests: New file.
39211         * tests/unicase/test-u8-casecoll.c: New file.
39212
39213         New module 'unicase/u32-casecoll'.
39214         * lib/unicase/u32-casecoll.c: New file.
39215         * modules/unicase/u32-casecoll: New file.
39216
39217         New module 'unicase/u16-casecoll'.
39218         * lib/unicase/u16-casecoll.c: New file.
39219         * modules/unicase/u16-casecoll: New file.
39220
39221         New module 'unicase/u8-casecoll'.
39222         * lib/unicase/u8-casecoll.c: New file.
39223         * lib/unicase/u-casecoll.h: New file.
39224         * modules/unicase/u8-casecoll: New file.
39225
39226         New module 'unicase/u32-casexfrm'.
39227         * lib/unicase/u32-casexfrm.c: New file.
39228         * modules/unicase/u32-casexfrm: New file.
39229
39230         New module 'unicase/u16-casexfrm'.
39231         * lib/unicase/u16-casexfrm.c: New file.
39232         * modules/unicase/u16-casexfrm: New file.
39233
39234         New module 'unicase/u8-casexfrm'.
39235         * lib/unicase/u8-casexfrm.c: New file.
39236         * lib/unicase/u-casexfrm.h: New file.
39237         * modules/unicase/u8-casexfrm: New file.
39238
39239         Tests for module 'unicase/u32-casecmp'.
39240         * modules/unicase/u32-casecmp-tests: New file.
39241         * tests/unicase/test-u32-casecmp.c: New file.
39242
39243         Tests for module 'unicase/u16-casecmp'.
39244         * modules/unicase/u16-casecmp-tests: New file.
39245         * tests/unicase/test-u16-casecmp.c: New file.
39246
39247         Tests for module 'unicase/u8-casecmp'.
39248         * modules/unicase/u8-casecmp-tests: New file.
39249         * tests/unicase/test-u8-casecmp.c: New file.
39250         * tests/unicase/test-casecmp.h: New file.
39251
39252         New module 'unicase/u32-casecmp'.
39253         * lib/unicase/u32-casecmp.c: New file.
39254         * modules/unicase/u32-casecmp: New file.
39255
39256         New module 'unicase/u16-casecmp'.
39257         * lib/unicase/u16-casecmp.c: New file.
39258         * modules/unicase/u16-casecmp: New file.
39259
39260         New module 'unicase/u8-casecmp'.
39261         * lib/unicase/u8-casecmp.c: New file.
39262         * lib/unicase/u-casecmp.h: New file.
39263         * modules/unicase/u8-casecmp: New file.
39264
39265         Tests for module 'unicase/u32-casefold'.
39266         * modules/unicase/u32-casefold-tests: New file.
39267         * tests/unicase/test-u32-casefold.c: New file.
39268
39269         Tests for module 'unicase/u16-casefold'.
39270         * modules/unicase/u16-casefold-tests: New file.
39271         * tests/unicase/test-u16-casefold.c: New file.
39272
39273         Tests for module 'unicase/u8-casefold'.
39274         * modules/unicase/u8-casefold-tests: New file.
39275         * tests/unicase/test-u8-casefold.c: New file.
39276
39277         New module 'unicase/u32-casefold'.
39278         * lib/unicase/u32-casefold.c: New file.
39279         * modules/unicase/u32-casefold: New file.
39280
39281         New module 'unicase/u16-casefold'.
39282         * lib/unicase/u16-casefold.c: New file.
39283         * modules/unicase/u16-casefold: New file.
39284
39285         New module 'unicase/u8-casefold'.
39286         * lib/unicase/u8-casefold.c: New file.
39287         * lib/unicase/u-casefold.h: New file.
39288         * modules/unicase/u8-casefold: New file.
39289
39290         New module 'unicase/tocasefold'.
39291         * lib/unicase/casefold.h: New file.
39292         * lib/unicase/tocasefold.c: New file.
39293         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
39294         * modules/unicase/tocasefold: New file.
39295
39296         Tests for module 'unicase/u32-totitle'.
39297         * modules/unicase/u32-totitle-tests: New file.
39298         * tests/unicase/test-u32-totitle.c: New file.
39299
39300         Tests for module 'unicase/u16-totitle'.
39301         * modules/unicase/u16-totitle-tests: New file.
39302         * tests/unicase/test-u16-totitle.c: New file.
39303
39304         Tests for module 'unicase/u8-totitle'.
39305         * modules/unicase/u8-totitle-tests: New file.
39306         * tests/unicase/test-u8-totitle.c: New file.
39307
39308         New module 'unicase/u32-totitle'.
39309         * lib/unicase/u32-totitle.c: New file.
39310         * modules/unicase/u32-totitle: New file.
39311
39312         New module 'unicase/u16-totitle'.
39313         * lib/unicase/u16-totitle.c: New file.
39314         * modules/unicase/u16-totitle: New file.
39315
39316         New module 'unicase/u8-totitle'.
39317         * lib/unicase/u8-totitle.c: New file.
39318         * lib/unicase/u-totitle.h: New file.
39319         * modules/unicase/u8-totitle: New file.
39320
39321         Tests for module 'unicase/u32-tolower'.
39322         * modules/unicase/u32-tolower-tests: New file.
39323         * tests/unicase/test-u32-tolower.c: New file.
39324
39325         Tests for module 'unicase/u16-tolower'.
39326         * modules/unicase/u16-tolower-tests: New file.
39327         * tests/unicase/test-u16-tolower.c: New file.
39328
39329         Tests for module 'unicase/u8-tolower'.
39330         * modules/unicase/u8-tolower-tests: New file.
39331         * tests/unicase/test-u8-tolower.c: New file.
39332
39333         New module 'unicase/u32-tolower'.
39334         * lib/unicase/u32-tolower.c: New file.
39335         * modules/unicase/u32-tolower: New file.
39336
39337         New module 'unicase/u16-tolower'.
39338         * lib/unicase/u16-tolower.c: New file.
39339         * modules/unicase/u16-tolower: New file.
39340
39341         New module 'unicase/u8-tolower'.
39342         * lib/unicase/u8-tolower.c: New file.
39343         * modules/unicase/u8-tolower: New file.
39344
39345         Tests for module 'unicase/u32-toupper'.
39346         * modules/unicase/u32-toupper-tests: New file.
39347         * tests/unicase/test-u32-toupper.c: New file.
39348
39349         Tests for module 'unicase/u16-toupper'.
39350         * modules/unicase/u16-toupper-tests: New file.
39351         * tests/unicase/test-u16-toupper.c: New file.
39352
39353         Tests for module 'unicase/u8-toupper'.
39354         * modules/unicase/u8-toupper-tests: New file.
39355         * tests/unicase/test-u8-toupper.c: New file.
39356
39357         New module 'unicase/u32-toupper'.
39358         * lib/unicase/u32-toupper.c: New file.
39359         * modules/unicase/u32-toupper: New file.
39360
39361         New module 'unicase/u16-toupper'.
39362         * lib/unicase/u16-toupper.c: New file.
39363         * modules/unicase/u16-toupper: New file.
39364
39365         New module 'unicase/u8-toupper'.
39366         * lib/unicase/u8-toupper.c: New file.
39367         * modules/unicase/u8-toupper: New file.
39368
39369         New module 'unicase/u32-casemap'.
39370         * lib/unicase/u32-casemap.c: New file.
39371         * modules/unicase/u32-casemap: New file.
39372
39373         New module 'unicase/u16-casemap'.
39374         * lib/unicase/u16-casemap.c: New file.
39375         * modules/unicase/u16-casemap: New file.
39376
39377         New module 'unicase/u8-casemap'.
39378         * lib/unicase/unicasemap.h: New file.
39379         * lib/unicase/u8-casemap.c: New file.
39380         * lib/unicase/u-casemap.h: New file.
39381         * modules/unicase/u8-casemap: New file.
39382
39383         New module 'unicase/special-casing'.
39384         * lib/unicase/special-casing.h: New file.
39385         * lib/unicase/special-casing.c: New file.
39386         * lib/unicase/special-casing-table.gperf: New file, generated by
39387         gen-uni-tables.c.
39388         * modules/unicase/special-casing: New file.
39389
39390         Tests for module 'unicase/locale-language'.
39391         * modules/unicase/locale-language-tests: New file.
39392         * tests/unicase/test-locale-language.sh: New file.
39393         * tests/unicase/test-locale-language.c: New file.
39394
39395         New module 'unicase/locale-language'.
39396         * lib/unicase/locale-language.c: New file.
39397         * lib/unicase/locale-languages.gperf: New file.
39398         * modules/unicase/locale-language: New file.
39399
39400         Generate more tables for case conversion and case folding.
39401         * lib/gen-uni-tables.c (SCC_*): New enum items.
39402         (struct special_casing_rule): New type.
39403         (casing_rules, num_casing_rules, allocated_casing_rules): New
39404         variables.
39405         (add_casing_rule, fill_casing_rules): New functions.
39406         (struct casefold_rule): New type.
39407         (casefolding_rules, num_casefolding_rules,
39408         allocated_casefolding_rules): New variables.
39409         (fill_casefolding_rules): New function.
39410         (unicode_casefold): New variable.
39411         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
39412         sort_casing_rules, output_casing_rules): New functions.
39413         (main): Accept to more arguments: SpecialCasing.txt and
39414         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
39415         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
39416         Output mapping for casefolding.
39417
39418         * lib/unicase.h: Include stdbool.h, uninorm.h.
39419         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
39420         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
39421         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
39422         arguments.
39423         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
39424         resultp arguments.
39425         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
39426         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
39427         resultp arguments.
39428         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
39429         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
39430         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
39431         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
39432         declarations.
39433         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
39434
39435 2009-03-08  Bruno Haible  <bruno@clisp.org>
39436
39437         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39438         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
39439         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
39440         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39441
39442 2009-03-07  Bruno Haible  <bruno@clisp.org>
39443
39444         Adjust u*_normcmp, u*_normcoll API.
39445         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39446         u16_normcoll, u32_normcoll): Change failure conventions.
39447         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
39448         errno and return -1.
39449         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39450
39451 2009-03-07  Bruno Haible  <bruno@clisp.org>
39452
39453         Tests for module 'uninorm/u32-normcoll'.
39454         * modules/uninorm/u32-normcoll-tests: New file.
39455         * tests/uninorm/test-u32-normcoll.c: New file.
39456
39457         Tests for module 'uninorm/u16-normcoll'.
39458         * modules/uninorm/u16-normcoll-tests: New file.
39459         * tests/uninorm/test-u16-normcoll.c: New file.
39460
39461         Tests for module 'uninorm/u8-normcoll'.
39462         * modules/uninorm/u8-normcoll-tests: New file.
39463         * tests/uninorm/test-u8-normcoll.c: New file.
39464
39465 2009-03-07  Bruno Haible  <bruno@clisp.org>
39466
39467         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
39468         tests/uninorm/test-u32-normcmp.c.
39469         * tests/uninorm/test-u32-normcmp.c: Include it.
39470         (test_nonascii): New function, extracted from main. Add some more
39471         tests.
39472         (main): Invoke test_ascii and test_nonascii.
39473         * modules/uninorm/u32-normcmp-tests (Files): Add
39474         tests/uninorm/test-u32-normcmp.h.
39475         (Depends-on): Remove uninorm/u32-normcmp.
39476
39477         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
39478         tests/uninorm/test-u16-normcmp.c.
39479         * tests/uninorm/test-u16-normcmp.c: Include it.
39480         (test_nonascii): New function, extracted from main. Add some more
39481         tests.
39482         (main): Invoke test_ascii and test_nonascii.
39483         * modules/uninorm/u16-normcmp-tests (Files): Add
39484         tests/uninorm/test-u16-normcmp.h.
39485         (Depends-on): Remove uninorm/u16-normcmp.
39486
39487         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
39488         tests/uninorm/test-u8-normcmp.c.
39489         * tests/uninorm/test-u8-normcmp.c: Include it.
39490         (test_nonascii): New function, extracted from main. Add some more
39491         tests.
39492         (main): Invoke test_ascii and test_nonascii.
39493         * modules/uninorm/u8-normcmp-tests (Files): Add
39494         tests/uninorm/test-u8-normcmp.h.
39495         (Depends-on): Remove uninorm/u8-normcmp.
39496
39497 2009-03-07  Bruno Haible  <bruno@clisp.org>
39498
39499         New module 'uninorm/u32-normcoll'.
39500         * lib/uninorm/u32-normcoll.c: New file.
39501         * modules/uninorm/u32-normcoll: New file.
39502
39503         New module 'uninorm/u16-normcoll'.
39504         * lib/uninorm/u16-normcoll.c: New file.
39505         * modules/uninorm/u16-normcoll: New file.
39506
39507         New module 'uninorm/u8-normcoll'.
39508         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
39509         declarations.
39510         * lib/uninorm/u8-normcoll.c: New file.
39511         * lib/uninorm/u-normcoll.h: New file.
39512         * modules/uninorm/u8-normcoll: New file.
39513
39514         New module 'uninorm/u32-normxfrm'.
39515         * lib/uninorm/u32-normxfrm.c: New file.
39516         * modules/uninorm/u32-normxfrm: New file.
39517
39518         New module 'uninorm/u16-normxfrm'.
39519         * lib/uninorm/u16-normxfrm.c: New file.
39520         * modules/uninorm/u16-normxfrm: New file.
39521
39522         New module 'uninorm/u8-normxfrm'.
39523         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
39524         declarations.
39525         * lib/uninorm/u8-normxfrm.c: New file.
39526         * lib/uninorm/u-normxfrm.h: New file.
39527         * modules/uninorm/u8-normxfrm: New file.
39528
39529 2009-03-07  Bruno Haible  <bruno@clisp.org>
39530
39531         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
39532         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
39533         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
39534
39535 2009-03-07  Bruno Haible  <bruno@clisp.org>
39536
39537         New module 'memxfrm'.
39538         * lib/memxfrm.h: New file.
39539         * lib/memxfrm.c: New file.
39540         * modules/memxfrm: New file.
39541
39542 2009-03-07  Bruno Haible  <bruno@clisp.org>
39543
39544         New module 'memcmp2'.
39545         * lib/memcmp2.h: New file.
39546         * lib/memcmp2.c: New file.
39547         * modules/memcmp2: New file.
39548
39549 2009-03-07  Bruno Haible  <bruno@clisp.org>
39550
39551         Tests for module 'uninorm/decomposing-form'.
39552         * modules/uninorm/decomposing-form-tests: New file.
39553         * tests/uninorm/test-decomposing-form.c: New file.
39554
39555         New module 'uninorm/decomposing-form'.
39556         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
39557         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
39558         Add 'decomposing_variant' field.
39559         * lib/uninorm/decomposing-form.c: New file.
39560         * lib/uninorm/nfc.c (uninorm_nfc): Update.
39561         * lib/uninorm/nfd.c (uninorm_nfd): Update.
39562         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
39563         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
39564         * modules/uninorm/decomposing-form: New file.
39565         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
39566         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
39567
39568 2009-03-07  Bruno Haible  <bruno@clisp.org>
39569
39570         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
39571         strings.
39572
39573 2009-03-06  Bruno Haible  <bruno@clisp.org>
39574
39575         Tests for module 'uninorm/u32-normcmp'.
39576         * tests/uninorm/test-u32-normcmp.c: New file.
39577         * modules/uninorm/u32-normcmp-tests: New file.
39578
39579         Tests for module 'uninorm/u16-normcmp'.
39580         * tests/uninorm/test-u16-normcmp.c: New file.
39581         * modules/uninorm/u16-normcmp-tests: New file.
39582
39583         Tests for module 'uninorm/u8-normcmp'.
39584         * tests/uninorm/test-u8-normcmp.c: New file.
39585         * modules/uninorm/u8-normcmp-tests: New file.
39586
39587         New module 'uninorm/u32-normcmp'.
39588         * lib/uninorm/u32-normcmp.c: New file.
39589         * modules/uninorm/u32-normcmp: New file.
39590
39591         New module 'uninorm/u16-normcmp'.
39592         * lib/uninorm/u16-normcmp.c: New file.
39593         * modules/uninorm/u16-normcmp: New file.
39594
39595         New module 'uninorm/u8-normcmp'.
39596         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
39597         declarations.
39598         * lib/uninorm/u8-normcmp.c: New file.
39599         * lib/uninorm/u-normcmp.h: New file.
39600         * modules/uninorm/u8-normcmp: New file.
39601
39602 2009-03-06  Bruno Haible  <bruno@clisp.org>
39603
39604         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
39605         Reported by Eric Blake.
39606
39607 2009-03-06  Eric Blake  <ebb9@byu.net>
39608             Bruno Haible  <bruno@clisp.org>
39609
39610         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
39611         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
39612         condition.
39613         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
39614         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
39615         condition.
39616         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
39617
39618 2009-03-06  Eric Blake  <ebb9@byu.net>
39619
39620         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
39621         to avoid compiler warnings.
39622         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
39623
39624 2009-03-05  Bruno Haible  <bruno@clisp.org>
39625
39626         * tests/test-ftell.c (main): Disable test beyond end of file on
39627         FreeMiNT.
39628         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
39629
39630 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
39631
39632         * lib/filevercmp.c: Move hidden files up in ordering.
39633         * tests/test-filevercmp.c: Add tests for hidden files.
39634
39635 2009-03-04  Bruno Haible  <bruno@clisp.org>
39636
39637         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
39638         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
39639         AM_CFLAGS.
39640         Reported by Simon Josefsson.
39641
39642 2009-03-03  Bruno Haible  <bruno@clisp.org>
39643
39644         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
39645         Reported by Simon Josefsson.
39646
39647         * doc/ld-version-script.texi: Update node reference.
39648
39649 2009-03-03  Bruno Haible  <bruno@clisp.org>
39650
39651         * modules/visibility (License): Change to 'unlimited'.
39652         Suggested by Simon Josefsson.
39653
39654 2009-03-03  Jim Meyering  <meyering@redhat.com>
39655
39656         unlinkdir: cannot_unlink_dir may modify process state
39657         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
39658         it's neither thread-safe nor appropriate for use in a library.
39659
39660 2009-03-03  Eric Blake  <ebb9@byu.net>
39661
39662         test-closein: silence test under Darwin
39663         * tests/test-closein.sh: Ignore stderr from cat, since we don't
39664         care if it dies from EPIPE or EBADF.
39665
39666 2009-03-03  Bruno Haible  <bruno@clisp.org>
39667
39668         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
39669         earlier.
39670         * doc/visibility.texi: Fix @node and @section.
39671
39672 2009-03-03  Simon Josefsson  <simon@josefsson.org>
39673
39674         * doc/gnulib.texi: Link to sections for ld version script and
39675         visibility.
39676         * doc/visibility.texi: Add @node and @section.
39677         * modules/ld-version-script: New module.
39678         * m4/ld-version-script.m4: New file.
39679         * doc/ld-version-script.texi: New file.
39680
39681 2009-03-02  David Lutterkort  <lutter@redhat.com>
39682
39683         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
39684         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39685
39686 2009-03-02  Bruno Haible  <bruno@clisp.org>
39687
39688         * doc/visibility.texi: Mention libtool's -export-symbols option.
39689
39690 2009-03-02  Jim Meyering  <meyering@redhat.com>
39691
39692         announce-gen: new option: --no-print-checksums
39693         * build-aux/announce-gen (usage): Describe it.
39694         (print_checksums): Print a newline here, not in the [*] footnote.
39695         (main): Honor it.
39696
39697 2009-03-01  Bruno Haible  <bruno@clisp.org>
39698
39699         Use socklen_t in the native Windows replacements prototypes.
39700         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
39701         instead of 'int'.
39702         * lib/getsockopt.c (rpl_getsockopt): Likewise.
39703         * lib/setsockopt.c (rpl_setsockopt): Likewise.
39704         * modules/getsockopt (Depends-on): Add socklen.
39705         * modules/setsockopt (Depends-on): Add socklen.
39706
39707 2009-03-01  Bruno Haible  <bruno@clisp.org>
39708
39709         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
39710         least 4.2.
39711
39712 2009-03-01  Eric Blake  <ebb9@byu.net>
39713             Bruno Haible  <bruno@clisp.org>
39714
39715         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
39716         error messages.
39717         * lib/wait-process.c (wait_subprocess): Omit error message about
39718         deadly signal sent to the child of termsigp != NULL.
39719
39720 2009-03-01  Eric Blake  <ebb9@byu.net>
39721
39722         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
39723
39724 2009-03-01  Bruno Haible  <bruno@clisp.org>
39725
39726         Avoid a gcc warning.
39727         * tests/test-sched.c (b): Make global.
39728         Reported by Eric Blake.
39729
39730 2009-01-19  Martin Lambers  <marlam@marlam.de>
39731
39732         Provide POSIX semantics for socket timeout options on W32.
39733         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
39734         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
39735         * modules/setsockopt: Depend on sys_time module for struct timeval.
39736         * modules/getsockopt: Depend on sys_time module for struct timeval.
39737
39738 2009-03-01  Simon Josefsson  <simon@josefsson.org>
39739
39740         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
39741         __USE_GNU, for consistency with netdb.in.h.
39742         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39743
39744 2009-03-01  Bruno Haible  <bruno@clisp.org>
39745
39746         More support for FreeMiNT.
39747         * lib/fseeko.c (rpl_fseeko): Complete last commit.
39748         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39749
39750 2009-03-01  Bruno Haible  <bruno@clisp.org>
39751
39752         More support for FreeMiNT.
39753         * lib/fpurge.c (fpurge): Correct last commit.
39754         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39755
39756 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39757
39758         Fix unportable awk script in vc-list-files.
39759         * build-aux/vc-list-files: In the replacement awk script, use
39760         substr with a second argument of 1, not zero.
39761         Report by Simon Josefsson.
39762
39763 2009-02-28  Bruno Haible  <bruno@clisp.org>
39764
39765         More support for FreeMiNT.
39766         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
39767         to FreeMiNT today.
39768         * lib/fwriting.c (fwriting): Likewise.
39769         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
39770
39771 2009-02-28  Bruno Haible  <bruno@clisp.org>
39772
39773         * tests/test-freadseek.c (main): Disable test beyond end of file on
39774         FreeMiNT.
39775         * tests/test-ftello.c (main): Likewise.
39776         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
39777
39778 2009-02-28  Bruno Haible  <bruno@clisp.org>
39779
39780         Add tentative support for FreeMiNT.
39781         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
39782         * lib/fpurge.c (fpurge): Likewise.
39783         * lib/freadable.c (freadable): Likewise.
39784         * lib/freading.c (freading): Likewise.
39785         * lib/freadptr.c (freadptr): Likewise.
39786         * lib/freadseek.c (freadptrinc): Likewise.
39787         * lib/fseeko.c (rpl_fseeko): Likewise.
39788         * lib/fseterr.c (fseterr): Likewise.
39789         * lib/fwritable.c (fwritable): Likewise.
39790         * lib/fwriting.c (fwriting): Likewise.
39791         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
39792         Hourihane.
39793         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39794
39795 2009-02-28  Bruno Haible  <bruno@clisp.org>
39796
39797         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
39798         SIGCHLD.
39799         Reported by Jim Meyering.
39800
39801 2009-02-28  Bruno Haible  <bruno@clisp.org>
39802
39803         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
39804         Mention the results of these tests on various platforms.
39805         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
39806         order.
39807         * doc/posix-functions/printf.texi: Likewise.
39808         * doc/posix-functions/snprintf.texi: Likewise.
39809         * doc/posix-functions/sprintf.texi: Likewise.
39810         * doc/posix-functions/vfprintf.texi: Likewise.
39811         * doc/posix-functions/vprintf.texi: Likewise.
39812         * doc/posix-functions/vsnprintf.texi: Likewise.
39813         * doc/posix-functions/vsprintf.texi: Likewise.
39814         * doc/glibc-functions/obstack_printf.texi: Likewise.
39815         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
39816
39817 2009-02-28  Bruno Haible  <bruno@clisp.org>
39818
39819         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
39820         Reported by Loïc Minier <lool@dooz.org>.
39821
39822 2009-02-27  Bruno Haible  <bruno@clisp.org>
39823
39824         * gnulib-tool (func_import): Make the sed expression used to create the
39825         sed script for updating the .gitignore file POSIX compliant.
39826         Reported by Eric Blake.
39827
39828 2009-02-27  Bruno Haible  <bruno@clisp.org>
39829
39830         * gnulib-tool (sed): Don't alias as "sed --posix".
39831         Reported by Eric Blake.
39832
39833 2009-02-27  Bruno Haible  <bruno@clisp.org>
39834
39835         Avoid test link errors.
39836         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
39837         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
39838         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
39839         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
39840         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39841
39842 2009-02-27  Bruno Haible  <bruno@clisp.org>
39843
39844         Avoid spurious "(cached)" in configure output.
39845         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
39846         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
39847         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
39848         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
39849         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
39850         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
39851         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
39852         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
39853         Reported by Eric Blake.
39854
39855 2009-02-27  Eric Blake  <ebb9@byu.net>
39856
39857         printf: fix regression in previous patch
39858         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
39859
39860 2009-02-27  Bruno Haible  <bruno@clisp.org>
39861
39862         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
39863         value.
39864         * lib/stdint.in.h: Likewise.
39865         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
39866
39867 2009-02-27  Eric Blake  <ebb9@byu.net>
39868
39869         doc: mention more functions added in cygwin 1.7.0
39870         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
39871         addition.
39872         * doc/posix-functions/open_wmemstream.texi: Likewise.
39873         * doc/posix-functions/wcsnlen.texi: Likewise.
39874         * doc/posix-functions/wcsnrtombs.texi: Likewise.
39875         * doc/posix-functions/wcstod.texi: Likewise.
39876         * doc/posix-functions/wcstof.texi: Likewise.
39877         * doc/posix-functions/wcstoimax.texi: Likewise.
39878         * doc/posix-functions/wcstok.texi: Likewise.
39879         * doc/posix-functions/wcstoumax.texi: Likewise.
39880
39881         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
39882         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
39883         * doc/posix-functions/fprintf.texi: Update.
39884         * doc/posix-functions/printf.texi: Update.
39885         * doc/posix-functions/snprintf.texi: Update.
39886         * doc/posix-functions/sprintf.texi: Update.
39887         * doc/posix-functions/vfprintf.texi: Update.
39888         * doc/posix-functions/vprintf.texi: Update.
39889         * doc/posix-functions/vsnprintf.texi: Update.
39890         * doc/posix-functions/vsprintf.texi: Update.
39891         * doc/glibc-functions/obstack_printf.texi: Update.
39892         * doc/glibc-functions/obstack_vprintf.texi: Update.
39893
39894 2009-02-26  Eric Blake  <ebb9@byu.net>
39895
39896         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
39897         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
39898         compilation bug by using runtime conversion.
39899         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
39900         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
39901         * modules/ceill-tests (Files): Use nan.h.
39902         * modules/floorl-tests (Files): Likewise.
39903         * modules/frexpl-tests (Files): Likewise.
39904         * modules/isnanl-tests (Files): Likewise.
39905         * modules/ldexpl-tests (Files): Likewise.
39906         * modules/roundl-tests (Files): Likewise.
39907         * modules/truncl-tests (Files): Likewise.
39908         * tests/test-ceill.c (main): Use a working NaN.
39909         * tests/test-floorl.c (main): Likewise.
39910         * tests/test-frexpl.c (main): Likewise.
39911         * tests/test-isnan.c (test_long_double): Likewise.
39912         * tests/test-isnanl.h (main): Likewise.
39913         * tests/test-ldexpl.h (main): Likewise.
39914         * tests/test-roundl.h (main): Likewise.
39915         * tests/test-truncl.h (main): Likewise.
39916         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
39917
39918 2009-02-26  Eric Blake  <ebb9@byu.net>
39919             Bruno Haible  <bruno@clisp.org>
39920
39921         Work around a *printf bug with %ls on Solaris.
39922         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
39923         precision is specified, sprintf stops converting the wide string
39924         argument when the number of bytes that have been produced by this
39925         conversion equals or exceeds the precision.
39926         * doc/posix-functions/fprintf.texi: Update.
39927         * doc/posix-functions/printf.texi: Update.
39928         * doc/posix-functions/snprintf.texi: Update.
39929         * doc/posix-functions/sprintf.texi: Update.
39930         * doc/posix-functions/vfprintf.texi: Update.
39931         * doc/posix-functions/vprintf.texi: Update.
39932         * doc/posix-functions/vsnprintf.texi: Update.
39933         * doc/posix-functions/vsprintf.texi: Update.
39934         * doc/glibc-functions/obstack_printf.texi: Update.
39935         * doc/glibc-functions/obstack_vprintf.texi: Update.
39936
39937 2009-02-26  Eric Blake  <ebb9@byu.net>
39938
39939         stdlib: favor compiler check of random.h
39940         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
39941         to avoid an ObjC random.h installed by Swarm.
39942
39943 2009-02-26  Bruno Haible  <bruno@clisp.org>
39944
39945         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
39946         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
39947         Reported by Gary V. Vaughan <gary@gnu.org>.
39948
39949 2009-02-26  Bruno Haible  <bruno@clisp.org>
39950
39951         Fix *printf behaviour regarding the %ls directive.
39952         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
39953         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
39954         NEED_PRINTF_DIRECTIVE_LS.
39955         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
39956         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
39957         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
39958         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
39959         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
39960         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
39961         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
39962         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
39963         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39964         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39965         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39966         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
39967         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39968         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39969         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39970         * doc/posix-functions/fprintf.texi: Update.
39971         * doc/posix-functions/printf.texi: Update.
39972         * doc/posix-functions/snprintf.texi: Update.
39973         * doc/posix-functions/sprintf.texi: Update.
39974         * doc/posix-functions/vfprintf.texi: Update.
39975         * doc/posix-functions/vprintf.texi: Update.
39976         * doc/posix-functions/vsnprintf.texi: Update.
39977         * doc/posix-functions/vsprintf.texi: Update.
39978         * doc/glibc-functions/obstack_printf.texi: Update.
39979         * doc/glibc-functions/obstack_vprintf.texi: Update.
39980         Reported by Eric Blake.
39981
39982 2009-02-25  Bruno Haible  <bruno@clisp.org>
39983
39984         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
39985         with known value.
39986         Reported by Gary V. Vaughan <gary@gnu.org>.
39987
39988 2009-02-25  Bruno Haible  <bruno@clisp.org>
39989
39990         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
39991         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
39992         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
39993         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
39994         Reported by Gary V. Vaughan <gary@gnu.org>.
39995
39996 2009-02-25  Bruno Haible  <bruno@clisp.org>
39997
39998         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
39999         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
40000         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
40001         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
40002         Reported by Gary V. Vaughan <gary@gnu.org>.
40003
40004 2009-02-25  Eric Blake  <ebb9@byu.net>
40005
40006         tests: skip fseek/ftell tests if ungetc is broken
40007         * m4/ungetc.m4: New file.
40008         * modules/fseek-tests: Split test, so ungetc dependency is
40009         separate from rest of test.
40010         * modules/fseeko-tests: Likewise.
40011         * modules/ftell-tests: Likewise.
40012         * modules/ftello-tests: Likewise.
40013         * tests/test-fseek.c (main): Isolate ungetc dependency.
40014         * tests/test-fseeko.c (main): Likewise.
40015         * tests/test-ftell.c (main): Likewise.
40016         * tests/test-ftello.c (main): Likewise.
40017         * tests/test-fseek2.sh: New file.
40018         * tests/test-fseeko2.sh: Likewise.
40019         * tests/test-ftell2.sh: Likewise.
40020         * tests/test-ftello2.sh: Likewise.
40021
40022 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
40023
40024         test-getaddrinfo: fix usage of skip return code 77
40025         * tests/test-gettaddrinfo.c: Return skip code 77 only
40026         for first occurance of skip (4x77 is not 77)
40027
40028 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
40029
40030         strtod: avoid C99 decl-after-statement
40031         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
40032
40033 2009-02-24  Eric Blake  <ebb9@byu.net>
40034
40035         strtod: detect HP-UX 11.31 bug
40036         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
40037         Reported by Gary V. Vaughan.
40038
40039 2009-02-23  Bruno Haible  <bruno@clisp.org>
40040
40041         Fix invalid read past end of memory block.
40042         * lib/vasnprintf.c (DCHAR_SET): Define.
40043         (local_wcslen): Define only when needed.
40044         (local_strnlen, local_wcsnlen): New functions.
40045         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
40046         directives that involve a conversion ourselves.
40047         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
40048         wcsnlen, mbrtowc, wcrtomb.
40049         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
40050         * tests/test-vasprintf-posix.c (test_function): Likewise.
40051         * tests/test-snprintf-posix.h (test_function): Likewise.
40052         * tests/test-sprintf-posix.h (test_function): Likewise.
40053         Reported by Ben Pfaff <blp@cs.stanford.edu>.
40054
40055 2009-02-22  Bruno Haible  <bruno@clisp.org>
40056
40057         Implement new clarified decomposition of Hangul syllables.
40058         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
40059         of type LTV, return only a pairwise decomposition.
40060         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
40061         Likewise.
40062         * tests/uninorm/test-decomposition.c (main): Updated expected result.
40063         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
40064         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
40065
40066 2009-02-22  Bruno Haible  <bruno@clisp.org>
40067
40068         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
40069         zero-length results and shrink excess allocated memory.
40070         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
40071         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
40072         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
40073         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
40074         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
40075         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
40076         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
40077         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
40078         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
40079         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
40080         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
40081         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
40082
40083 2009-02-21  Bruno Haible  <bruno@clisp.org>
40084
40085         * doc/gnulib.texi: Include safe-alloc.texi earlier.
40086         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
40087         spaces after a period. Put a space between a macro name and its
40088         argument list. Trivial rewordings.
40089         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
40090         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
40091         (main): Return 0 explicitly.
40092
40093 2009-02-21  Bruno Haible  <bruno@clisp.org>
40094
40095         Tests for module 'uninorm/filter'.
40096         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
40097         * modules/uninorm/filter-tests: New file.
40098
40099         New module 'uninorm/filter'.
40100         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
40101         uninorm_filter_flush, uninorm_filter_free): New declarations.
40102         * lib/uninorm/uninorm-filter.c: New file.
40103         * modules/uninorm/filter: New file.
40104
40105 2009-02-21  Bruno Haible  <bruno@clisp.org>
40106
40107         Tests for module 'uninorm/nfkc'.
40108         * tests/uninorm/test-nfkc.c: New file.
40109         * tests/uninorm/test-u8-nfkc.c: New file.
40110         * tests/uninorm/test-u16-nfkc.c: New file.
40111         * tests/uninorm/test-u32-nfkc.c: New file.
40112         * tests/uninorm/test-u32-nfkc-big.sh: New file.
40113         * tests/uninorm/test-u32-nfkc-big.c: New file.
40114         * modules/uninorm/nfkc-tests: New file.
40115
40116         New module 'uninorm/nfkc'.
40117         * lib/uninorm/nfkc.c: New file.
40118         * modules/uninorm/nfkc: New file.
40119
40120         Tests for module 'uninorm/nfkd'.
40121         * tests/uninorm/test-nfkd.c: New file.
40122         * tests/uninorm/test-u8-nfkd.c: New file.
40123         * tests/uninorm/test-u16-nfkd.c: New file.
40124         * tests/uninorm/test-u32-nfkd.c: New file.
40125         * tests/uninorm/test-u32-nfkd-big.sh: New file.
40126         * tests/uninorm/test-u32-nfkd-big.c: New file.
40127         * modules/uninorm/nfkd-tests: New file.
40128
40129         New module 'uninorm/nfkd'.
40130         * lib/uninorm/nfkd.c: New file.
40131         * modules/uninorm/nfkd: New file.
40132
40133         Tests for module 'uninorm/nfc'.
40134         * tests/uninorm/test-nfc.c: New file.
40135         * tests/uninorm/test-u8-nfc.c: New file.
40136         * tests/uninorm/test-u16-nfc.c: New file.
40137         * tests/uninorm/test-u32-nfc.c: New file.
40138         * tests/uninorm/test-u32-nfc-big.sh: New file.
40139         * tests/uninorm/test-u32-nfc-big.c: New file.
40140         * modules/uninorm/nfc-tests: New file.
40141
40142         New module 'uninorm/nfc'.
40143         * lib/uninorm/nfc.c: New file.
40144         * modules/uninorm/nfc: New file.
40145
40146         Tests for module 'uninorm/nfd'.
40147         * tests/uninorm/test-nfd.c: New file.
40148         * tests/uninorm/test-u8-nfd.c: New file.
40149         * tests/uninorm/test-u16-nfd.c: New file.
40150         * tests/uninorm/test-u32-nfd.c: New file.
40151         * tests/uninorm/test-u32-nfd-big.sh: New file.
40152         * tests/uninorm/test-u32-nfd-big.c: New file.
40153         * tests/uninorm/test-u32-normalize-big.h: New file.
40154         * tests/uninorm/test-u32-normalize-big.c: New file.
40155         * tests/uninorm/NormalizationTest.txt: New file, created from
40156         Unicode 5.1.0 NormalizationTest.txt.
40157         * modules/uninorm/nfd-tests: New file.
40158
40159         New module 'uninorm/nfd'.
40160         * lib/uninorm/nfd.c: New file.
40161         * modules/uninorm/nfd: New file.
40162
40163         New module 'uninorm/u32-normalize'.
40164         * lib/uninorm/u32-normalize.c: New file.
40165         * modules/uninorm/u32-normalize: New file.
40166
40167         New module 'uninorm/u16-normalize'.
40168         * lib/uninorm/u16-normalize.c: New file.
40169         * modules/uninorm/u16-normalize: New file.
40170
40171         New module 'uninorm/u8-normalize'.
40172         * lib/uninorm/u8-normalize.c: New file.
40173         * lib/uninorm/normalize-internal.h: New file.
40174         * lib/uninorm/u-normalize-internal.h: New file.
40175         * modules/uninorm/u8-normalize: New file.
40176
40177         New module 'uninorm/decompose-internal'.
40178         * lib/uninorm/decompose-internal.c: New file.
40179         * modules/uninorm/decompose-internal: New file.
40180
40181         Tests for module 'uninorm/composition'.
40182         * tests/uninorm/test-composition.c: New file.
40183         * modules/uninorm/composition-tests: New file.
40184
40185         New module 'uninorm/composition'.
40186         * lib/uninorm/composition.c: New file.
40187         * lib/uninorm/composition-table.gperf: New file, generated by
40188         gen-uni-tables.
40189         * modules/uninorm/composition: New file.
40190
40191         Tests for module 'uninorm/compat-decomposition'.
40192         * tests/uninorm/test-compat-decomposition.c: New file.
40193         * modules/uninorm/compat-decomposition-tests: New file.
40194
40195         New module 'uninorm/compat-decomposition'.
40196         * lib/uninorm/decompose-internal.h: New file.
40197         * lib/uninorm/compat-decomposition.c: New file.
40198         * modules/uninorm/compat-decomposition: New file.
40199
40200         Tests for module 'uninorm/canonical-decomposition'.
40201         * tests/uninorm/test-canonical-decomposition.c: New file.
40202         * modules/uninorm/canonical-decomposition-tests: New file.
40203
40204         New module 'uninorm/canonical-decomposition'.
40205         * lib/uninorm/canonical-decomposition.c: New file.
40206         * modules/uninorm/canonical-decomposition: New file.
40207
40208         Tests for module 'uninorm/decomposition'.
40209         * tests/uninorm/test-decomposition.c: New file.
40210         * modules/uninorm/decomposition-tests: New file.
40211
40212         New module 'uninorm/decomposition'.
40213         * lib/uninorm/decomposition.c: New file.
40214         * modules/uninorm/decomposition: New file.
40215
40216         New module 'uninorm/decomposition-table'.
40217         * lib/uninorm/decomposition-table.h: New file.
40218         * lib/uninorm/decomposition-table.c: New file.
40219         * lib/uninorm/decomposition-table1.h: New file, generated by
40220         gen-uni-tables.
40221         * lib/uninorm/decomposition-table2.h: New file, generated by
40222         gen-uni-tables.
40223         * modules/uninorm/decomposition-table: New file.
40224
40225         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
40226         (UC_DECOMP_*): New enumeration items.
40227         (get_decomposition): New function.
40228         (struct decomp_table): New type.
40229         (output_decomposition, output_decomposition_tables): New functions.
40230         (unicode_composition_exclusions): New variable.
40231         (fill_composition_exclusions, debug_output_composition_tables): New
40232         functions.
40233         (main): Accept one more argument. Invoke fill_composition_exclusions.
40234         Output decomposition and composition tables.
40235
40236         New module 'uninorm/base'.
40237         * lib/uninorm.h: New file.
40238         * lib/unictype.h: Update comment.
40239         * modules/uninorm/base: New file.
40240
40241 2009-02-21  David Lutterkort  <lutter@redhat.com>
40242
40243         Tests for module 'safe-alloc'.
40244         * tests/test-safe-alloc.c: New file.
40245         * modules/safe-alloc-tests: New file.
40246
40247         New module 'safe-alloc'.
40248         * lib/safe-alloc.h: New file.
40249         * lib/safe-alloc.c: New file.
40250         * m4/safe-alloc.m4: New file.
40251         * modules/safe-alloc: New file.
40252         * doc/safe-alloc.texi: New file.
40253         * doc/gnulib.texi: Include it.
40254         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
40255         safe-alloc.
40256
40257 2009-02-18  Bruno Haible  <bruno@clisp.org>
40258
40259         Fix link error on non-glibc systems.
40260         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
40261         variable.
40262         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40263
40264 2009-02-18  Jim Meyering  <meyering@redhat.com>
40265
40266         fts: avoid used-uninitialized error due to recent change
40267         * lib/fts.c (fts_read): Guard uses of the new member,
40268         parent->fts_n_dirs_remaining, since it's not relevant for
40269         the parent of a directory specified on the command-line.
40270
40271 2009-02-17  James Youngman  <jay@gnu.org>
40272             Bruno Haible  <bruno@clisp.org>
40273
40274         * m4/include_next.m4: Reformulate comment.
40275
40276 2009-02-16  Jim Meyering  <meyering@redhat.com>
40277
40278         fts: add #if guards so that the fts_lgpl module still builds
40279         * lib/fts.c: Guard just-added hash-table-using parts with
40280         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
40281         Reported by Simon Josefsson.
40282
40283 2009-02-15  Bruno Haible  <bruno@clisp.org>
40284
40285         * modules/array-mergesort-tests: New file.
40286         * tests/test-array-mergesort.c: New file.
40287
40288         New module 'array-mergesort'.
40289         * modules/array-mergesort: New file.
40290         * lib/array-mergesort.h: New file.
40291
40292 2009-02-15  Bruno Haible  <bruno@clisp.org>
40293
40294         Fix 2009-02-07 commit.
40295         * lib/gen-uni-tables.c (output_predicate, output_category,
40296         output_combclass, output_bidi_category, output_decimal_digit,
40297         output_digit, output_numeric, output_mirror, output_scripts,
40298         output_ident_category, output_simple_mapping): Fix format directives.
40299         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
40300
40301 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
40302
40303         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
40304         fixes are available from IBM.
40305
40306 2009-02-13  Jim Meyering  <meyering@redhat.com>
40307
40308         fts: arrange not to stat non-directories in more cases
40309         This makes GNU find (when it doesn't need to stat each file)
40310         *much* more efficient at traversing reiserfs file systems.
40311         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
40312         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
40313         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
40314         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
40315         (leaf_optimization_applies): New function.
40316         (LCO_hash, LCO_compare): New helper functions.
40317         (link_count_optimize_ok): New function.
40318         (fts_stat): Initialize new member (if dir).
40319         (fts_read): Decrement parent's fts_n_dirs_remaining count if
40320         we've just stat'ed a directory.  Skip the stat call when possible.
40321         ---
40322         Note this AFS-related exchange:
40323         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
40324         and note find's pioctl call in find/fstype.c.
40325         But that is necessary only if you want to enable the
40326         optimization for AFS, and for now, I don't.
40327
40328         fts: move a function definition "up" (no semantic change)
40329         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
40330         "up" to precede upcoming use of a related function.
40331
40332 2009-02-11  Jim Meyering  <meyering@redhat.com>
40333
40334         fts: correct internal computation of nlinks (optimization-related)
40335         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
40336         whether the current entry is a directory, so don't test it.
40337
40338 2009-02-10  Bruno Haible  <bruno@clisp.org>
40339
40340         Tests for module 'uniwbrk/ulc-wordbreaks'.
40341         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
40342         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
40343         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
40344
40345         Tests for module 'uniwbrk/u32-wordbreaks'.
40346         * modules/uniwbrk/u32-wordbreaks-tests: New file.
40347         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
40348
40349         Tests for module 'uniwbrk/u16-wordbreaks'.
40350         * modules/uniwbrk/u16-wordbreaks-tests: New file.
40351         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
40352
40353         Tests for module 'uniwbrk/u8-wordbreaks'.
40354         * modules/uniwbrk/u8-wordbreaks-tests: New file.
40355         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
40356
40357 2009-02-10  Bruno Haible  <bruno@clisp.org>
40358
40359         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
40360         property.
40361         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
40362         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
40363         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
40364
40365 2009-02-10  Simon Josefsson  <simon@josefsson.org>
40366
40367         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
40368         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
40369
40370 2009-02-10  Bruno Haible  <bruno@clisp.org>
40371
40372         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
40373         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
40374         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
40375         * lib/unilbrk/u8-possible-linebreaks.c: Update.
40376         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
40377         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
40378
40379 2009-02-09  Simon Josefsson  <simon@josefsson.org>
40380
40381         * lib/sockets.h (gl_fd_to_handle): New function.
40382
40383         * tests/test-sockets.c: Call gl_fd_to_handle.
40384
40385 2009-02-09  Bruno Haible  <bruno@clisp.org>
40386
40387         * doc/havelib.texi: Document the conventions on bi-arch systems.
40388
40389 2009-02-08  Bruno Haible  <bruno@clisp.org>
40390
40391         Document the AC_LIB_LINKFLAGS macro.
40392         * doc/havelib.texi: New file, mostly written on 2005-05-24.
40393         * doc/gnulib.texi: Include it.
40394
40395 2009-02-08  Bruno Haible  <bruno@clisp.org>
40396
40397         Fix wrong order of sections, compared to TOC.
40398         * doc/gnulib.texi: Include relocatable-maint.texi after the
40399         "Regular expressions" node, not before.
40400
40401 2009-02-08  Bruno Haible  <bruno@clisp.org>
40402
40403         Tests for module 'unicase/totitle'.
40404         * modules/unicase/totitle-tests: New file.
40405
40406         Tests for module 'unicase/tolower'.
40407         * modules/unicase/tolower-tests: New file.
40408
40409         Tests for module 'unicase/toupper'.
40410         * modules/unicase/toupper-tests: New file.
40411         * tests/unicase/test-mapping-part1.h: New file.
40412         * tests/unicase/test-mapping-part2.h: New file.
40413
40414         New module 'unicase/totitle'.
40415         * modules/unicase/totitle: New file.
40416         * lib/unicase/totitle.c: New file.
40417
40418         New module 'unicase/tolower'.
40419         * modules/unicase/tolower: New file.
40420         * lib/unicase/tolower.c: New file.
40421
40422         New module 'unicase/toupper'.
40423         * modules/unicase/toupper: New file.
40424         * lib/unicase/toupper.c: New file.
40425         * lib/unicase/simple-mapping.h: New file.
40426
40427         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
40428         (mapping_table): New structure.
40429         (output_simple_mapping): New function.
40430         (main): Invoke output_simple_mapping_test and output_simple_mapping.
40431         * modules/gen-uni-tables (Description): Update.
40432         * lib/unicase/toupper.h: New file, automatically generated by
40433         gen-uni-tables.
40434         * lib/unicase/tolower.h: New file, automatically generated by
40435         gen-uni-tables.
40436         * lib/unicase/totitle.h: New file, automatically generated by
40437         gen-uni-tables.
40438         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
40439         gen-uni-tables.
40440         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
40441         gen-uni-tables.
40442         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
40443         gen-uni-tables.
40444
40445         New module 'unicase/base'.
40446         * modules/unicase/base: New file.
40447         * lib/unicase.h: New file.
40448
40449 2009-02-08  Bruno Haible  <bruno@clisp.org>
40450
40451         New module 'uniwbrk/ulc-wordbreaks'.
40452         * modules/uniwbrk/ulc-wordbreaks: New file.
40453         * lib/uniwbrk/ulc-wordbreaks.c: New file.
40454
40455         New module 'uniwbrk/u32-wordbreaks'.
40456         * modules/uniwbrk/u32-wordbreaks: New file.
40457         * lib/uniwbrk/u32-wordbreaks.c: New file.
40458
40459         New module 'uniwbrk/u16-wordbreaks'.
40460         * modules/uniwbrk/u16-wordbreaks: New file.
40461         * lib/uniwbrk/u16-wordbreaks.c: New file.
40462
40463         New module 'uniwbrk/u8-wordbreaks'.
40464         * modules/uniwbrk/u8-wordbreaks: New file.
40465         * lib/uniwbrk/u8-wordbreaks.c: New file.
40466         * lib/uniwbrk/u-wordbreaks.h: New file.
40467
40468         New module 'uniwbrk/table'.
40469         * modules/uniwbrk/table: New file.
40470         * lib/uniwbrk/wbrktable.h: New file.
40471         * lib/uniwbrk/wbrktable.c: New file.
40472
40473         New module 'uniwbrk/wordbreak-property'.
40474         * modules/uniwbrk/wordbreak-property: New file.
40475         * lib/uniwbrk/wordbreak-property.c: New file.
40476
40477         * lib/gen-uni-tables.c (WBP_*): New enum items.
40478         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
40479         (unicode_org_wbp): New variable.
40480         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
40481         New functions.
40482         (wbp_table): New structure.
40483         (output_wbp, output_wbrk_tables): New functions.
40484         (main): Accept additional argument. Invoke fill_org_wbp,
40485         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
40486         output_wbrk_tables.
40487         * modules/gen-uni-tables (Description): Update.
40488         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
40489         gen-uni-tables.
40490
40491         New module 'uniwbrk/base'.
40492         * modules/uniwbrk/base: New file.
40493         * lib/uniwbrk.h: New file.
40494
40495 2009-02-08  Bruno Haible  <bruno@clisp.org>
40496
40497         Update to Unicode 5.1.0.
40498         * lib/gen-uni-tables.c (is_property_alphabetic): Include
40499         U+2185..U+2188.
40500         (is_property_default_ignorable_code_point): Don't include characters
40501         of category Cc or Cs and not-a-characters.
40502         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
40503         U+0D79, U+109E, U+109F, U+A60C.
40504         * lib/unictype/bidi_of.h: Regenerated.
40505         * lib/unictype/blocks.h: Regenerated.
40506         * lib/unictype/categ_C.h: Regenerated.
40507         * lib/unictype/categ_Cf.h: Regenerated.
40508         * lib/unictype/categ_Cn.h: Regenerated.
40509         * lib/unictype/categ_L.h: Regenerated.
40510         * lib/unictype/categ_Ll.h: Regenerated.
40511         * lib/unictype/categ_Lm.h: Regenerated.
40512         * lib/unictype/categ_Lo.h: Regenerated.
40513         * lib/unictype/categ_Lu.h: Regenerated.
40514         * lib/unictype/categ_M.h: Regenerated.
40515         * lib/unictype/categ_Mc.h: Regenerated.
40516         * lib/unictype/categ_Me.h: Regenerated.
40517         * lib/unictype/categ_Mn.h: Regenerated.
40518         * lib/unictype/categ_N.h: Regenerated.
40519         * lib/unictype/categ_Nd.h: Regenerated.
40520         * lib/unictype/categ_Nl.h: Regenerated.
40521         * lib/unictype/categ_No.h: Regenerated.
40522         * lib/unictype/categ_P.h: Regenerated.
40523         * lib/unictype/categ_Pd.h: Regenerated.
40524         * lib/unictype/categ_Pe.h: Regenerated.
40525         * lib/unictype/categ_Pf.h: Regenerated.
40526         * lib/unictype/categ_Pi.h: Regenerated.
40527         * lib/unictype/categ_Po.h: Regenerated.
40528         * lib/unictype/categ_Ps.h: Regenerated.
40529         * lib/unictype/categ_S.h: Regenerated.
40530         * lib/unictype/categ_Sk.h: Regenerated.
40531         * lib/unictype/categ_Sm.h: Regenerated.
40532         * lib/unictype/categ_So.h: Regenerated.
40533         * lib/unictype/categ_of.h: Regenerated.
40534         * lib/unictype/combining.h: Regenerated.
40535         * lib/unictype/ctype_alnum.h: Regenerated.
40536         * lib/unictype/ctype_alpha.h: Regenerated.
40537         * lib/unictype/ctype_graph.h: Regenerated.
40538         * lib/unictype/ctype_lower.h: Regenerated.
40539         * lib/unictype/ctype_print.h: Regenerated.
40540         * lib/unictype/ctype_punct.h: Regenerated.
40541         * lib/unictype/ctype_upper.h: Regenerated.
40542         * lib/unictype/decdigit.h: Regenerated.
40543         * lib/unictype/digit.h: Regenerated.
40544         * lib/unictype/mirror.h: Regenerated.
40545         * lib/unictype/numeric.h: Regenerated.
40546         * lib/unictype/pr_alphabetic.h: Regenerated.
40547         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
40548         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
40549         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
40550         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
40551         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
40552         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
40553         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
40554         * lib/unictype/pr_combining.h: Regenerated.
40555         * lib/unictype/pr_dash.h: Regenerated.
40556         * lib/unictype/pr_decimal_digit.h: Regenerated.
40557         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
40558         * lib/unictype/pr_deprecated.h: Regenerated.
40559         * lib/unictype/pr_diacritic.h: Regenerated.
40560         * lib/unictype/pr_extender.h: Regenerated.
40561         * lib/unictype/pr_format_control.h: Regenerated.
40562         * lib/unictype/pr_grapheme_base.h: Regenerated.
40563         * lib/unictype/pr_grapheme_extend.h: Regenerated.
40564         * lib/unictype/pr_grapheme_link.h: Regenerated.
40565         * lib/unictype/pr_id_continue.h: Regenerated.
40566         * lib/unictype/pr_id_start.h: Regenerated.
40567         * lib/unictype/pr_ideographic.h: Regenerated.
40568         * lib/unictype/pr_ignorable_control.h: Regenerated.
40569         * lib/unictype/pr_lowercase.h: Regenerated.
40570         * lib/unictype/pr_math.h: Regenerated.
40571         * lib/unictype/pr_numeric.h: Regenerated.
40572         * lib/unictype/pr_other_alphabetic.h: Regenerated.
40573         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
40574         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
40575         * lib/unictype/pr_other_id_continue.h: Regenerated.
40576         * lib/unictype/pr_other_lowercase.h: Regenerated.
40577         * lib/unictype/pr_other_math.h: Regenerated.
40578         * lib/unictype/pr_punctuation.h: Regenerated.
40579         * lib/unictype/pr_sentence_terminal.h: Regenerated.
40580         * lib/unictype/pr_soft_dotted.h: Regenerated.
40581         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
40582         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
40583         * lib/unictype/pr_unified_ideograph.h: Regenerated.
40584         * lib/unictype/pr_uppercase.h: Regenerated.
40585         * lib/unictype/pr_xid_continue.h: Regenerated.
40586         * lib/unictype/pr_xid_start.h: Regenerated.
40587         * lib/unictype/pr_zero_width.h: Regenerated.
40588         * lib/unictype/scripts.h: Regenerated.
40589         * lib/unictype/scripts_byname.gperf: Regenerated.
40590         * lib/unictype/sy_java_ident.h: Regenerated.
40591         * lib/unilbrk/lbrkprop1.h: Regenerated.
40592         * lib/unilbrk/lbrkprop2.h: Regenerated.
40593         * tests/unictype/test-categ_C.c: Regenerated.
40594         * tests/unictype/test-categ_Cf.c: Regenerated.
40595         * tests/unictype/test-categ_Cn.c: Regenerated.
40596         * tests/unictype/test-categ_L.c: Regenerated.
40597         * tests/unictype/test-categ_Ll.c: Regenerated.
40598         * tests/unictype/test-categ_Lm.c: Regenerated.
40599         * tests/unictype/test-categ_Lo.c: Regenerated.
40600         * tests/unictype/test-categ_Lu.c: Regenerated.
40601         * tests/unictype/test-categ_M.c: Regenerated.
40602         * tests/unictype/test-categ_Mc.c: Regenerated.
40603         * tests/unictype/test-categ_Me.c: Regenerated.
40604         * tests/unictype/test-categ_Mn.c: Regenerated.
40605         * tests/unictype/test-categ_N.c: Regenerated.
40606         * tests/unictype/test-categ_Nd.c: Regenerated.
40607         * tests/unictype/test-categ_Nl.c: Regenerated.
40608         * tests/unictype/test-categ_No.c: Regenerated.
40609         * tests/unictype/test-categ_P.c: Regenerated.
40610         * tests/unictype/test-categ_Pd.c: Regenerated.
40611         * tests/unictype/test-categ_Pe.c: Regenerated.
40612         * tests/unictype/test-categ_Pf.c: Regenerated.
40613         * tests/unictype/test-categ_Pi.c: Regenerated.
40614         * tests/unictype/test-categ_Po.c: Regenerated.
40615         * tests/unictype/test-categ_Ps.c: Regenerated.
40616         * tests/unictype/test-categ_S.c: Regenerated.
40617         * tests/unictype/test-categ_Sk.c: Regenerated.
40618         * tests/unictype/test-categ_Sm.c: Regenerated.
40619         * tests/unictype/test-categ_So.c: Regenerated.
40620         * tests/unictype/test-ctype_alnum.c: Regenerated.
40621         * tests/unictype/test-ctype_alpha.c: Regenerated.
40622         * tests/unictype/test-ctype_graph.c: Regenerated.
40623         * tests/unictype/test-ctype_lower.c: Regenerated.
40624         * tests/unictype/test-ctype_print.c: Regenerated.
40625         * tests/unictype/test-ctype_punct.c: Regenerated.
40626         * tests/unictype/test-ctype_upper.c: Regenerated.
40627         * tests/unictype/test-decdigit.h: Regenerated.
40628         * tests/unictype/test-digit.h: Regenerated.
40629         * tests/unictype/test-numeric.h: Regenerated.
40630         * tests/unictype/test-pr_alphabetic.c: Regenerated.
40631         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
40632         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
40633         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
40634         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
40635         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
40636         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
40637         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
40638         * tests/unictype/test-pr_combining.c: Regenerated.
40639         * tests/unictype/test-pr_dash.c: Regenerated.
40640         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
40641         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
40642         * tests/unictype/test-pr_deprecated.c: Regenerated.
40643         * tests/unictype/test-pr_diacritic.c: Regenerated.
40644         * tests/unictype/test-pr_extender.c: Regenerated.
40645         * tests/unictype/test-pr_format_control.c: Regenerated.
40646         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
40647         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
40648         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
40649         * tests/unictype/test-pr_id_continue.c: Regenerated.
40650         * tests/unictype/test-pr_id_start.c: Regenerated.
40651         * tests/unictype/test-pr_ideographic.c: Regenerated.
40652         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
40653         * tests/unictype/test-pr_lowercase.c: Regenerated.
40654         * tests/unictype/test-pr_math.c: Regenerated.
40655         * tests/unictype/test-pr_numeric.c: Regenerated.
40656         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
40657         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
40658         Regenerated.
40659         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
40660         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
40661         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
40662         * tests/unictype/test-pr_other_math.c: Regenerated.
40663         * tests/unictype/test-pr_punctuation.c: Regenerated.
40664         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
40665         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
40666         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
40667         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
40668         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
40669         * tests/unictype/test-pr_uppercase.c: Regenerated.
40670         * tests/unictype/test-pr_xid_continue.c: Regenerated.
40671         * tests/unictype/test-pr_xid_start.c: Regenerated.
40672         * tests/unictype/test-pr_zero_width.c: Regenerated.
40673
40674         Update to Unicode 5.1.0.
40675         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
40676         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
40677         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
40678         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
40679         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
40680         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
40681         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
40682         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
40683         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
40684         (nonspacing_table_ind): Update.
40685         * tests/uniwidth/test-uc_width2.sh: Update expected result.
40686
40687         Update to Unicode 5.1.0.
40688         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
40689         code transform.
40690         * lib/uniname/uniname.c (unicode_character_name,
40691         unicode_name_character): Add the range 0x1Fxxx to the code transform.
40692         * lib/uniname/uninames.h: Regenerated.
40693         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
40694
40695 2009-02-07  Bruno Haible  <bruno@clisp.org>
40696
40697         Merge gen-ctype and gen-lbrk into a single program.
40698         * lib/gen-uni-tables.c: New file, incorporating
40699         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
40700         Add directory prefixes to the names of the generated files.
40701         * lib/unictype/gen-ctype.c: Remove file.
40702         * lib/unilbrk/gen-lbrk.c: Remove file.
40703         * modules/gen-uni-tables: New file.
40704         * modules/unictype/gen-ctype: Remove file.
40705         * modules/unilbrk/gen-lbrk: Remove file.
40706
40707 2009-02-07  Bruno Haible  <bruno@clisp.org>
40708
40709         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
40710
40711         New module 'unistr/u32-strcoll'.
40712         * modules/unistr/u32-strcoll: New file.
40713         * lib/unistr/u32-strcoll.c: New file.
40714
40715         New module 'unistr/u16-strcoll'.
40716         * modules/unistr/u16-strcoll: New file.
40717         * lib/unistr/u16-strcoll.c: New file.
40718
40719         New module 'unistr/u8-strcoll'.
40720         * modules/unistr/u8-strcoll: New file.
40721         * lib/unistr/u8-strcoll.c: New file.
40722         * lib/unistr/u-strcoll.h: New file.
40723
40724 2009-02-07  Bruno Haible  <bruno@clisp.org>
40725
40726         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
40727         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
40728         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
40729         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
40730         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
40731         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
40732
40733 2009-02-07  Bruno Haible  <bruno@clisp.org>
40734
40735         Make 64-bit clean.
40736         * lib/unictype/gen-ctype.c (output_predicate, output_category,
40737         output_combclass, output_bidi_category, output_decimal_digit,
40738         output_digit, output_numeric, output_mirror, output_scripts,
40739         output_ident_category): Use proper width specifier in format strings.
40740
40741 2009-02-07  Bruno Haible  <bruno@clisp.org>
40742
40743         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
40744         failure behaviour.
40745
40746 2009-02-07  Jim Meyering  <meyering@redhat.com>
40747
40748         regex: avoid compilation failure with upcoming gcc-4.4
40749         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
40750         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
40751         "... error: integer overflow in preprocessor expression".
40752
40753 2009-02-05  Ben Pfaff  <blp@gnu.org>
40754
40755         Fix link errors on Windows when close module is used.
40756         * modules/close: Add $(LIB_CLOSE) to Link section.
40757         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
40758         $(LIB_CLOSE) on Windows.
40759
40760 2009-02-05  Jim Meyering  <meyering@redhat.com>
40761
40762         still avoid unused-parameter warnings, but do it cleanly
40763         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
40764         (get_fs_usage): Cast to void instead.
40765         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
40766         (dev_from_mount_options, read_file_system_list): Cast to void.
40767         Prompted by Bruno Haible.
40768
40769 2009-02-04  Jim Meyering  <meyering@redhat.com>
40770
40771         fsusage.c: correct copyright year
40772         * lib/fsusage.c: Reflect year in which the change is pushed into
40773
40774         avoid misc. warnings
40775         * lib/fsusage.c (UNUSED_PARAM): Define.
40776         (get_fs_usage): Mark parameter "disk" as unused.
40777         * lib/getugroups.c (getgrent): Use "void" in prototype.
40778         * lib/mountlist.c: Mark unused parameters.
40779         (read_file_system_list): Declare a local with "const".
40780         * lib/nanosleep.c (getnow): Declare static.
40781         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
40782
40783         dirfd: set errno upon failure
40784         * lib/dirfd.c: Include <errno.h>.
40785         Set errno to ENOTSUP when returning -1.
40786         * modules/dirfd (Depends-on): Add errno.
40787         Suggested by John Kodis <kodis@comcast.net>.
40788
40789 2009-02-01  Bruno Haible  <bruno@clisp.org>
40790
40791         Don't assume sizeof (long) >= sizeof (void *).
40792         * lib/memcmp.c: Include stdint.h.
40793         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
40794         srcp2 to 'const byte *'.
40795         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
40796         types to uintptr_t.
40797         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
40798         * modules/memcmp (Depends-on): Add stdint.
40799         Reported by Ozkan Sezer <sezeroz@gmail.com>.
40800
40801 2009-01-30  Eric Blake  <ebb9@byu.net>
40802
40803         fix more require-before-expand issues
40804         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
40805         expand, AC_PROG_AWK.
40806         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
40807
40808 2009-01-28  Eric Blake  <ebb9@byu.net>
40809
40810         version-etc: use consistent URL formatting
40811         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
40812         Improve formatting.  Use fputs for string without %.
40813
40814 2009-01-28  Jim Meyering  <meyering@redhat.com>
40815
40816         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
40817         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
40818         "underquoted definition of NAME" from autoconf-2.59.
40819
40820 2009-01-28  Bruno Haible  <bruno@clisp.org>
40821
40822         * doc/gnulib.texi: Add "Obsolete modules" to index.
40823
40824 2009-01-28  Jim Meyering  <meyering@redhat.com>
40825
40826         useless-if-before-free: recognize more variants
40827         * build-aux/useless-if-before-free: Also recognize e.g.,
40828         if (NULL != p) free (p);
40829
40830 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
40831
40832         test-getaddrinfo: skip (don't fail) this test when there's no network
40833         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
40834         on the presumption that it means you lack network access.
40835
40836 2009-01-26  Jim Meyering  <meyering@redhat.com>
40837
40838         fflush: avoid warnings on modern systems
40839         * lib/fflush.c (rpl_fflush): Move declarations of locals,
40840         pos and result, into scopes where they're used.
40841
40842 2009-01-26  Eric Blake  <ebb9@byu.net>
40843
40844         Silence warning reintroduced by recent extensions patch.
40845         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
40846         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
40847         autoconf.
40848
40849         Backport improved autoconf semantics of AC_DEFUN_ONCE.
40850         * m4/00gnulib.m4: New file.
40851         * gnulib-tool (func_get_filelist): Always use it.
40852         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
40853         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
40854
40855 2009-01-25  Bruno Haible  <bruno@clisp.org>
40856
40857         Make test-quotearg work on MacOS X and AIX.
40858         * tests/test-quotearg.sh: New file.
40859         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
40860         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
40861         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
40862         include <libintl.h>.
40863         (fake_locale): Remove variable.
40864         (gettext, dgettext, dcgettext): Remove functions.
40865         (main): Instead of setting a fake locale, set a real locale. Call
40866         textdomain and bindtextdomain.
40867         * modules/quotearg-tests (Files): Add the new files.
40868         (Depends-on): Add gettext, setenv, unsetenv.
40869         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
40870         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
40871         Augment TESTS_ENVIRONMENT.
40872
40873 2009-01-25  Bruno Haible  <bruno@clisp.org>
40874
40875         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
40876         fr_FR.ISO8859-1 locale on MacOS X.
40877         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
40878         ja_JP.eucJP locale on MacOS X.
40879         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
40880         zh_CN.GB18030 locale on MacOS X.
40881
40882 2009-01-25  Bruno Haible  <bruno@clisp.org>
40883
40884         Avoid link errors on MacOS X 10.3.
40885         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
40886         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
40887
40888 2009-01-25  Bruno Haible  <bruno@clisp.org>
40889
40890         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
40891         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
40892         * modules/pipe (Files): Remove m4/posix_spawn.m4.
40893         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
40894         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
40895         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
40896         posix_spawnattr_init, posix_spawnattr_setsigmask,
40897         posix_spawnattr_setflags, posix_spawnattr_destroy.
40898
40899         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
40900         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
40901         * modules/execute (Files): Remove m4/posix_spawn.m4.
40902         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
40903         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
40904         posix_spawnattr_init, posix_spawnattr_setsigmask,
40905         posix_spawnattr_setflags, posix_spawnattr_destroy.
40906
40907 2009-01-25  Bruno Haible  <bruno@clisp.org>
40908
40909         * lib/glthread/threadlib.c: Include <stdlib.h>.
40910
40911 2009-01-25  Bruno Haible  <bruno@clisp.org>
40912
40913         * lib/glthread/threadlib.c (dummy): New declaration.
40914
40915 2009-01-25  Bruno Haible  <bruno@clisp.org>
40916
40917         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
40918         multibyte characters also for the GB18030 encoding. Don't crash when
40919         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
40920
40921 2009-01-25  Bruno Haible  <bruno@clisp.org>
40922
40923         Avoid redefining 'struct random_data' on OSF/1 5.1.
40924         * lib/stdlib.in.h: Include <random.h> if it exists.
40925         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
40926         HAVE_RANDOM_H. Include <random.h> when testing whether
40927         'struct random_data' exists.
40928         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
40929
40930 2009-01-25  Bruno Haible  <bruno@clisp.org>
40931
40932         Don't install charset.alias on MacOS X >= 10.3.
40933         * lib/localcharset.c (DARWIN7): New macro.
40934         (get_charset_aliases): Hardcode the result for Darwin7.
40935         * modules/localcharset (install-exec-local): Don't install
40936         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
40937
40938 2009-01-25  Bruno Haible  <bruno@clisp.org>
40939
40940         Don't install charset.alias on mingw and Cygwin.
40941         * modules/localcharset (install-exec-local): Don't install
40942         charset.alias on mingw and Cygwin, if the file does not yet exist.
40943         The result for these platforms is hardcoded in localcharset.c.
40944
40945 2009-01-25  Bruno Haible  <bruno@clisp.org>
40946
40947         Make it possible again to use AC_GNU_SOURCE together with gnulib.
40948         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
40949         before requiring AC_USE_SYSTEM_EXTENSIONS.
40950
40951 2009-01-25  Jim Meyering  <meyering@redhat.com>
40952
40953         c-strtod: avoid warnings
40954         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
40955         "assignment discards qualifiers from pointer target type" warnings.
40956
40957 2009-01-24  Bruno Haible  <bruno@clisp.org>
40958
40959         Add support for non-UTF-8 locales on MacOS X.
40960         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
40961         canonical encodings. For Darwin 7 and newer, don't map traditional
40962         encodings to UTF-8.
40963         Reported by Vincent Lefevre <vincent@vinc17.org>
40964         at <http://savannah.gnu.org/bugs/?25235>.
40965
40966 2009-01-24  Bruno Haible  <bruno@clisp.org>
40967
40968         * doc/gnulib.texi (Obsolete modules): New section.
40969         Reported by Mike Frysinger <vapier@gentoo.org>.
40970
40971 2009-01-24  Bruno Haible  <bruno@clisp.org>
40972
40973         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
40974         (%.dvi): New rule.
40975
40976 2009-01-24  Bruno Haible  <bruno@clisp.org>
40977
40978         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
40979         Reported by Eric Blake.
40980
40981 2009-01-24  Bruno Haible  <bruno@clisp.org>
40982
40983         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
40984         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
40985         Reported by Gary V. Vaughan <gary@gnu.org>.
40986
40987 2009-01-24  Bruno Haible  <bruno@clisp.org>
40988
40989         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
40990
40991 2009-01-23  Bruno Haible  <bruno@clisp.org>
40992
40993         Make c-strtod, c-strtold usable in libraries.
40994         * lib/c-strtod.c: Include string.h instead of xalloc.h.
40995         (C_STRTOD): Call strdup instead of xstrdup.
40996         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
40997         * modules/c-strtold (Depends-on): Likewise.
40998         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
40999         * NEWS: Mention the change.
41000         Reported by Michael Gold <mgold@ncf.ca>.
41001
41002 2009-01-23  Jim Meyering  <meyering@redhat.com>
41003
41004         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
41005         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
41006         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
41007
41008 2009-01-23  Simon Josefsson  <simon@josefsson.org>
41009
41010         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
41011         GNU CoreUtils.
41012         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
41013         * modules/version-etc (Description): Update.
41014
41015 2009-01-22  Bruno Haible  <bruno@clisp.org>
41016
41017         Cache the C locale object.
41018         * lib/c-strtod.c (c_locale_cache): New variable.
41019         (c_locale): New function.
41020         (C_STRTOD): Use it, and don't call freelocale.
41021         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
41022         Suggested by Paolo Bonzini.
41023
41024 2009-01-21  Bruno Haible  <bruno@clisp.org>
41025
41026         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
41027         conditions other than overflow.
41028
41029 2009-01-21  Bruno Haible  <bruno@clisp.org>
41030
41031         * lib/c-strtod.c: Include errno.h.
41032         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
41033         value from STRTOD_L and STRTOD.
41034
41035 2009-01-21  Bruno Haible  <bruno@clisp.org>
41036         and Jim Meyering  <meyering@redhat.com>
41037
41038         nanosleep: skip configure test (fail it) for apple universal builds
41039         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
41040         universal builds, assume that nanosleep does not work.
41041         * modules/nanosleep (Depends-on): Add multiarch.
41042
41043         mktime: skip configure test (fail it) for apple universal builds
41044         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
41045         universal builds, assume that mktime does not work.
41046         * modules/mktime (Depends-on): Add multiarch.
41047
41048 2009-01-21  Eric Blake  <ebb9@byu.net>
41049
41050         multiarch: avoid expand-before-require warning
41051         * modules/multiarch (configure.ac): Require, rather than expand,
41052         gl_MULTIARCH.
41053         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
41054         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
41055         enforce that all clients require it.  Partial reversion of
41056         2008-12-29 patch.
41057
41058         error: avoid expand-before-require warning
41059         * modules/errno (configure.ac): Require, rather than expand,
41060         gl_HEADER_ERRNO_H.
41061         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
41062         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
41063         enforce that all clients require it.
41064
41065         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
41066         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
41067         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
41068         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
41069
41070 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
41071
41072         Revert:
41073         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41074
41075         regex: do not depend on obsolete modules.
41076         * modules/regex: Remove memcmp and memmove.
41077
41078 2009-01-20  Bruno Haible  <bruno@clisp.org>
41079
41080         Make the 'link' module link on Windows NT 4.
41081         * lib/link.c (_WIN32_WINNT): Don't define.
41082         (CreateHardLinkFuncType): New type.
41083         (CreateHardLinkFunc, initialized): New variables.
41084         (initialize): New function.
41085         (link): Invoke CreateHardLink indirectly through the function pointer.
41086
41087 2009-01-20  Bruno Haible  <bruno@clisp.org>
41088
41089         Fix compilation failure on mingw.
41090         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
41091
41092 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
41093
41094         * doc/c-strtod.texi: Mention a couple of restrictions.
41095
41096 2009-01-20  Jim Meyering  <meyering@redhat.com>
41097
41098         gettimeofday: move more declarations out of functions
41099         * lib/gettimeofday.c: Move extern declarations of tzset and
41100         gmtime out of containing functions.  Prompted by Bruno Haible.
41101
41102 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41103
41104         regex: do not depend on obsolete modules.
41105         * modules/regex: Remove memcmp and memmove.
41106
41107 2009-01-19  Bruno Haible  <bruno@clisp.org>
41108
41109         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41110         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
41111         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41112         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
41113         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
41114
41115 2009-01-19  Bruno Haible  <bruno@clisp.org>
41116
41117         * tests/test-link.c: Include <errno.h>.
41118         (main): Exit with code 77 when a hard link cannot be created due to
41119         the file system.
41120         * tests/test-link.sh: Skip test when a hard link cannot be created due
41121         to the file system.
41122         Suggested by Eric Blake.
41123
41124 2009-01-19  Martin Lambers  <marlam@marlam.de>
41125
41126         * modules/link-tests: New file.
41127         * tests/test-link.sh: New file.
41128         * tests/test-link.c: New file.
41129
41130 2009-01-19  Eric Blake  <ebb9@byu.net>
41131
41132         doc: mention another function added in cygwin 1.7.0
41133         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
41134         Another new function in cygwin 1.7.
41135
41136 2009-01-19  Bruno Haible  <bruno@clisp.org>
41137
41138         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41139         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
41140         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
41141         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41142         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41143         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
41144         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
41145         * m4/md4.m4 (gl_MD4): Likewise.
41146         * m4/md5.m4 (gl_MD5): Likewise.
41147         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
41148         * m4/sha1.m4 (gl_SHA1): Likewise.
41149         * m4/sha256.m4 (gl_SHA256): Likewise.
41150         * m4/sha512.m4 (gl_SHA512): Likewise.
41151
41152 2009-01-19  Bruno Haible  <bruno@clisp.org>
41153
41154         * modules/uniname/uniname-tests (Depends-on): Add progname.
41155         * tests/uniname/test-uninames.c: Include progname.h.
41156         (main): Call set_program_name.
41157
41158         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
41159         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
41160         (main): Call set_program_name.
41161
41162         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
41163         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
41164         (main): Call set_program_name.
41165
41166         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
41167         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
41168         (main): Call set_program_name.
41169
41170         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
41171         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
41172         (main): Call set_program_name.
41173
41174         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
41175         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
41176         (main): Call set_program_name.
41177
41178         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
41179         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
41180         (main): Call set_program_name.
41181
41182         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
41183         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
41184         (main): Call set_program_name.
41185
41186         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
41187         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
41188         (main): Call set_program_name.
41189
41190 2009-01-19  Eric Blake  <ebb9@byu.net>
41191
41192         test-unistd: test previous patch
41193         * tests/test-unistd.c: Test *_FILENO macros.
41194
41195         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
41196         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41197         Guarantee a definition.
41198         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
41199         * modules/unistd-safer (Depends-on): Add dependency on unistd.
41200         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
41201         * lib/dup-safer.c (STDERR_FILENO): Likewise.
41202         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41203         Likewise.
41204         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
41205         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
41206         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41207         Likewise.
41208         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
41209         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
41210         (STDERR_FILENO): Likewise.
41211         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
41212         (STDERR_FILENO): Likewise.
41213         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
41214         (STDERR_FILENO): Likewise.
41215         Reported by Elbert Pol.
41216
41217 2009-01-19  Eric Blake  <ebb9@byu.net>
41218
41219         doc: mention more functions added in cygwin 1.7.0
41220         * doc/posix-functions/abort.texi (abort): Update wording related
41221         to cygwin.
41222         * doc/posix-functions/daylight.texi (daylight): Likewise.
41223         * doc/posix-functions/optarg.texi (optarg): Likewise.
41224         * doc/posix-functions/optarg.texi (opterr): Likewise.
41225         * doc/posix-functions/optarg.texi (optind): Likewise.
41226         * doc/posix-functions/optarg.texi (optopt): Likewise.
41227         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
41228         worked in 1.5.x, and was withdrawn in 1.7.
41229         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
41230         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
41231         cygwin versions.
41232         * doc/posix-functions/perror.texi (perror): Likewise.
41233         * doc/posix-functions/printf.texi (printf): Likewise.
41234         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
41235         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
41236         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
41237         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
41238         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
41239         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
41240         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
41241         Likewise.
41242         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
41243         Likewise.
41244         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
41245         this function.
41246         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
41247         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
41248         Likewise.
41249         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
41250         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
41251         * doc/posix-functions/confstr.texi (confstr): Likewise.
41252         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
41253         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
41254         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
41255         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
41256         * doc/posix-functions/fputws.texi (fputws): Likewise.
41257         * doc/posix-functions/fwide.texi (fwide): Likewise.
41258         * doc/posix-functions/getwc.texi (getwc): Likewise.
41259         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
41260         * doc/posix-functions/putwc.texi (putwc): Likewise.
41261         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
41262         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
41263         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
41264         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
41265         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
41266         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
41267         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
41268         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
41269         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
41270         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
41271         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
41272
41273 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41274
41275         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
41276         * lib/ioctl.c: Include <sys/ioctl.h>.
41277
41278 2009-01-19  Simon Josefsson  <simon@josefsson.org>
41279
41280         * modules/getdate-tests (Depends-on): Add progname.
41281         * tests/test-getdate.c: Use progname module, to avoid link errors
41282         on non-glibc systems.
41283
41284 2009-01-18  Simon Josefsson  <simon@josefsson.org>
41285
41286         * modules/filenamecat-tests (Depends-on): Add progname.
41287         * modules/fstrcmp-tests (Depends-on): Likewise.
41288
41289         * tests/test-filenamecat.c: Use progname module, to avoid link
41290         errors on non-glibc systems.
41291         * tests/test-fstrcmp.c: Likewise.
41292
41293 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41294
41295         gettimeofday: avoid warning: nested extern declaration of 'localtime'
41296         * lib/gettimeofday.c: Move extern declaration out of function.
41297
41298 2009-01-18  Bruno Haible  <bruno@clisp.org>
41299
41300         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
41301         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
41302         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
41303
41304 2009-01-18  Bruno Haible  <bruno@clisp.org>
41305
41306         * lib/strftime.c (MEMPCPY): Remove unused macro.
41307         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
41308
41309 2009-01-18  Martin Lambers  <marlam@marlam.de>
41310
41311         New module 'link'.
41312         * lib/unistd.in.h (link): New declaration.
41313         * lib/link.c: New file.
41314         * m4/link.m4: New file.
41315         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
41316         HAVE_LINK.
41317         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
41318         * modules/link: New file.
41319         * doc/posix-functions/link.texi: Mention the new module.
41320
41321 2009-01-18  Bruno Haible  <bruno@clisp.org>
41322
41323         * tests/test-avltree_list.c (main): Call set_program_name.
41324         * tests/test-avltree_oset.c (main): Likewise.
41325         * tests/test-obstack-printf.c: Include progname.h.
41326         (main): Call set_program_name.
41327         * tests/test-quotearg.c: Include progname.h.
41328         (main): Call set_program_name.
41329         * tests/test-xmemdup0.c: Include progname.h.
41330         (main): Call set_program_name.
41331
41332 2009-01-18  Bruno Haible  <bruno@clisp.org>
41333
41334         New module 'alphasort'.
41335         * lib/dirent.in.h (alphasort): New declaration.
41336         * lib/alphasort.c: New file, from glibc with modifications.
41337         * m4/alphasort.m4: New file.
41338         * modules/alphasort: New file.
41339         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
41340         HAVE_ALPHASORT.
41341         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
41342         HAVE_ALPHASORT.
41343         * doc/posix-functions/alphasort.texi: Mention the new module and the
41344         portability problems.
41345
41346 2009-01-18  Bruno Haible  <bruno@clisp.org>
41347
41348         New module 'scandir'.
41349         * lib/dirent.in.h (scandir): New declaration.
41350         * lib/scandir.c: New file, from glibc with modifications.
41351         * m4/scandir.m4: New file.
41352         * modules/scandir: New file.
41353         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
41354         HAVE_SCANDIR.
41355         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
41356         HAVE_SCANDIR.
41357         * doc/posix-functions/scandir.texi: Mention the new module and the
41358         portability problems.
41359
41360 2009-01-17  Bruno Haible  <bruno@clisp.org>
41361
41362         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
41363         Update documentation.
41364         (func_remove_suffix): Escape all dots in the suffix. Update
41365         documentation.
41366         (func_filter_filelist): Update documentation.
41367         Reported by Ralf Wildenhues.
41368
41369 2009-01-17  Bruno Haible  <bruno@clisp.org>
41370
41371         * modules/dprintf-posix-tests: New file.
41372         * tests/test-dprintf-posix.sh: New file.
41373         * tests/test-dprintf-posix.c: New file.
41374
41375         New modules 'dprintf', 'dprintf-posix'.
41376         * lib/stdio.in.h (dprintf): New declaration.
41377         * lib/dprintf.c: New file.
41378         * m4/dprintf.m4: New file.
41379         * m4/dprintf-posix.m4: New file.
41380         * modules/dprintf: New file.
41381         * modules/dprintf-posix: New file.
41382         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
41383         HAVE_DPRINTF, REPLACE_DPRINTF.
41384         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
41385         HAVE_DPRINTF, REPLACE_DPRINTF.
41386         * doc/posix-functions/dprintf.texi: Mention the new modules.
41387
41388 2009-01-17  Bruno Haible  <bruno@clisp.org>
41389
41390         * modules/vdprintf-posix-tests: New file.
41391         * tests/test-vdprintf-posix.sh: New file.
41392         * tests/test-vdprintf-posix.c: New file.
41393
41394         New modules 'vdprintf', 'vdprintf-posix'.
41395         * lib/stdio.in.h (vdprintf): New declaration.
41396         * lib/vdprintf.c: New file.
41397         * m4/vdprintf.m4: New file.
41398         * m4/vdprintf-posix.m4: New file.
41399         * modules/vdprintf: New file.
41400         * modules/vdprintf-posix: New file.
41401         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
41402         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41403         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
41404         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41405         * doc/posix-functions/vdprintf.texi: Mention the new modules.
41406
41407 2009-01-17  Bruno Haible  <bruno@clisp.org>
41408
41409         Fix replacement of fopen on mingw.
41410         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
41411         mingw.
41412
41413 2009-01-17  Bruno Haible  <bruno@clisp.org>
41414
41415         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
41416         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
41417
41418 2009-01-17  Bruno Haible  <bruno@clisp.org>
41419
41420         Avoid test-fflush2.sh failure on mingw.
41421         * tests/test-fflush2.c: Include binary-io.h.
41422         (main): Put standard input into binary mode.
41423         * modules/fflush-tests (Depends-on): Add binary-io.
41424
41425 2009-01-17  Bruno Haible  <bruno@clisp.org>
41426
41427         * lib/wchar.in.h: In another particular situation, include only the
41428         system's <wchar.h> file.
41429         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
41430         Reported by Albert Chin-A-Young <china@thewrittenword.com>
41431         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
41432
41433 2009-01-17  Bruno Haible  <bruno@clisp.org>
41434
41435         Support for stripping executables in --enable-relocatable.
41436         * build-aux/install-reloc: Expect one more argument, or an environment
41437         variable RELOC_STRIP_PROG. If set, strip the destination program and
41438         its wrapper.
41439         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
41440         RELOC_STRIP_PROG.
41441         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
41442         to set RELOCATABLE_STRIP.
41443         * NEWS: Mention the new Makefile requirement.
41444
41445 2009-01-17  Bruno Haible  <bruno@clisp.org>
41446
41447         * build-aux/install-reloc: Remove debugging information left over by
41448         C compiler on MacOS X.
41449
41450 2009-01-17  Bruno Haible  <bruno@clisp.org>
41451
41452         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
41453         * lib/progreloc.c (find_executable): Fix type of pointer passed to
41454         _NSGetExecutablePath.
41455
41456 2009-01-16  Jim Meyering  <meyering@redhat.com>
41457
41458         strerror: avoid warnings about discarding "const"
41459         * lib/strerror.c (rpl_strerror): Instead of returning a const
41460         string from each and every "case", use a variable, and add a single
41461         cast after the switch.
41462
41463 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
41464
41465         * lib/arpa_inet.in.h: Add extern "C" block for C++.
41466
41467 2009-01-16  Bruno Haible  <bruno@clisp.org>
41468
41469         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
41470         array initializer syntax that also works in C++ mode.
41471         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41472
41473 2009-01-16  Jim Meyering  <meyering@redhat.com>
41474
41475         poll: suppress a warning
41476         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
41477         to ignore "...unsigned expression < 0 is always false" warnings.
41478
41479 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
41480
41481         poll: remove declarations of unused variables
41482         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
41483         sockbuf and optlen.
41484
41485 2009-01-15  Bruno Haible  <bruno@clisp.org>
41486
41487         Make fflush-after-ungetc POSIX compliant on BSD systems.
41488         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
41489         (clear_ungetc_buffer): Implement also for other systems.
41490         (rpl_fflush): On glibc systems, invoke
41491         clear_ungetc_buffer_preserving_position. Otherwise, invoke
41492         clear_ungetc_buffer after fetching the stream's position, not before.
41493
41494 2009-01-15  Bruno Haible  <bruno@clisp.org>
41495
41496         Make fflush-after-ungetc POSIX compliant on glibc systems.
41497         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
41498         after ungetc.
41499         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
41500         (rpl_fflush): On glibc systems, simply call the system's fflush
41501         function after clearing the ungetc buffer.
41502         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
41503         Instead, lseek only to the end of file, then use the system's fseeko
41504         for the rest. On glibc systems, reset the EOF indicator bit.
41505
41506 2009-01-15  Jim Meyering  <meyering@redhat.com>
41507
41508         openmp.m4: revert quote-adding change, for portability to older autoconf
41509         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
41510         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
41511         Simon Josefsson noticed the problem when using autoconf-2.61.
41512
41513 2009-01-15  Bruno Haible  <bruno@clisp.org>
41514
41515         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
41516         * tests/test-fflush2.c (ASSERT): Always fail.
41517         (main): Add two tests for fflush() after ungetc(), taking into account
41518         the Austin Group's clarification.
41519         Suggested by Eric Blake.
41520
41521 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
41522
41523         mktime.m4: remove K&R-style function prototypes
41524         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
41525         for the Sun C++ compiler.
41526
41527 2009-01-14  Bruno Haible  <bruno@clisp.org>
41528
41529         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
41530         while including <wchar.h>.
41531         * lib/wchar.in.h: In two particular situations on HP-UX, include only
41532         the system's <wchar.h> file.
41533         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41534
41535 2009-01-14  Bruno Haible  <bruno@clisp.org>
41536
41537         * m4/csharp.m4: Don't mention gettext on the serial number line.
41538         * m4/csharpexec.m4: Likewise.
41539         * m4/eaccess.m4: Likewise.
41540         * m4/javaexec.m4: Likewise.
41541         * m4/sig_atomic_t.m4: Likewise.
41542         * m4/tmpdir.m4: Likewise.
41543         * m4/intldir.m4: Bump gettext version.
41544         * m4/lib-ld.m4: Likewise.
41545
41546 2009-01-14  Bruno Haible  <bruno@clisp.org>
41547
41548         * lib/progname.c (set_program_name): Add more comments.
41549         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
41550
41551 2009-01-14  Simon Josefsson  <simon@josefsson.org>
41552
41553         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
41554         were sys/stat.h does not define it.
41555
41556 2009-01-14  Jim Meyering  <meyering@redhat.com>
41557
41558         many *.m4 files: improve m4 quoting
41559         99% of this change was performed by running the following commands:
41560         git ls-files | grep '\.m4$' | xargs perl -pi \
41561           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
41562           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
41563           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
41564           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
41565         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
41566         The remainder were to add Copyright dates, increment serial numbers,
41567         undo some changes in comments, exclude m4/intl.m4, and add quotes
41568         around the "1" in ",1" where the unusual spacing prohibited the
41569         above regexps from doing the job.  For more details, see
41570         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
41571         * m4/acl.m4: Modified.
41572         * m4/afs.m4: Likewise.
41573         * m4/alloca.m4: Likewise.
41574         * m4/argp.m4: Likewise.
41575         * m4/argz.m4: Likewise.
41576         * m4/atexit.m4: Likewise.
41577         * m4/bison-i18n.m4: Likewise.
41578         * m4/bison.m4: Likewise.
41579         * m4/byteswap.m4: Likewise.
41580         * m4/c-stack.m4: Likewise.
41581         * m4/c-strtod.m4: Likewise.
41582         * m4/calloc.m4: Likewise.
41583         * m4/canonicalize-lgpl.m4: Likewise.
41584         * m4/chown.m4: Likewise.
41585         * m4/clock_time.m4: Likewise.
41586         * m4/codeset.m4: Likewise.
41587         * m4/copy-file.m4: Likewise.
41588         * m4/csharp.m4: Likewise.
41589         * m4/csharpcomp.m4: Likewise.
41590         * m4/csharpexec.m4: Likewise.
41591         * m4/d-ino.m4: Likewise.
41592         * m4/d-type.m4: Likewise.
41593         * m4/dirfd.m4: Likewise.
41594         * m4/double-slash-root.m4: Likewise.
41595         * m4/eaccess.m4: Likewise.
41596         * m4/eealloc.m4: Likewise.
41597         * m4/environ.m4: Likewise.
41598         * m4/errno_h.m4: Likewise.
41599         * m4/euidaccess.m4: Likewise.
41600         * m4/execute.m4: Likewise.
41601         * m4/fatal-signal.m4: Likewise.
41602         * m4/fchdir.m4: Likewise.
41603         * m4/fcntl_h.m4: Likewise.
41604         * m4/fileblocks.m4: Likewise.
41605         * m4/filenamecat.m4: Likewise.
41606         * m4/findprog.m4: Likewise.
41607         * m4/flexmember.m4: Likewise.
41608         * m4/fnmatch.m4: Likewise.
41609         * m4/fopen.m4: Likewise.
41610         * m4/fpending.m4: Likewise.
41611         * m4/fprintf-posix.m4: Likewise.
41612         * m4/free.m4: Likewise.
41613         * m4/frexp.m4: Likewise.
41614         * m4/frexpl.m4: Likewise.
41615         * m4/fsusage.m4: Likewise.
41616         * m4/ftruncate.m4: Likewise.
41617         * m4/gc-camellia.m4: Likewise.
41618         * m4/gc-random.m4: Likewise.
41619         * m4/gc.m4: Likewise.
41620         * m4/getaddrinfo.m4: Likewise.
41621         * m4/getcwd-abort-bug.m4: Likewise.
41622         * m4/getcwd-path-max.m4: Likewise.
41623         * m4/getdate.m4: Likewise.
41624         * m4/getdomainname.m4: Likewise.
41625         * m4/getgroups.m4: Likewise.
41626         * m4/gethostname.m4: Likewise.
41627         * m4/gethrxtime.m4: Likewise.
41628         * m4/getline.m4: Likewise.
41629         * m4/getloadavg.m4: Likewise.
41630         * m4/getndelim2.m4: Likewise.
41631         * m4/getpass.m4: Likewise.
41632         * m4/gettext.m4: Likewise.
41633         * m4/gettime.m4: Likewise.
41634         * m4/gettimeofday.m4: Likewise.
41635         * m4/gnulib-common.m4: Likewise.
41636         * m4/group-member.m4: Likewise.
41637         * m4/host-os.m4: Likewise.
41638         * m4/iconv.m4: Likewise.
41639         * m4/iconv_open.m4: Likewise.
41640         * m4/inet_ntop.m4: Likewise.
41641         * m4/inet_pton.m4: Likewise.
41642         * m4/inline.m4: Likewise.
41643         * m4/intldir.m4: Likewise.
41644         * m4/intlmacosx.m4: Likewise.
41645         * m4/intmax.m4: Likewise.
41646         * m4/intmax_t.m4: Likewise.
41647         * m4/inttypes.m4: Likewise.
41648         * m4/inttypes_h.m4: Likewise.
41649         * m4/inttypes-pri.m4: Likewise.
41650         * m4/isapipe.m4: Likewise.
41651         * m4/isnand.m4: Likewise.
41652         * m4/isnanf.m4: Likewise.
41653         * m4/isnanl.m4: Likewise.
41654         * m4/javacomp.m4: Likewise.
41655         * m4/javaexec.m4: Likewise.
41656         * m4/jm-winsz1.m4: Likewise.
41657         * m4/jm-winsz2.m4: Likewise.
41658         * m4/lchown.m4: Likewise.
41659         * m4/lcmessage.m4: Likewise.
41660         * m4/ldexpl.m4: Likewise.
41661         * m4/lib-ld.m4: Likewise.
41662         * m4/lib-link.m4: Likewise.
41663         * m4/libsigsegv.m4: Likewise.
41664         * m4/link-follow.m4: Likewise.
41665         * m4/localcharset.m4: Likewise.
41666         * m4/locale-fr.m4: Likewise.
41667         * m4/locale-ja.m4: Likewise.
41668         * m4/locale-tr.m4: Likewise.
41669         * m4/locale-zh.m4: Likewise.
41670         * m4/lock.m4: Likewise.
41671         * m4/longlong.m4: Likewise.
41672         * m4/ls-mntd-fs.m4: Likewise.
41673         * m4/lstat.m4: Likewise.
41674         * m4/malloc.m4: Likewise.
41675         * m4/mathl.m4: Likewise.
41676         * m4/mbrtowc.m4: Likewise.
41677         * m4/mbstate_t.m4: Likewise.
41678         * m4/mbswidth.m4: Likewise.
41679         * m4/memchr.m4: Likewise.
41680         * m4/memcmp.m4: Likewise.
41681         * m4/memcpy.m4: Likewise.
41682         * m4/memmem.m4: Likewise.
41683         * m4/memmove.m4: Likewise.
41684         * m4/mempcpy.m4: Likewise.
41685         * m4/memrchr.m4: Likewise.
41686         * m4/memset.m4: Likewise.
41687         * m4/minmax.m4: Likewise.
41688         * m4/mkdir-slash.m4: Likewise.
41689         * m4/mkdtemp.m4: Likewise.
41690         * m4/mktime.m4: Likewise.
41691         * m4/mmap-anon.m4: Likewise.
41692         * m4/mountlist.m4: Likewise.
41693         * m4/nanosleep.m4: Likewise.
41694         * m4/nls.m4: Likewise.
41695         * m4/nocrash.m4: Likewise.
41696         * m4/open.m4: Likewise.
41697         * m4/openat.m4: Likewise.
41698         * m4/openmp.m4: Likewise.
41699         * m4/pathmax.m4: Likewise.
41700         * m4/perl.m4: Likewise.
41701         * m4/physmem.m4: Likewise.
41702         * m4/pipe.m4: Likewise.
41703         * m4/po.m4: Likewise.
41704         * m4/poll.m4: Likewise.
41705         * m4/posixtm.m4: Likewise.
41706         * m4/posixver.m4: Likewise.
41707         * m4/printf-frexp.m4: Likewise.
41708         * m4/printf-frexpl.m4: Likewise.
41709         * m4/printf-posix.m4: Likewise.
41710         * m4/printf-posix-rpl.m4: Likewise.
41711         * m4/printf.m4: Likewise.
41712         * m4/progtest.m4: Likewise.
41713         * m4/putenv.m4: Likewise.
41714         * m4/readline.m4: Likewise.
41715         * m4/readlink.m4: Likewise.
41716         * m4/readutmp.m4: Likewise.
41717         * m4/realloc.m4: Likewise.
41718         * m4/regex.m4: Likewise.
41719         * m4/relocatable.m4: Likewise.
41720         * m4/relocatable-lib.m4: Likewise.
41721         * m4/rename-dest-slash.m4: Likewise.
41722         * m4/rename.m4: Likewise.
41723         * m4/rmdir-errno.m4: Likewise.
41724         * m4/rmdir.m4: Likewise.
41725         * m4/roundf.m4: Likewise.
41726         * m4/roundl.m4: Likewise.
41727         * m4/rpmatch.m4: Likewise.
41728         * m4/save-cwd.m4: Likewise.
41729         * m4/selinux-selinux-h.m4: Likewise.
41730         * m4/setenv.m4: Likewise.
41731         * m4/settime.m4: Likewise.
41732         * m4/sig2str.m4: Likewise.
41733         * m4/sig_atomic_t.m4: Likewise.
41734         * m4/signalblocking.m4: Likewise.
41735         * m4/signbit.m4: Likewise.
41736         * m4/sigpipe.m4: Likewise.
41737         * m4/sockets.m4: Likewise.
41738         * m4/sockpfaf.m4: Likewise.
41739         * m4/st_dm_mode.m4: Likewise.
41740         * m4/stat-time.m4: Likewise.
41741         * m4/stdbool.m4: Likewise.
41742         * m4/stdint.m4: Likewise.
41743         * m4/stdint_h.m4: Likewise.
41744         * m4/stpcpy.m4: Likewise.
41745         * m4/stpncpy.m4: Likewise.
41746         * m4/strcase.m4: Likewise.
41747         * m4/strchrnul.m4: Likewise.
41748         * m4/strcspn.m4: Likewise.
41749         * m4/strdup.m4: Likewise.
41750         * m4/strftime.m4: Likewise.
41751         * m4/strndup.m4: Likewise.
41752         * m4/strnlen.m4: Likewise.
41753         * m4/strpbrk.m4: Likewise.
41754         * m4/strptime.m4: Likewise.
41755         * m4/strsep.m4: Likewise.
41756         * m4/strtod.m4: Likewise.
41757         * m4/strtoimax.m4: Likewise.
41758         * m4/strtok_r.m4: Likewise.
41759         * m4/strtol.m4: Likewise.
41760         * m4/strtoll.m4: Likewise.
41761         * m4/strtoul.m4: Likewise.
41762         * m4/strtoull.m4: Likewise.
41763         * m4/strtoumax.m4: Likewise.
41764         * m4/strverscmp.m4: Likewise.
41765         * m4/threadlib.m4: Likewise.
41766         * m4/timegm.m4: Likewise.
41767         * m4/tm_gmtoff.m4: Likewise.
41768         * m4/tmpdir.m4: Likewise.
41769         * m4/tmpfile.m4: Likewise.
41770         * m4/tzset.m4: Likewise.
41771         * m4/uintmax_t.m4: Likewise.
41772         * m4/unlinkdir.m4: Likewise.
41773         * m4/unlocked-io.m4: Likewise.
41774         * m4/uptime.m4: Likewise.
41775         * m4/userspec.m4: Likewise.
41776         * m4/utimbuf.m4: Likewise.
41777         * m4/utime.m4: Likewise.
41778         * m4/utimes-null.m4: Likewise.
41779         * m4/utimes.m4: Likewise.
41780         * m4/vararrays.m4: Likewise.
41781         * m4/vasnprintf.m4: Likewise.
41782         * m4/vfprintf-posix.m4: Likewise.
41783         * m4/vprintf-posix.m4: Likewise.
41784         * m4/wait-process.m4: Likewise.
41785         * m4/wchar_t.m4: Likewise.
41786         * m4/wint_t.m4: Likewise.
41787         * m4/write-any-file.m4: Likewise.
41788         * m4/yield.m4: Likewise.
41789
41790 2009-01-13  Bruno Haible  <bruno@clisp.org>
41791
41792         Avoid test-copy-file.sh failures when ACL support insufficient.
41793         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
41794         TESTS_ENVIRONMENT.
41795         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
41796         Reported by Jim Meyering.
41797
41798 2009-01-13  Bruno Haible  <bruno@clisp.org>
41799
41800         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
41801         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
41802         * modules/unistdio/u8-printf-parse (Files): Likewise.
41803         * modules/unistdio/u32-printf-parse (Files): Likewise.
41804         * modules/unistdio/ulc-printf-parse (Files): Likewise.
41805
41806 2009-01-13  Simon Josefsson  <simon@josefsson.org>
41807
41808         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
41809         and m4/inttypes_h.m4 too.
41810
41811 2009-01-12  Eric Blake  <ebb9@byu.net>
41812
41813         tests: IRIX 6.2 cc can't compile -0.0 into .data
41814         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
41815         rather than at compile-time.
41816         * tests/test-floorl.c (minus_zero): Likewise.
41817         * tests/test-frexpl.c (minus_zero): Likewise.
41818         * tests/test-isnan.c (minus_zerol): Likewise.
41819         * tests/test-isnanl.h (minus_zero): Likewise.
41820         * tests/test-ldexpl.c (minus_zero): Likewise.
41821         * tests/test-roundl.c (minus_zero): Likewise.
41822         * tests/test-signbit.c (minus_zerol): Likewise.
41823         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
41824         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
41825         * tests/test-truncl.c (minus_zero): Likewise.
41826         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
41827         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
41828         Reported by Tom G. Christensen and Nelson H. F. Beebe.
41829
41830 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
41831
41832         regex: fix glibc bug 9697
41833         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
41834         handling.
41835
41836 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
41837
41838         regex: fix glibc bug 697
41839         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
41840         being NULL also if there are no backreferences.
41841
41842 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
41843
41844         regex: merge glibc changes
41845         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
41846         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
41847         re_string_skip_chars, re_string_reconstruct): Likewise.
41848         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
41849
41850 2009-01-07  Jim Meyering  <meyering@redhat.com>
41851
41852         poll: filter through cppi
41853         * lib/poll.c: Indent cpp directives to reflect nesting.
41854
41855 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
41856
41857         poll: don't return uninitialized
41858         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
41859
41860 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
41861
41862         avoid compile failure on AIX 6.1
41863         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
41864         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
41865
41866 2009-01-04  Jim Meyering  <meyering@redhat.com>
41867
41868         remove duplicate inclusion of <stdio.h>
41869         * tests/test-fprintf-posix.c: Likewise.
41870         * tests/test-printf-posix.c: Likewise.
41871         * tests/test-snprintf-posix.c: Likewise.
41872         * tests/test-sprintf-posix.c: Likewise.
41873         * tests/test-vasprintf-posix.c: Likewise.
41874         * tests/test-vfprintf-posix.c: Likewise.
41875         * tests/test-vprintf-posix.c: Likewise.
41876         * tests/test-vsnprintf-posix.c: Likewise.
41877         * tests/test-vsprintf-posix.c: Likewise.
41878
41879 2009-01-03  Jim Meyering  <meyering@redhat.com>
41880
41881         gnulib-tool: fix sed-based filtering
41882         * gnulib-tool (func_filter_filelist): Remove extra backslash
41883         in sed_fff_filter definition.
41884
41885 2009-01-02  Jim Meyering  <meyering@redhat.com>
41886
41887         strftime: avoid compilation failure on Solaris 2.6
41888         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
41889         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
41890         Don't #define mbrlen or mbsinit, since now they're guaranteed to
41891         be available.  Reported by Tom G. Christensen.  Details in
41892         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
41893
41894 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41895             Bruno Haible  <bruno@clisp.org>
41896
41897         Speed up gnulib-tool by doing more string processing through shell
41898         built-ins.
41899         * gnulib-tool (fast_func_append): New variable.
41900         (func_remove_prefix, func_remove_suffix): New functions.
41901         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
41902         (func_filter_filelist): New function.
41903         (func_get_dependencies): Use func_remove_suffix instead of sed.
41904         (func_get_automake_snippet): Use func_filter_filelist instead of a
41905         subshell and sed invocation.
41906
41907 2009-01-01  Bruno Haible  <bruno@clisp.org>
41908
41909         Fix a security bug.
41910         * gnulib-tool (func_import, import, update): Don't allow the characters
41911         '"', '$', '`', '\' in macro arguments that become part of commands that
41912         are evaluated.
41913
41914 2009-01-01  Bruno Haible  <bruno@clisp.org>
41915
41916         * gnulib-tool (func_reset_sigpipe): Add more comments.
41917
41918 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41919
41920         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
41921         func_emit_tests_Makefile_am, func_import): Abort loops early if we
41922         already know the answer.
41923
41924 2009-01-01  Jim Meyering  <meyering@redhat.com>
41925
41926         * lib/version-etc.c (version_etc_va): Update copyright year.
41927
41928 2008-12-30  Bruno Haible  <bruno@clisp.org>
41929
41930         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
41931         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
41932         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
41933
41934 2008-12-29  Eric Blake  <ebb9@byu.net>
41935
41936         multiarch: avoid autoconf AC_REQUIRE bug
41937         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
41938         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
41939         2.63 and older.
41940         Reported by Bruno Haible, and analyzed in
41941         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
41942
41943 2008-12-29  Bruno Haible  <bruno@clisp.org>
41944
41945         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
41946         files in subdirectories correctly.
41947         Reported by Ralf Wildenhues.
41948
41949 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41950
41951         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
41952         rather than 'join FILE -', for Solaris join.
41953
41954 2008-12-29  Bruno Haible  <bruno@clisp.org>
41955
41956         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
41957         quoting.
41958         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
41959         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
41960         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
41961         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
41962         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
41963         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
41964         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
41965         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
41966         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
41967         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
41968         * m4/nls.m4 (AM_NLS): Likewise.
41969         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
41970         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
41971         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
41972         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
41973         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
41974         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
41975         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
41976         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
41977         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
41978         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
41979         * m4/xsize.m4 (gl_XSIZE): Likewise.
41980         Suggested by Jim Meyering.
41981
41982 2008-11-17  Bruce Korb  <bkorb@gnu.org>
41983
41984         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
41985         * lib/parse-duration.c: use a switch instead of cascading if's.
41986
41987 2008-12-29  Eric Blake  <ebb9@byu.net>
41988
41989         wchar.h: supply WEOF on Irix 5.3
41990         * lib/wchar.in.h (wint_t): Also supply WEOF.
41991         * lib/wctype.in.h (wint_t): Likewise.
41992         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
41993         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
41994         Reported by Tom G. Christensen.
41995
41996 2008-12-26  Bruno Haible  <bruno@clisp.org>
41997
41998         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
41999         i486, i586, i686.
42000
42001 2008-12-26  Bruno Haible  <bruno@clisp.org>
42002
42003         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
42004
42005 2008-12-26  Bruno Haible  <bruno@clisp.org>
42006
42007         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
42008         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
42009         not __STDC_CONSTANT_MACROS.
42010         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
42011
42012 2008-12-25  Bruno Haible  <bruno@clisp.org>
42013
42014         Add support for universal builds to vasnprintf.
42015         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
42016         universal builds, guess no.
42017         * modules/vasnprintf-posix (Depends-on): Add multiarch.
42018         * modules/vasprintf-posix (Depends-on): Likewise.
42019         * modules/fprintf-posix (Depends-on): Likewise.
42020         * modules/vfprintf-posix (Depends-on): Likewise.
42021         * modules/snprintf-posix (Depends-on): Likewise.
42022         * modules/vsnprintf-posix (Depends-on): Likewise.
42023         * modules/sprintf-posix (Depends-on): Likewise.
42024         * modules/vsprintf-posix (Depends-on): Likewise.
42025         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42026         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42027         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42028         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42029         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42030         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42031         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42032
42033         Add support for universal builds to <inttypes.h>.
42034         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
42035         _SCNu64_PREFIX): In Apple
42036         universal builds, define directly, using _LP64.
42037         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
42038         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
42039         * modules/inttypes (Depends-on): Add multiarch.
42040         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42041
42042         Add support for universal builds to <stdint.h>.
42043         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
42044         universal builds, define directly, using _LP64.
42045         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
42046         Apple universal builds, don't test for the size and suffix of ptrdiff_t
42047         and size_t.
42048         * modules/stdint (Depends-on): Add multiarch.
42049         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42050
42051         New module 'multiarch'.
42052         * modules/multiarch: New file.
42053         * m4/multiarch.m4: New file.
42054
42055 2008-12-25  Bruno Haible  <bruno@clisp.org>
42056
42057         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
42058
42059 2008-12-25  Bruno Haible  <bruno@clisp.org>
42060
42061         * modules/btowc (License): Relicense under LGPLv2+.
42062         * modules/mbsinit (License): Likewise.
42063         * modules/mbrtowc (License): Likewise.
42064         * modules/wcrtomb (License): Likewise.
42065         * modules/streq (License): Likewise.
42066         Reported by David Lutterkort <lutter@redhat.com>.
42067
42068 2008-12-23  Bruno Haible  <bruno@clisp.org>
42069
42070         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
42071
42072 2008-12-23  Bruno Haible  <bruno@clisp.org>
42073
42074         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
42075         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
42076         GETADDRINFO_LIB, not in LIBS.
42077         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
42078         * modules/canon-host (Link): Likewise.
42079         * NEWS: Mention the change.
42080         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
42081         GETADDRINFO_LIB.
42082
42083 2008-12-22  Bruno Haible  <bruno@clisp.org>
42084
42085         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
42086         * doc/posix-functions/iswalpha_l.texi: Likewise.
42087         * doc/posix-functions/iswblank_l.texi: Likewise.
42088         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42089         * doc/posix-functions/iswctype_l.texi: Likewise.
42090         * doc/posix-functions/iswdigit_l.texi: Likewise.
42091         * doc/posix-functions/iswgraph_l.texi: Likewise.
42092         * doc/posix-functions/iswlower_l.texi: Likewise.
42093         * doc/posix-functions/iswprint_l.texi: Likewise.
42094         * doc/posix-functions/iswpunct_l.texi: Likewise.
42095         * doc/posix-functions/iswspace_l.texi: Likewise.
42096         * doc/posix-functions/iswupper_l.texi: Likewise.
42097         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42098         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
42099         * doc/posix-functions/open_wmemstream.texi: Likewise.
42100         * doc/posix-functions/swscanf.texi: Likewise.
42101         * doc/posix-functions/towctrans_l.texi: Likewise.
42102         * doc/posix-functions/towlower.texi: Likewise.
42103         * doc/posix-functions/towlower_l.texi: Likewise.
42104         * doc/posix-functions/towupper.texi: Likewise.
42105         * doc/posix-functions/towupper_l.texi: Likewise.
42106         * doc/posix-functions/vfwprintf.texi: Likewise.
42107         * doc/posix-functions/vfwscanf.texi: Likewise.
42108         * doc/posix-functions/vswscanf.texi: Likewise.
42109         * doc/posix-functions/vwprintf.texi: Likewise.
42110         * doc/posix-functions/vwscanf.texi: Likewise.
42111         * doc/posix-functions/wcpcpy.texi: Likewise.
42112         * doc/posix-functions/wcpncpy.texi: Likewise.
42113         * doc/posix-functions/wcscasecmp.texi: Likewise.
42114         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
42115         * doc/posix-functions/wcscoll_l.texi: Likewise.
42116         * doc/posix-functions/wcsdup.texi: Likewise.
42117         * doc/posix-functions/wcsncasecmp.texi: Likewise.
42118         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
42119         * doc/posix-functions/wcsnlen.texi: Likewise.
42120         * doc/posix-functions/wcsnrtombs.texi: Likewise.
42121         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42122         * doc/posix-functions/wctrans_l.texi: Likewise.
42123         * doc/posix-functions/wctype_l.texi: Likewise.
42124         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
42125         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
42126         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
42127         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
42128         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
42129         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
42130         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
42131         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
42132         * doc/glibc-functions/wcschrnul.texi: Likewise.
42133         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42134         * doc/glibc-functions/wcstod_l.texi: Likewise.
42135         * doc/glibc-functions/wcstof_l.texi: Likewise.
42136         * doc/glibc-functions/wcstol_l.texi: Likewise.
42137         * doc/glibc-functions/wcstold_l.texi: Likewise.
42138         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42139         * doc/glibc-functions/wcstoq.texi: Likewise.
42140         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42141         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42142         * doc/glibc-functions/wcstouq.texi: Likewise.
42143         * doc/glibc-functions/wmempcpy.texi: Likewise.
42144
42145 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
42146             Eric Blake  <ebb9@byu.net>
42147             Paolo Bonzini  <bonzini@gnu.org>
42148             Bruno Haible  <bruno@clisp.org>
42149
42150         Make c-stack work on Haiku.
42151         * lib/c-stack.c (SA_ONSTACK): Define fallback.
42152         (c_stack_action): Use SA_ONSTACK flag.
42153
42154 2008-12-22  Bruno Haible  <bruno@clisp.org>
42155
42156         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
42157
42158 2008-12-22  Bruno Haible  <bruno@clisp.org>
42159
42160         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
42161         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
42162         being overridden.
42163         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
42164         New macros.
42165         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
42166         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
42167         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
42168         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
42169
42170 2008-12-22  Bruno Haible  <bruno@clisp.org>
42171
42172         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
42173         from test code.
42174
42175 2008-12-22  Eric Blake  <ebb9@byu.net>
42176
42177         Avoid gcc warnings on cygwin.
42178         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
42179         Avoid unused variable.
42180         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
42181         Likewise.
42182
42183 2008-12-22  Bruno Haible  <bruno@clisp.org>
42184
42185         Remove HAVE_MBRTOWC conditionals.
42186         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
42187         (mbscasecmp): Assume mbrtowc function.
42188         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
42189         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
42190         * lib/mbschr.c: Include mbuiter.h unconditionally.
42191         (mbschr): Assume mbrtowc function.
42192         * lib/mbscspn.c: Include mbuiter.h unconditionally.
42193         (mbscspn): Assume mbrtowc function.
42194         * lib/mbslen.c: Include mbuiter.h unconditionally.
42195         (mbslen): Assume mbrtowc function.
42196         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
42197         (mbsncasecmp): Assume mbrtowc function.
42198         * lib/mbsnlen.c: Include mbiter.h unconditionally.
42199         (mbsnlen): Assume mbrtowc function.
42200         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
42201         (mbspbrk): Assume mbrtowc function.
42202         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
42203         (mbspcasecmp): Assume mbrtowc function.
42204         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
42205         (mbsrchr): Assume mbrtowc function.
42206         * lib/mbssep.c: Include mbuiter.h unconditionally.
42207         (mbssep): Assume mbrtowc function.
42208         * lib/mbsspn.c: Include mbuiter.h unconditionally.
42209         (mbsspn): Assume mbrtowc function.
42210         * lib/mbsstr.c: Include mbuiter.h unconditionally.
42211         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
42212         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
42213         (mbstok_r): Assume mbrtowc function.
42214         * lib/propername.c: Include mbuiter.h unconditionally.
42215         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
42216         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
42217         (trim2): Assume mbrtowc function.
42218         * lib/mbswidth.c (mbsinit): Remove fallback definition.
42219         (mbsnwidth): Assume mbrtowc function.
42220         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
42221         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
42222         fallback definitions.
42223         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
42224
42225 2008-12-22  Bruno Haible  <bruno@clisp.org>
42226
42227         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
42228
42229 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
42230
42231         * modules/regex: Request emulations for the mb*/wc* functions we need.
42232         * m4/regex.m4: Don't look for those functions here.
42233         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
42234
42235 2008-12-22  Bruno Haible  <bruno@clisp.org>
42236
42237         * modules/fnmatch (Depends-on): Remove duplicated dependency.
42238
42239 2008-12-21  Bruno Haible  <bruno@clisp.org>
42240
42241         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
42242         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
42243         (Include): Remove conditionalization.
42244         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
42245         (Include): Remove conditionalization.
42246         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
42247         (Include): Remove conditionalization.
42248         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
42249         * m4/mbfile.m4 (gl_MBFILE): Likewise.
42250         * NEWS: Mention the change.
42251         Reported by Alan Hourihane <alanh@fairlite.co.uk>
42252         via Sergey Poznyakoff <gray@gnu.org.ua>.
42253
42254 2008-12-21  Bruno Haible  <bruno@clisp.org>
42255
42256         * MODULES.html.sh (Extended multibyte and wide character utilities
42257         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
42258         wcrtomb, wcsrtombs.
42259         (Support for systems lacking POSIX:2008): Add accept, bind, close,
42260         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
42261         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
42262         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
42263
42264 2008-12-21  Bruno Haible  <bruno@clisp.org>
42265
42266         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
42267
42268 2008-12-21  Bruno Haible  <bruno@clisp.org>
42269
42270         * modules/wcsnrtombs-tests: New file.
42271         * tests/test-wcsnrtombs1.sh: New file.
42272         * tests/test-wcsnrtombs2.sh: New file.
42273         * tests/test-wcsnrtombs3.sh: New file.
42274         * tests/test-wcsnrtombs4.sh: New file.
42275         * tests/test-wcsnrtombs.c: New file.
42276
42277         New module 'wcsnrtombs'.
42278         * lib/wchar.in.h (wcsnrtombs): New declaration.
42279         * lib/wcsnrtombs.c: New file.
42280         * lib/wcsrtombs-state.c: New file.
42281         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
42282         (internal_state): Remove variable.
42283         * m4/wcsnrtombs.m4: New file.
42284         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
42285         compilation units.
42286         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
42287         HAVE_WCSNRTOMBS.
42288         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
42289         HAVE_WCSNRTOMBS.
42290         * modules/wcsnrtombs: New file.
42291         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
42292         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
42293
42294 2008-12-21  Bruno Haible  <bruno@clisp.org>
42295
42296         * modules/wcsrtombs-tests: New file.
42297         * tests/test-wcsrtombs1.sh: New file.
42298         * tests/test-wcsrtombs2.sh: New file.
42299         * tests/test-wcsrtombs3.sh: New file.
42300         * tests/test-wcsrtombs4.sh: New file.
42301         * tests/test-wcsrtombs.c: New file.
42302
42303         New module 'wcsrtombs'.
42304         * lib/wchar.in.h (wcsrtombs): New declaration.
42305         * lib/wcsrtombs.c: New file.
42306         * m4/wcsrtombs.m4: New file.
42307         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
42308         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42309         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
42310         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42311         * modules/wcsrtombs: New file.
42312         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
42313         bugs.
42314
42315 2008-12-21  Bruno Haible  <bruno@clisp.org>
42316
42317         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
42318         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
42319         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
42320         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
42321         if not correct.
42322         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
42323         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
42324         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42325         m4/locale-zh.m4, m4/codeset.m4.
42326         * doc/posix-functions/wcrtomb.texi: Document the bug.
42327
42328 2008-12-21  Bruno Haible  <bruno@clisp.org>
42329
42330         Work around a btowc() bug on IRIX 6.5.
42331         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
42332         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
42333         REPLACE_WTOBC if not.
42334         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
42335         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
42336         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
42337
42338 2008-12-21  Bruno Haible  <bruno@clisp.org>
42339
42340         * modules/wcrtomb-tests: New file.
42341         * tests/test-wcrtomb.sh: New file.
42342         * tests/test-wcrtomb.c: New file.
42343
42344         New module 'wcrtomb'.
42345         * lib/wchar.in.h (wcrtomb): New declaration.
42346         * lib/wcrtomb.c: New file.
42347         * m4/wcrtomb.m4: New file.
42348         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
42349         HAVE_WCRTOMB.
42350         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
42351         HAVE_WCRTOMB.
42352         * modules/wcrtomb: New file.
42353         * doc/posix-functions/wcrtomb.texi: Mention the new module.
42354
42355 2008-12-21  Bruno Haible  <bruno@clisp.org>
42356
42357         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
42358         * modules/mbsrtowcs (Files): Likewise.
42359         * modules/wctob (Files): Likewise.
42360         * modules/c-strcase-tests (Files): Likewise.
42361         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
42362         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
42363         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
42364         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
42365         * modules/vasnprintf-posix-tests (Files): Likewise.
42366
42367 2008-12-21  William Pursell  <bill.pursell@gmail.com>
42368
42369         gitlog-to-changelog: pass all command-line arguments to git-log
42370         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
42371         it is sometimes convenient to filter the commits in various ways.
42372         gitlog-to-changelog only allows --since to specify a start date,
42373         but git-log itself supports many other filtering mechanisms.
42374         At the moment, I want to filter by branch name.  Rather than
42375         adding a --branch option to gitlog-to-changelog, it seems more
42376         flexible to simply pass all options directly to git-log and let
42377         git do the work.  Notice that this effectively makes --since a
42378         redundant option for gitlog-to-changelog, but removing it would
42379         require current usage to change since calls would then require
42380         an additional '--'.
42381
42382 2008-12-21  Bruno Haible  <bruno@clisp.org>
42383
42384         * modules/mbsnrtowcs-tests: New file.
42385         * tests/test-mbsnrtowcs1.sh: New file.
42386         * tests/test-mbsnrtowcs2.sh: New file.
42387         * tests/test-mbsnrtowcs3.sh: New file.
42388         * tests/test-mbsnrtowcs4.sh: New file.
42389         * tests/test-mbsnrtowcs.c: New file.
42390
42391         New module 'mbsnrtowcs'.
42392         * lib/wchar.in.h (mbsnrtowcs): New declaration.
42393         * lib/mbsnrtowcs.c: New file.
42394         * lib/mbsrtowcs-state.c: New file.
42395         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
42396         (internal_state): Remove variable.
42397         * m4/mbsnrtowcs.m4: New file.
42398         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
42399         compilation units.
42400         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
42401         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42402         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
42403         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42404         * modules/mbsnrtowcs: New file.
42405         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
42406         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
42407         portability problem.
42408
42409 2008-12-21  Bruno Haible  <bruno@clisp.org>
42410
42411         Work around mbsrtowcs bug.
42412         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
42413         (gl_FUNC_MBSRTOWCS): Invoke it.
42414         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42415         m4/locale-zh.m4.
42416         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
42417
42418 2008-12-21  Bruno Haible  <bruno@clisp.org>
42419
42420         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
42421
42422 2008-12-21  Bruno Haible  <bruno@clisp.org>
42423
42424         Update doc for AIX.
42425         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
42426         16-bit wchar_t type.
42427         * doc/posix-functions/btowc.texi: Likewise.
42428         * doc/posix-functions/fgetwc.texi: Likewise.
42429         * doc/posix-functions/fgetws.texi: Likewise.
42430         * doc/posix-functions/fputwc.texi: Likewise.
42431         * doc/posix-functions/fputws.texi: Likewise.
42432         * doc/posix-functions/fwide.texi: Likewise.
42433         * doc/posix-functions/fwprintf.texi: Likewise.
42434         * doc/posix-functions/fwscanf.texi: Likewise.
42435         * doc/posix-functions/getwchar.texi: Likewise.
42436         * doc/posix-functions/getwc.texi: Likewise.
42437         * doc/posix-functions/iswalnum.texi: Likewise.
42438         * doc/posix-functions/iswalpha.texi: Likewise.
42439         * doc/posix-functions/iswblank.texi: Likewise.
42440         * doc/posix-functions/iswcntrl.texi: Likewise.
42441         * doc/posix-functions/iswctype.texi: Likewise.
42442         * doc/posix-functions/iswdigit.texi: Likewise.
42443         * doc/posix-functions/iswgraph.texi: Likewise.
42444         * doc/posix-functions/iswlower.texi: Likewise.
42445         * doc/posix-functions/iswprint.texi: Likewise.
42446         * doc/posix-functions/iswpunct.texi: Likewise.
42447         * doc/posix-functions/iswspace.texi: Likewise.
42448         * doc/posix-functions/iswupper.texi: Likewise.
42449         * doc/posix-functions/iswxdigit.texi: Likewise.
42450         * doc/posix-functions/mbrtowc.texi: Likewise.
42451         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42452         * doc/posix-functions/mbstowcs.texi: Likewise.
42453         * doc/posix-functions/mbtowc.texi: Likewise.
42454         * doc/posix-functions/putwchar.texi: Likewise.
42455         * doc/posix-functions/putwc.texi: Likewise.
42456         * doc/posix-functions/swprintf.texi: Likewise.
42457         * doc/posix-functions/tolower.texi: Likewise.
42458         * doc/posix-functions/toupper.texi: Likewise.
42459         * doc/posix-functions/towctrans.texi: Likewise.
42460         * doc/posix-functions/ungetwc.texi: Likewise.
42461         * doc/posix-functions/vswprintf.texi: Likewise.
42462         * doc/posix-functions/wcrtomb.texi: Likewise.
42463         * doc/posix-functions/wcscat.texi: Likewise.
42464         * doc/posix-functions/wcschr.texi: Likewise.
42465         * doc/posix-functions/wcscmp.texi: Likewise.
42466         * doc/posix-functions/wcscoll.texi: Likewise.
42467         * doc/posix-functions/wcscpy.texi: Likewise.
42468         * doc/posix-functions/wcscspn.texi: Likewise.
42469         * doc/posix-functions/wcsftime.texi: Likewise.
42470         * doc/posix-functions/wcslen.texi: Likewise.
42471         * doc/posix-functions/wcsncat.texi: Likewise.
42472         * doc/posix-functions/wcsncmp.texi: Likewise.
42473         * doc/posix-functions/wcsncpy.texi: Likewise.
42474         * doc/posix-functions/wcspbrk.texi: Likewise.
42475         * doc/posix-functions/wcsrchr.texi: Likewise.
42476         * doc/posix-functions/wcsrtombs.texi: Likewise.
42477         * doc/posix-functions/wcsspn.texi: Likewise.
42478         * doc/posix-functions/wcsstr.texi: Likewise.
42479         * doc/posix-functions/wcstod.texi: Likewise.
42480         * doc/posix-functions/wcstof.texi: Likewise.
42481         * doc/posix-functions/wcstoimax.texi: Likewise.
42482         * doc/posix-functions/wcstok.texi: Likewise.
42483         * doc/posix-functions/wcstold.texi: Likewise.
42484         * doc/posix-functions/wcstoll.texi: Likewise.
42485         * doc/posix-functions/wcstol.texi: Likewise.
42486         * doc/posix-functions/wcstombs.texi: Likewise.
42487         * doc/posix-functions/wcstoull.texi: Likewise.
42488         * doc/posix-functions/wcstoul.texi: Likewise.
42489         * doc/posix-functions/wcstoumax.texi: Likewise.
42490         * doc/posix-functions/wcswidth.texi: Likewise.
42491         * doc/posix-functions/wcsxfrm.texi: Likewise.
42492         * doc/posix-functions/wctob.texi: Likewise.
42493         * doc/posix-functions/wctomb.texi: Likewise.
42494         * doc/posix-functions/wctrans.texi: Likewise.
42495         * doc/posix-functions/wctype.texi: Likewise.
42496         * doc/posix-functions/wcwidth.texi: Likewise.
42497         * doc/posix-functions/wmemchr.texi: Likewise.
42498         * doc/posix-functions/wmemcmp.texi: Likewise.
42499         * doc/posix-functions/wmemcpy.texi: Likewise.
42500         * doc/posix-functions/wmemmove.texi: Likewise.
42501         * doc/posix-functions/wmemset.texi: Likewise.
42502         * doc/posix-functions/wprintf.texi: Likewise.
42503         * doc/posix-functions/wscanf.texi: Likewise.
42504
42505 2008-12-21  Bruno Haible  <bruno@clisp.org>
42506
42507         Update doc for HP-UX 11.11.
42508         * doc/posix-functions/btowc.texi: Clarify that the function is missing
42509         in HP-UX version 11.00, not in all versions of HP-UX 11.
42510         * doc/posix-functions/fwide.texi: Likewise.
42511         * doc/posix-functions/fwprintf.texi: Likewise.
42512         * doc/posix-functions/fwscanf.texi: Likewise.
42513         * doc/posix-functions/inet_ntop.texi: Likewise.
42514         * doc/posix-functions/inet_pton.texi: Likewise.
42515         * doc/posix-functions/mbrlen.texi: Likewise.
42516         * doc/posix-functions/mbrtowc.texi: Likewise.
42517         * doc/posix-functions/mbsinit.texi: Likewise.
42518         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42519         * doc/posix-functions/swprintf.texi: Likewise.
42520         * doc/posix-functions/swscanf.texi: Likewise.
42521         * doc/posix-functions/towctrans.texi: Likewise.
42522         * doc/posix-functions/vfwprintf.texi: Likewise.
42523         * doc/posix-functions/vswprintf.texi: Likewise.
42524         * doc/posix-functions/vwprintf.texi: Likewise.
42525         * doc/posix-functions/wcrtomb.texi: Likewise.
42526         * doc/posix-functions/wcsrtombs.texi: Likewise.
42527         * doc/posix-functions/wcsstr.texi: Likewise.
42528         * doc/posix-functions/wctob.texi: Likewise.
42529         * doc/posix-functions/wctrans.texi: Likewise.
42530         * doc/posix-functions/wmemchr.texi: Likewise.
42531         * doc/posix-functions/wmemcmp.texi: Likewise.
42532         * doc/posix-functions/wmemcpy.texi: Likewise.
42533         * doc/posix-functions/wmemmove.texi: Likewise.
42534         * doc/posix-functions/wmemset.texi: Likewise.
42535         * doc/posix-functions/wprintf.texi: Likewise.
42536         * doc/posix-functions/wscanf.texi: Likewise.
42537
42538 2008-12-21  Bruno Haible  <bruno@clisp.org>
42539
42540         Work around a portability problem.
42541         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
42542         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
42543
42544 2008-12-20  Bruno Haible  <bruno@clisp.org>
42545
42546         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
42547         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
42548         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
42549         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
42550         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
42551
42552         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
42553         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
42554         set.
42555         (GNULIB_defined_mbstate_t): New macro.
42556         (mbsinit): Redefine if REPLACE_MBSINIT is set.
42557         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
42558         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
42559         reuses the system's mbrtowc function but works around the bugs.
42560         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
42561         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
42562         macros.
42563         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
42564         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
42565         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
42566         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
42567         REPLACE_MBSINIT if mbsinit needs to be overridden.
42568         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
42569         REPLACE_MBSINIT, REPLACE_MBRTOWC.
42570         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
42571         REPLACE_MBSINIT, REPLACE_MBRTOWC.
42572         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42573         m4/locale-zh.m4.
42574         (Depends): Add mbsinit.
42575         * modules/mbsinit (Depends): Add mbrtowc.
42576         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
42577
42578 2008-12-20  Bruno Haible  <bruno@clisp.org>
42579
42580         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
42581         so that there are no conversion errors on AIX.
42582         * tests/test-mbsrtowcs.c (main): LIkewise.
42583
42584 2008-12-20  Bruno Haible  <bruno@clisp.org>
42585
42586         Work around wctob bug on Solaris <= 9.
42587         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
42588         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
42589         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
42590         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
42591         * modules/wctob (Files): Add m4/locale-fr.m4.
42592         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
42593
42594 2008-12-20  Bruno Haible  <bruno@clisp.org>
42595
42596         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
42597         /dev/null.
42598         * tests/test-select-in.sh: Likewise.
42599         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42600
42601 2008-12-20  Bruno Haible  <bruno@clisp.org>
42602
42603         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
42604         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
42605         Cygwin 1.5.x.
42606
42607 2008-12-20  Bruno Haible  <bruno@clisp.org>
42608
42609         Ensure mbstate_t is defined on HP-UX 11.11.
42610         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
42611         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
42612         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
42613         AC_USE_SYSTEM_EXTENSIONS.
42614         * modules/fnmatch (Depends-on): Add extensions.
42615         * modules/mbrlen (Depends-on): Likewise.
42616         * modules/mbrtowc (Depends-on): Likewise.
42617         * modules/mbsinit (Depends-on): Likewise.
42618         * modules/mbsrtowcs (Depends-on): Likewise.
42619         * modules/mbswidth (Depends-on): Likewise.
42620         * modules/quotearg (Depends-on): Likewise.
42621         * modules/strftime (Depends-on): Likewise.
42622
42623 2008-12-20  Bruno Haible  <bruno@clisp.org>
42624
42625         Ensure wctob is declared on IRIX 6.5.
42626         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
42627         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
42628         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
42629         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
42630         of HAVE_WCTOB.
42631         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
42632         HAVE_WCTOB.
42633         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
42634
42635 2008-12-19  Bruno Haible  <bruno@clisp.org>
42636
42637         * modules/mbsrtowcs-tests: New file.
42638         * tests/test-mbsrtowcs1.sh: New file.
42639         * tests/test-mbsrtowcs2.sh: New file.
42640         * tests/test-mbsrtowcs3.sh: New file.
42641         * tests/test-mbsrtowcs4.sh: New file.
42642         * tests/test-mbsrtowcs.c: New file.
42643
42644         New module 'mbsrtowcs'.
42645         * lib/wchar.in.h (mbsrtowcs): New declaration.
42646         * lib/mbsrtowcs.c: New file.
42647         * m4/mbsrtowcs.m4: New file.
42648         * modules/mbsrtowcs: New file.
42649         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
42650         HAVE_MBSRTOWCS.
42651         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
42652         HAVE_MBSRTOWCS.
42653         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
42654
42655 2008-12-19  Bruno Haible  <bruno@clisp.org>
42656
42657         New module 'mbrlen'.
42658         * lib/wchar.in.h (mbrlen): New declaration.
42659         * lib/mbrlen.c: New file.
42660         * m4/mbrlen.m4: New file.
42661         * modules/mbrlen: New file.
42662         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
42663         HAVE_MBRLEN.
42664         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
42665         HAVE_MBRLEN.
42666         * doc/posix-functions/mbrlen.texi: Document the new module.
42667
42668 2008-12-19  Bruno Haible  <bruno@clisp.org>
42669
42670         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
42671         * modules/mbrtowc (Depends-on): Add verify.
42672         Suggested by Paul Eggert.
42673
42674 2008-12-18  Bruno Haible  <bruno@clisp.org>
42675
42676         * modules/mbsinit-tests: New file.
42677         * tests/test-mbsinit.sh: New file.
42678         * tests/test-mbsinit.c: New file.
42679
42680 2008-12-18  Bruno Haible  <bruno@clisp.org>
42681
42682         * modules/mbrtowc-tests: New file.
42683         * tests/test-mbrtowc1.sh: New file.
42684         * tests/test-mbrtowc2.sh: New file.
42685         * tests/test-mbrtowc3.sh: New file.
42686         * tests/test-mbrtowc4.sh: New file.
42687         * tests/test-mbrtowc.c: New file.
42688
42689         New module 'mbrtowc'.
42690         * lib/wchar.in.h (mbstate_t): Override when the system does not have
42691         mbsinit and mbrtowc.
42692         (mbrtowc): New declaration.
42693         * lib/mbrtowc.c: New file.
42694         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
42695         * modules/mbrtowc: New file.
42696         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
42697         HAVE_MBRTOWC.
42698         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
42699         HAVE_MBRTOWC.
42700         * doc/posix-functions/mbrtowc.texi: Document the new module.
42701
42702 2008-12-18  Bruno Haible  <bruno@clisp.org>
42703
42704         New module 'wctob'.
42705         * lib/wchar.in.h (wctob): New declaration.
42706         * lib/wctob.c: New file.
42707         * m4/wctob.m4: New file.
42708         * modules/wctob: New file.
42709         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
42710         HAVE_WCTOB.
42711         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
42712         * doc/posix-functions/wctob.texi: Document the new module.
42713
42714 2008-12-18  Bruno Haible  <bruno@clisp.org>
42715
42716         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
42717         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
42718
42719 2008-12-18  Simon Josefsson  <simon@josefsson.org>
42720
42721         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
42722         G. Christensen" <tgc@jupiterrise.com>.
42723
42724         * lib/flock.c: Need to include errno.h.  Reported by "Tom
42725         G. Christensen" <tgc@jupiterrise.com>.
42726
42727         * lib/flock.c: Need to include string.h.  Reported by "Tom
42728         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
42729         <ebb9@byu.net>.
42730
42731 2008-12-18  Bruno Haible  <bruno@clisp.org>
42732
42733         * m4/locale-ja.m4: New file, from GNU gettext.
42734
42735 2008-12-17  Bruno Haible  <bruno@clisp.org>
42736
42737         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
42738         Suggested by Eric Blake.
42739
42740 2008-12-17  Bruno Haible  <bruno@clisp.org>
42741
42742         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
42743
42744 2008-12-17  Bruno Haible  <bruno@clisp.org>
42745
42746         * lib/mbsinit.c: Include verify.h. Verify an assumption.
42747         * modules/mbsinit (Depends-on): Add verify.
42748         Suggested by Paul Eggert.
42749
42750 2008-12-17  Bruno Haible  <bruno@clisp.org>
42751
42752         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
42753         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
42754         gl_FUNC_MBRTOWC.
42755         * m4/mbiter.m4 (gl_MBITER): LIkewise.
42756         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
42757         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
42758         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
42759         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
42760         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
42761         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
42762         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
42763         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
42764         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
42765         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
42766         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
42767         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
42768         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
42769         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
42770         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
42771         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
42772         * modules/trim (configure.ac): Likewise.
42773
42774 2008-12-17  Bruno Haible  <bruno@clisp.org>
42775
42776         * modules/btowc-tests: New file.
42777         * tests/test-btowc1.sh: New file.
42778         * tests/test-btowc2.sh: New file.
42779         * tests/test-btowc.c: New file.
42780
42781         New module 'btowc'.
42782         * lib/wchar.in.h (btowc): New declaration.
42783         * lib/btowc.c: New file.
42784         * m4/btowc.m4: New file.
42785         * modules/btowc: New file.
42786         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
42787         HAVE_BTOWC.
42788         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
42789         * doc/posix-functions/btowc.texi: Document the new module.
42790
42791 2008-12-17  Bruno Haible  <bruno@clisp.org>
42792
42793         New module 'mbsinit'.
42794         * lib/wchar.in.h (mbsinit): New declaration.
42795         * lib/mbsinit.c: New file.
42796         * m4/mbsinit.m4: New file.
42797         * modules/mbsinit: New file.
42798         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
42799         HAVE_MBSINIT.
42800         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
42801         HAVE_MBSINIT.
42802         * doc/posix-functions/mbsinit.texi: Document the new module.
42803
42804 2008-12-16  Bruno Haible  <bruno@clisp.org>
42805
42806         * lib/unistd.in.h: Add comment.
42807         * tests/test-environ.c: Don't include <stdlib.h>.
42808
42809 2008-12-16  Bruno Haible  <bruno@clisp.org>
42810
42811         * lib/parse-duration.h (parse_duration): Document return value
42812         convention.
42813         * lib/parse-duration.c: Include specification header first. Add
42814         comments.
42815         (_): Remove macro.
42816         (parse_year_month_day, parse_hour_minute_second): Move side effects
42817         outside of strchr call.
42818         (parse_non_iso8601): Move side effects outside of isspace call.
42819         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
42820         call.
42821
42822 2008-12-16  Bruno Haible  <bruno@clisp.org>
42823
42824         * tests/test-parse-duration.sh: Produce no output when the test
42825         succeeds.
42826
42827 2008-12-16  Bruno Haible  <bruno@clisp.org>
42828
42829         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
42830         expressions.
42831
42832 2008-12-15  Bruno Haible  <bruno@clisp.org>
42833
42834         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
42835         * doc/glibc-functions/flistxattr.texi: Likewise.
42836         * doc/glibc-functions/fopencookie.texi: Likewise.
42837         * doc/glibc-functions/fremovexattr.texi: Likewise.
42838         * doc/glibc-functions/fsetxattr.texi: Likewise.
42839         * doc/glibc-functions/getxattr.texi: Likewise.
42840         * doc/glibc-functions/lgetxattr.texi: Likewise.
42841         * doc/glibc-functions/listxattr.texi: Likewise.
42842         * doc/glibc-functions/llistxattr.texi: Likewise.
42843         * doc/glibc-functions/lremovexattr.texi: Likewise.
42844         * doc/glibc-functions/lsetxattr.texi: Likewise.
42845         * doc/glibc-functions/removexattr.texi: Likewise.
42846         * doc/glibc-functions/setxattr.texi: Likewise.
42847         * doc/posix-functions/open_memstream.texi: Likewise.
42848
42849 2008-12-15  Eric Blake  <ebb9@byu.net>
42850
42851         Update doc for cygwin 1.7.
42852         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
42853         functions.
42854         * doc/posix-functions/fchmodat.texi: Likewise.
42855         * doc/posix-functions/fchownat.texi: Likewise.
42856         * doc/posix-functions/fdopendir.texi: Likewise.
42857         * doc/posix-functions/fmemopen.texi: Likewise.
42858         * doc/posix-functions/freeaddrinfo.texi: Likewise.
42859         * doc/posix-functions/fstatat.texi: Likewise.
42860         * doc/posix-functions/futimens.texi: Likewise.
42861         * doc/posix-functions/gai_strerror.texi: Likewise.
42862         * doc/posix-functions/getaddrinfo.texi: Likewise.
42863         * doc/posix-functions/getnameinfo.texi: Likewise.
42864         * doc/posix-functions/if_freenameindex.texi: Likewise.
42865         * doc/posix-functions/if_indextoname.texi: Likewise.
42866         * doc/posix-functions/if_nameindex.texi: Likewise.
42867         * doc/posix-functions/if_nametoindex.texi: Likewise.
42868         * doc/posix-functions/insque.texi: Likewise.
42869         * doc/posix-functions/linkat.texi: Likewise.
42870         * doc/posix-functions/llrint.texi: Likewise.
42871         * doc/posix-functions/llrintf.texi: Likewise.
42872         * doc/posix-functions/llrintl.texi: Likewise.
42873         * doc/posix-functions/lockf.texi: Likewise.
42874         * doc/posix-functions/lrintl.texi: Likewise.
42875         * doc/posix-functions/mkdirat.texi: Likewise.
42876         * doc/posix-functions/mkfifoat.texi: Likewise.
42877         * doc/posix-functions/mknodat.texi: Likewise.
42878         * doc/posix-functions/mq_close.texi: Likewise.
42879         * doc/posix-functions/mq_getattr.texi: Likewise.
42880         * doc/posix-functions/mq_notify.texi: Likewise.
42881         * doc/posix-functions/mq_open.texi: Likewise.
42882         * doc/posix-functions/mq_receive.texi: Likewise.
42883         * doc/posix-functions/mq_send.texi: Likewise.
42884         * doc/posix-functions/mq_setattr.texi: Likewise.
42885         * doc/posix-functions/mq_timedreceive.texi: Likewise.
42886         * doc/posix-functions/mq_timedsend.texi: Likewise.
42887         * doc/posix-functions/mq_unlink.texi: Likewise.
42888         * doc/posix-functions/open_memstream.texi: Likewise.
42889         * doc/posix-functions/openat.texi: Likewise.
42890         * doc/posix-functions/posix_fadvise.texi: Likewise.
42891         * doc/posix-functions/posix_fallocate.texi: Likewise.
42892         * doc/posix-functions/posix_madvise.texi: Likewise.
42893         * doc/posix-functions/posix_memalign.texi: Likewise.
42894         * doc/posix-functions/posix_openpt.texi: Likewise.
42895         * doc/posix-functions/readlinkat.texi: Likewise.
42896         * doc/posix-functions/remque.texi: Likewise.
42897         * doc/posix-functions/renameat.texi: Likewise.
42898         * doc/posix-functions/rintl.texi: Likewise.
42899         * doc/posix-functions/sem_unlink.texi: Likewise.
42900         * doc/posix-functions/shm_open.texi: Likewise.
42901         * doc/posix-functions/shm_unlink.texi: Likewise.
42902         * doc/posix-functions/signgam.texi: Likewise.
42903         * doc/posix-functions/sigset.texi: Likewise.
42904         * doc/posix-functions/stpcpy.texi: Likewise.
42905         * doc/posix-functions/stpncpy.texi: Likewise.
42906         * doc/posix-functions/strerror.texi: Likewise.
42907         * doc/posix-functions/strtod.texi: Likewise.
42908         * doc/posix-functions/symlinkat.texi: Likewise.
42909         * doc/posix-functions/unlinkat.texi: Likewise.
42910         * doc/posix-functions/utimensat.texi: Likewise.
42911         * doc/glibc-functions/bindresvport.texi: Likewise.
42912         * doc/glibc-functions/dn_expand.texi: Likewise.
42913         * doc/glibc-functions/exp10.texi: Likewise.
42914         * doc/glibc-functions/exp10f.texi: Likewise.
42915         * doc/glibc-functions/fgetxattr.texi: Likewise.
42916         * doc/glibc-functions/flistxattr.texi: Likewise.
42917         * doc/glibc-functions/fopencookie.texi: Likewise.
42918         * doc/glibc-functions/freeifaddrs.texi: Likewise.
42919         * doc/glibc-functions/fremovexattr.texi: Likewise.
42920         * doc/glibc-functions/fsetxattr.texi: Likewise.
42921         * doc/glibc-functions/getifaddrs.texi: Likewise.
42922         * doc/glibc-functions/getxattr.texi: Likewise.
42923         * doc/glibc-functions/lgetxattr.texi: Likewise.
42924         * doc/glibc-functions/listxattr.texi: Likewise.
42925         * doc/glibc-functions/llistxattr.texi: Likewise.
42926         * doc/glibc-functions/lremovexattr.texi: Likewise.
42927         * doc/glibc-functions/lsetxattr.texi: Likewise.
42928         * doc/glibc-functions/pow10.texi: Likewise.
42929         * doc/glibc-functions/pow10f.texi: Likewise.
42930         * doc/glibc-functions/rcmd_af.texi: Likewise.
42931         * doc/glibc-functions/removexattr.texi: Likewise.
42932         * doc/glibc-functions/res_init.texi: Likewise.
42933         * doc/glibc-functions/res_mkquery.texi: Likewise.
42934         * doc/glibc-functions/res_query.texi: Likewise.
42935         * doc/glibc-functions/res_querydomain.texi: Likewise.
42936         * doc/glibc-functions/res_send.texi: Likewise.
42937         * doc/glibc-functions/rresvport_af.texi: Likewise.
42938         * doc/glibc-functions/setxattr.texi: Likewise.
42939         * doc/glibc-functions/strcasestr.texi: Likewise.
42940
42941 2008-12-15  Bruno Haible  <bruno@clisp.org>
42942
42943         Fix compilation error on OSF/1 4.0.
42944         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
42945         <sys/time.h>, simply delegate to the system header.
42946         Reported by Daniel Richard G. <oss@teragram.com>.
42947
42948 2008-12-15  Bruno Haible  <bruno@clisp.org>
42949
42950         * doc/posix-functions/openat.texi: Mention the 'openat' module.
42951         * doc/posix-functions/fchmodat.texi: Likewise.
42952         * doc/posix-functions/fchownat.texi: Likewise.
42953         * doc/posix-functions/fdopendir.texi: Likewise.
42954         * doc/posix-functions/fstatat.texi: Likewise.
42955         * doc/posix-functions/mkdirat.texi: Likewise.
42956         * doc/posix-functions/unlinkat.texi: Likewise.
42957
42958 2008-12-14  Bruno Haible  <bruno@clisp.org>
42959
42960         Update doc for POSIX:2008.
42961         * doc/posix-functions/faccessat.texi: New file.
42962         * doc/posix-functions/fchmodat.texi: New file.
42963         * doc/posix-functions/fchownat.texi: New file.
42964         * doc/posix-functions/fdopendir.texi: New file.
42965         * doc/posix-functions/fstatat.texi: New file.
42966         * doc/posix-functions/futimens.texi: New file.
42967         * doc/posix-functions/linkat.texi: New file.
42968         * doc/posix-functions/mkdirat.texi: New file.
42969         * doc/posix-functions/mkfifoat.texi: New file.
42970         * doc/posix-functions/mknodat.texi: New file.
42971         * doc/posix-functions/open_wmemstream.texi: New file.
42972         * doc/posix-functions/openat.texi: New file.
42973         * doc/posix-functions/psiginfo.texi: New file.
42974         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
42975         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
42976         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
42977         * doc/posix-functions/readlinkat.texi: New file.
42978         * doc/posix-functions/renameat.texi: New file.
42979         * doc/posix-functions/strerror_l.texi: New file.
42980         * doc/posix-functions/symlinkat.texi: New file.
42981         * doc/posix-functions/unlinkat.texi: New file.
42982         * doc/posix-functions/utimensat.texi: New file.
42983         * doc/gnulib.texi (Function Substitutes): Add these subsections.
42984
42985 2008-12-14  Bruno Haible  <bruno@clisp.org>
42986
42987         Update doc for POSIX:2008.
42988         * doc/posix-functions/alphasort.texi: Renamed from
42989         doc/glibc-functions/alphasort.texi.
42990         * doc/posix-functions/dirfd.texi: Renamed from
42991         doc/glibc-functions/dirfd.texi.
42992         * doc/posix-functions/dprintf.texi: Renamed from
42993         doc/glibc-functions/dprintf.texi.
42994         * doc/posix-functions/duplocale.texi: Renamed from
42995         doc/glibc-functions/duplocale.texi.
42996         * doc/posix-functions/fexecve.texi: Renamed from
42997         doc/glibc-functions/fexecve.texi.
42998         * doc/posix-functions/fmemopen.texi: Renamed from
42999         doc/glibc-functions/fmemopen.texi.
43000         * doc/posix-functions/freelocale.texi: Renamed from
43001         doc/glibc-functions/freelocale.texi.
43002         * doc/posix-functions/getdate_err.texi: Renamed from
43003         doc/glibc-functions/getdate_err.texi.
43004         * doc/posix-functions/isalnum_l.texi: Renamed from
43005         doc/glibc-functions/isalnum_l.texi.
43006         * doc/posix-functions/isalpha_l.texi: Renamed from
43007         doc/glibc-functions/isalpha_l.texi.
43008         * doc/posix-functions/isblank_l.texi: Renamed from
43009         doc/glibc-functions/isblank_l.texi.
43010         * doc/posix-functions/iscntrl_l.texi: Renamed from
43011         doc/glibc-functions/iscntrl_l.texi.
43012         * doc/posix-functions/isdigit_l.texi: Renamed from
43013         doc/glibc-functions/isdigit_l.texi.
43014         * doc/posix-functions/isgraph_l.texi: Renamed from
43015         doc/glibc-functions/isgraph_l.texi.
43016         * doc/posix-functions/islower_l.texi: Renamed from
43017         doc/glibc-functions/islower_l.texi.
43018         * doc/posix-functions/isprint_l.texi: Renamed from
43019         doc/glibc-functions/isprint_l.texi.
43020         * doc/posix-functions/ispunct_l.texi: Renamed from
43021         doc/glibc-functions/ispunct_l.texi.
43022         * doc/posix-functions/isspace_l.texi: Renamed from
43023         doc/glibc-functions/isspace_l.texi.
43024         * doc/posix-functions/isupper_l.texi: Renamed from
43025         doc/glibc-functions/isupper_l.texi.
43026         * doc/posix-functions/iswalnum_l.texi: Renamed from
43027         doc/glibc-functions/iswalnum_l.texi.
43028         * doc/posix-functions/iswalpha_l.texi: Renamed from
43029         doc/glibc-functions/iswalpha_l.texi.
43030         * doc/posix-functions/iswblank_l.texi: Renamed from
43031         doc/glibc-functions/iswblank_l.texi.
43032         * doc/posix-functions/iswcntrl_l.texi: Renamed from
43033         doc/glibc-functions/iswcntrl_l.texi.
43034         * doc/posix-functions/iswctype_l.texi: Renamed from
43035         doc/glibc-functions/iswctype_l.texi.
43036         * doc/posix-functions/iswdigit_l.texi: Renamed from
43037         doc/glibc-functions/iswdigit_l.texi.
43038         * doc/posix-functions/iswgraph_l.texi: Renamed from
43039         doc/glibc-functions/iswgraph_l.texi.
43040         * doc/posix-functions/iswlower_l.texi: Renamed from
43041         doc/glibc-functions/iswlower_l.texi.
43042         * doc/posix-functions/iswprint_l.texi: Renamed from
43043         doc/glibc-functions/iswprint_l.texi.
43044         * doc/posix-functions/iswpunct_l.texi: Renamed from
43045         doc/glibc-functions/iswpunct_l.texi.
43046         * doc/posix-functions/iswspace_l.texi: Renamed from
43047         doc/glibc-functions/iswspace_l.texi.
43048         * doc/posix-functions/iswupper_l.texi: Renamed from
43049         doc/glibc-functions/iswupper_l.texi.
43050         * doc/posix-functions/iswxdigit_l.texi: Renamed from
43051         doc/glibc-functions/iswxdigit_l.texi.
43052         * doc/posix-functions/isxdigit_l.texi: Renamed from
43053         doc/glibc-functions/isxdigit_l.texi.
43054         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
43055         doc/glibc-functions/mbsnrtowcs.texi.
43056         * doc/posix-functions/mkdtemp.texi: Renamed from
43057         doc/glibc-functions/mkdtemp.texi.
43058         * doc/posix-functions/newlocale.texi: Renamed from
43059         doc/glibc-functions/newlocale.texi.
43060         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
43061         doc/glibc-functions/nl_langinfo_l.texi.
43062         * doc/posix-functions/open_memstream.texi: Renamed from
43063         doc/glibc-functions/open_memstream.texi.
43064         * doc/posix-functions/opterr.texi: Renamed from
43065         doc/glibc-functions/opterr.texi.
43066         * doc/posix-functions/optind.texi: Renamed from
43067         doc/glibc-functions/optind.texi.
43068         * doc/posix-functions/optopt.texi: Renamed from
43069         doc/glibc-functions/optopt.texi.
43070         * doc/posix-functions/psignal.texi: Renamed from
43071         doc/glibc-functions/psignal.texi.
43072         * doc/posix-functions/scandir.texi: Renamed from
43073         doc/glibc-functions/scandir.texi.
43074         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
43075         doc/glibc-functions/sched_get_priority_min.texi.
43076         * doc/posix-functions/signgam.texi: Renamed from
43077         doc/glibc-functions/signgam.texi.
43078         * doc/posix-functions/stpcpy.texi: Renamed from
43079         doc/glibc-functions/stpcpy.texi.
43080         * doc/posix-functions/stpncpy.texi: Renamed from
43081         doc/glibc-functions/stpncpy.texi.
43082         * doc/posix-functions/strcasecmp_l.texi: Renamed from
43083         doc/glibc-functions/strcasecmp_l.texi.
43084         * doc/posix-functions/strcoll_l.texi: Renamed from
43085         doc/glibc-functions/strcoll_l.texi.
43086         * doc/posix-functions/strfmon_l.texi: Renamed from
43087         doc/glibc-functions/strfmon_l.texi.
43088         * doc/posix-functions/strftime_l.texi: Renamed from
43089         doc/glibc-functions/strftime_l.texi.
43090         * doc/posix-functions/strncasecmp_l.texi: Renamed from
43091         doc/glibc-functions/strncasecmp_l.texi.
43092         * doc/posix-functions/strndup.texi: Renamed from
43093         doc/glibc-functions/strndup.texi.
43094         * doc/posix-functions/strnlen.texi: Renamed from
43095         doc/glibc-functions/strnlen.texi.
43096         * doc/posix-functions/strsignal.texi: Renamed from
43097         doc/glibc-functions/strsignal.texi.
43098         * doc/posix-functions/strxfrm_l.texi: Renamed from
43099         doc/glibc-functions/strxfrm_l.texi.
43100         * doc/posix-functions/timer_gettime.texi: Renamed from
43101         doc/glibc-functions/timer_gettime.texi.
43102         * doc/posix-functions/tolower_l.texi: Renamed from
43103         doc/glibc-functions/tolower_l.texi.
43104         * doc/posix-functions/toupper_l.texi: Renamed from
43105         doc/glibc-functions/toupper_l.texi.
43106         * doc/posix-functions/towctrans_l.texi: Renamed from
43107         doc/glibc-functions/towctrans_l.texi.
43108         * doc/posix-functions/towlower_l.texi: Renamed from
43109         doc/glibc-functions/towlower_l.texi.
43110         * doc/posix-functions/towupper_l.texi: Renamed from
43111         doc/glibc-functions/towupper_l.texi.
43112         * doc/posix-functions/uselocale.texi: Renamed from
43113         doc/glibc-functions/uselocale.texi.
43114         * doc/posix-functions/vdprintf.texi: Renamed from
43115         doc/glibc-functions/vdprintf.texi.
43116         * doc/posix-functions/wcpcpy.texi:
43117         Renamed from doc/glibc-functions/wcpcpy.texi.
43118         * doc/posix-functions/wcpncpy.texi: Renamed from
43119         doc/glibc-functions/wcpncpy.texi.
43120         * doc/posix-functions/wcscasecmp.texi: Renamed from
43121         doc/glibc-functions/wcscasecmp.texi.
43122         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
43123         doc/glibc-functions/wcscasecmp_l.texi.
43124         * doc/posix-functions/wcscoll_l.texi: Renamed from
43125         doc/glibc-functions/wcscoll_l.texi.
43126         * doc/posix-functions/wcsdup.texi: Renamed from
43127         doc/glibc-functions/wcsdup.texi.
43128         * doc/posix-functions/wcsncasecmp.texi: Renamed from
43129         doc/glibc-functions/wcsncasecmp.texi.
43130         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
43131         doc/glibc-functions/wcsncasecmp_l.texi.
43132         * doc/posix-functions/wcsnlen.texi: Renamed from
43133         doc/glibc-functions/wcsnlen.texi.
43134         * doc/posix-functions/wcsnrtombs.texi: Renamed from
43135         doc/glibc-functions/wcsnrtombs.texi.
43136         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
43137         doc/glibc-functions/wcsxfrm_l.texi.
43138         * doc/posix-functions/wctrans_l.texi: Renamed from
43139         doc/glibc-functions/wctrans_l.texi.
43140         * doc/posix-functions/wctype_l.texi: Renamed from
43141         doc/glibc-functions/wctype_l.texi.
43142         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43143         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
43144         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
43145         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
43146         these subsections.
43147         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
43148         Remove sections.
43149
43150 2008-12-14  Bruno Haible  <bruno@clisp.org>
43151
43152         Update doc for POSIX:2008.
43153         * doc/posix-functions/*.texi: Update URL of POSIX specification.
43154
43155 2008-12-14  Bruno Haible  <bruno@clisp.org>
43156
43157         Update doc for POSIX:2008.
43158         * doc/pastposix-functions/bcmp.texi: Renamed from
43159         doc/posix-functions/bcmp.texi.
43160         * doc/pastposix-functions/bcopy.texi: Renamed from
43161         doc/posix-functions/bcopy.texi.
43162         * doc/pastposix-functions/bsd_signal.texi: Renamed from
43163         doc/posix-functions/bsd_signal.texi.
43164         * doc/pastposix-functions/bzero.texi: Renamed from
43165         doc/posix-functions/bzero.texi.
43166         * doc/pastposix-functions/ecvt.texi: Renamed from
43167         doc/posix-functions/ecvt.texi.
43168         * doc/pastposix-functions/fcvt.texi: Renamed from
43169         doc/posix-functions/fcvt.texi.
43170         * doc/pastposix-functions/ftime.texi: Renamed from
43171         doc/posix-functions/ftime.texi.
43172         * doc/pastposix-functions/gcvt.texi: Renamed from
43173         doc/posix-functions/gcvt.texi.
43174         * doc/pastposix-functions/getcontext.texi: Renamed from
43175         doc/posix-functions/getcontext.texi.
43176         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
43177         doc/posix-functions/gethostbyaddr.texi.
43178         * doc/pastposix-functions/gethostbyname.texi: Renamed from
43179         doc/posix-functions/gethostbyname.texi.
43180         * doc/pastposix-functions/getwd.texi: Renamed from
43181         doc/posix-functions/getwd.texi.
43182         * doc/pastposix-functions/h_errno.texi: Renamed from
43183         doc/posix-functions/h_errno.texi.
43184         * doc/pastposix-functions/index.texi: Renamed from
43185         doc/posix-functions/index.texi.
43186         * doc/pastposix-functions/makecontext.texi: Renamed from
43187         doc/posix-functions/makecontext.texi.
43188         * doc/pastposix-functions/mktemp.texi: Renamed from
43189         doc/posix-functions/mktemp.texi.
43190         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
43191         doc/posix-functions/pthread_attr_getstackaddr.texi.
43192         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
43193         doc/posix-functions/pthread_attr_setstackaddr.texi.
43194         * doc/pastposix-functions/rindex.texi: Renamed from
43195         doc/posix-functions/rindex.texi.
43196         * doc/pastposix-functions/scalb.texi: Renamed from
43197         doc/posix-functions/scalb.texi.
43198         * doc/pastposix-functions/setcontext.texi: Renamed from
43199         doc/posix-functions/setcontext.texi.
43200         * doc/pastposix-functions/swapcontext.texi: Renamed from
43201         doc/posix-functions/swapcontext.texi.
43202         * doc/pastposix-functions/ualarm.texi: Renamed from
43203         doc/posix-functions/ualarm.texi.
43204         * doc/pastposix-functions/usleep.texi: Renamed from
43205         doc/posix-functions/usleep.texi.
43206         * doc/pastposix-functions/vfork.texi: Renamed from
43207         doc/posix-functions/vfork.texi.
43208         * doc/pastposix-functions/wcswcs.texi: Renamed from
43209         doc/posix-functions/wcswcs.texi.
43210         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
43211         (Function Substitutes): Update.
43212
43213 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43214
43215         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
43216         m4/strerror.m4.
43217
43218 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43219             Bruno Haible  <bruno@clisp.org>
43220
43221         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
43222
43223 2008-12-13  Bruno Haible  <bruno@clisp.org>
43224
43225         * modules/strtoull (Depends-on): Remove unistd.
43226
43227 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43228
43229         * modules/strtoull (Depends-on): Add stdlib.
43230
43231 2008-12-11  Simon Josefsson  <simon@josefsson.org>
43232
43233         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
43234
43235 2008-12-10  Jim Meyering  <meyering@redhat.com>
43236
43237         gl_ASSERT: don't say assertions are disabled when they're not
43238         * m4/assert.m4 (gl_ASSERT): Do not make configure report
43239         "checking whether to enable assertions... no", when they are in
43240         fact enabled.  This is solely a bug in the output of configure.
43241         In spite of saying "no", NDEBUG was not defined in that case.
43242         Also, as noted by Eric Blake, leave assertions enabled upon
43243         --enable-assert=INVALID.
43244
43245 2008-12-10  Bruno Haible  <bruno@clisp.org>
43246
43247         Change MODULES.html to refer to POSIX:2008 where possible.
43248         * MODULES.html.sh (POSIX2008_URL): New variable.
43249         (posix_headers): Remove sys/timeb, ucontext.
43250         (posix2001_headers): New variable.
43251         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
43252         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
43253         index, makecontext, mktemp, pthread_attr_getstackaddr,
43254         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
43255         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
43256         (posix2001_functions): New variable.
43257         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
43258         otherwise.
43259
43260 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43261
43262         add missing include to parse-duration.c
43263         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
43264         * modules/parse-duration (Depends-on): Add xalloc.
43265
43266         fix sed script reading maint.mk
43267         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
43268         (syntax-check-rules): Use it.
43269
43270 2008-12-09  Bruno Haible  <bruno@clisp.org>
43271
43272         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
43273         MacOS X 10.4/PowerPC.
43274         Reported by Simon Josefsson.
43275
43276 2008-12-08  Jim Meyering  <meyering@redhat.com>
43277
43278         work around mingw's lack of some S_IF definitions
43279         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
43280         Reported by Simon Josefsson.
43281
43282 2008-12-08  Bruno Haible  <bruno@clisp.org>
43283
43284         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
43285         applied to variables. Needed on MacOS X 10.4/PowerPC.
43286         Reported by Simon Josefsson.
43287
43288 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
43289         and Eric Blake  <ebb9@byu.net>
43290
43291         assert: honor --enable-assert
43292         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
43293         order to honor --enable-assert, rather than treating it as a
43294         synonym for --disable-assert.
43295
43296 2008-12-08  Jim Meyering  <meyering@redhat.com>
43297
43298         * lib/posixtm.c: Remove now-useless declaration of mktime.
43299
43300         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
43301
43302 2008-12-07  Bruno Haible  <bruno@clisp.org>
43303
43304         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
43305         test_once): Mark functions as static.
43306         * tests/test-tls.c (test_tls): Likewise.
43307
43308 2008-12-07  Bruno Haible  <bruno@clisp.org>
43309
43310         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
43311         iconv_register_autodetect.
43312
43313 2008-12-07  Jim Meyering  <meyering@redhat.com>
43314
43315         posixtm.c: avoid a warning
43316         * lib/posixtm.c (posixtime): Don't initialize tm0.
43317         It's no longer needed to placate gcc4's -Wuninitialized,
43318         and the attempt to placate would elicit a new warning.
43319
43320         unicodeio.c: mark unused parameters
43321         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43322         (fallback_failure_callback): Likewise.
43323
43324 2008-12-07  Bruno Haible  <bruno@clisp.org>
43325
43326         * gnulib-tool (func_create_testdir): When building the tests
43327         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
43328         Reported by Simon Josefsson.
43329
43330 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43331
43332         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
43333
43334 2008-12-06  Bruno Haible  <bruno@clisp.org>
43335
43336         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
43337         Suggested by Eric Blake.
43338
43339 2008-12-06  Bruno Haible  <bruno@clisp.org>
43340
43341         Fix a c-stack test failure on MacOS X.
43342         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
43343         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
43344         handler for SIGBUS as well.
43345         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
43346         install a signal handler for SIGBUS as well.
43347         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
43348
43349 2008-12-06  Bruno Haible  <bruno@clisp.org>
43350
43351         Advocacy documentation.
43352         * doc/gnulib-intro.texi (Benefits): New section.
43353         * doc/gnulib.texi: Update.
43354
43355 2008-12-06  Bruno Haible  <bruno@clisp.org>
43356
43357         Document the 'manywarnings' module.
43358         * doc/manywarnings.texi: New file.
43359         * doc/gnulib.texi: Include it.
43360
43361 2008-12-05  Eric Blake  <ebb9@byu.net>
43362
43363         tests: silence some gcc warnings
43364         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
43365         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
43366         type mismatches.
43367
43368 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43369             Bruno Haible  <bruno@clisp.org>
43370
43371         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
43372
43373 2008-11-29  Jim Meyering  <meyering@redhat.com>
43374
43375         unicodeio.c: mark unused parameters
43376         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43377         (fallback_failure_callback): Likewise.
43378
43379         fts: fix a thinko
43380         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
43381         (set_stat_type): Return S_IF*-valued "type" directly.
43382         Prompted by James Youngman's spotting a related bug.
43383         Confirmed by further testing through find.
43384
43385         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
43386         * lib/fts.c (D_TYPE): Define.
43387         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
43388         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
43389         (s_ifmt_shift_bits): New function.
43390         (set_stat_type): New function.
43391         (fts_build): When not calling fts_stat, call set_stat_type
43392         to propagate dirent.d_type info to fts_read caller.
43393         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
43394         fts_statp->st_mode type information may be valid.
43395
43396 2008-11-28  Simon Josefsson  <simon@josefsson.org>
43397
43398         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
43399         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
43400         <sds@gnu.org>.
43401
43402 2008-11-20  Bruno Haible  <bruno@clisp.org>
43403
43404         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
43405         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
43406         INCLUDE_NEXT.
43407         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
43408         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
43409         * modules/math (Makefile.am): Substitute
43410         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
43411         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43412
43413 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
43414             Bruno Haible  <bruno@clisp.org>
43415
43416         * lib/stdint.in.h: Define all type macros so that their expansion is
43417         a single typedef'ed token. Fixes a compilation failure in Boost which
43418         does "using ::int8_t;".
43419
43420 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43421
43422         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
43423         gl_MANYWARN_ALL_GCC.
43424         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
43425         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
43426         * modules/manywarnings: New file.
43427         * MODULES.html.sh: Mention manywarnings module.
43428
43429 2008-11-18  Bruno Haible  <bruno@clisp.org>
43430
43431         * doc/gnulib-tool.texi (Unit tests): New section.
43432
43433 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43434
43435         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
43436         paths like 'lib/po/foo.po'.
43437
43438 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43439
43440         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
43441         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
43442
43443 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43444
43445         * m4/warnings.m4: Use CPPFLAGS to really check whether the
43446         parameter works.
43447
43448 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43449
43450         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
43451
43452 2008-11-17  Bruce Korb  <bkorb@gnu.org>
43453
43454         * modules/parse-duration-tests: New file.
43455         * tests/test-parse-duration.sh: New file.
43456         * tests/test-parse-duration.c: New file.
43457
43458         New module 'parse-duration'.
43459         * lib/parse-duration.h: New file.
43460         * lib/parse-duration.c: New file.
43461         * modules/parse-duration: New file.
43462
43463 2008-11-17  Bruno Haible  <bruno@clisp.org>
43464
43465         * tests/test-select-out.sh: Comment out the first pipe test.
43466         Reported by Simon Josefsson.
43467
43468 2008-11-17  Bruno Haible  <bruno@clisp.org>
43469
43470         * modules/getaddrinfo (Depends-on): Add servent, hostent.
43471         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
43472         gl_HOSTENT.
43473
43474 2008-11-17  Bruno Haible  <bruno@clisp.org>
43475
43476         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
43477         -lnetwork and -lnet. Needed for Haiku and BeOS.
43478
43479 2008-11-16  Bruno Haible  <bruno@clisp.org>
43480
43481         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
43482
43483 2008-11-16  Bruno Haible  <bruno@clisp.org>
43484
43485         Avoid test failure on Haiku.
43486         * tests/test-fsync.c: Include <errno.h>.
43487         (main): Don't require that fsync (0) fails.
43488
43489 2008-11-15  Bruno Haible  <bruno@clisp.org>
43490
43491         New module 'hostent'.
43492         * modules/hostent: New file.
43493         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
43494
43495 2008-11-15  Bruno Haible  <bruno@clisp.org>
43496
43497         New module 'servent'.
43498         * modules/servent: New file.
43499         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
43500
43501 2008-11-15  Bruno Haible  <bruno@clisp.org>
43502
43503         Avoid generating same test program with two different rules.
43504         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
43505         test-frexp to test-frexp-nolibm.
43506         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
43507         test-frexpl to test-frexpl-nolibm.
43508
43509 2008-11-15  Bruno Haible  <bruno@clisp.org>
43510
43511         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
43512         $(FREXPL_LIBM).
43513
43514 2008-11-15  Bruno Haible  <bruno@clisp.org>
43515
43516         * lib/netdb.in.h: Activate the definitions also when the system's
43517         <netdb.h> has 'struct addrinfo'.
43518         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
43519         EAI_OVERFLOW or AI_NUMERICSERV.
43520         * doc/posix-headers/netdb.texi: Document the problem.
43521
43522 2008-11-15  Bruno Haible  <bruno@clisp.org>
43523
43524         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
43525
43526         Make the 'sched' module work on platforms where <sched.h> exists but
43527         is incomplete (such as Haiku).
43528         * lib/sched.in.h; Include the system's <sched.h> if it exists.
43529         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
43530         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
43531         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
43532         HAVE_STRUCT_SCHED_PARAM.
43533         * modules/sched (Depends-on): Add include_next.
43534         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
43535         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
43536         * doc/posix-headers/sched.texi: Document the issue.
43537
43538 2008-11-13  Jim Meyering  <meyering@redhat.com>
43539
43540         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
43541         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
43542         test would fail due to the difference in the Report bugs to ...
43543         line.  The expected address is empty, "<>", while the actual
43544         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
43545
43546 2008-11-12  Bruno Haible  <bruno@clisp.org>
43547
43548         lstat: don't compile lstat.c on systems lacking lstat
43549         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
43550         which don't have lstat; this is handled by lib/sys_stat.in.h already.
43551         Reported by Daniel P. Berrange via Jim Meyering.
43552
43553 2008-11-12  Jim Meyering  <meyering@redhat.com>
43554
43555         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
43556
43557 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43558
43559         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
43560         instead.
43561
43562 2008-11-12  Bruno Haible  <bruno@clisp.org>
43563
43564         * lib/unicodeio.c: Include unistr.h.
43565         (utf8_wctomb): Remove function.
43566         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
43567
43568 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43569
43570         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
43571         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
43572         <bruno@clisp.org>.
43573         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
43574
43575 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43576
43577         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
43578         * doc/gnulib.texi: Add section for warnings.
43579
43580 2008-11-11  Bruno Haible  <bruno@clisp.org>
43581
43582         * lib/sockets.h: Add a comment.
43583
43584 2008-11-11  Karl Berry  <karl@gnu.org>
43585
43586         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
43587
43588 2008-11-11  Eric Blake  <ebb9@byu.net>
43589
43590         fdl.texi: avoid git symlinks
43591         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
43592
43593 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43594
43595         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
43596
43597 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43598
43599         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
43600         (gl_WARN_ADD): Substitute $2 if literal.
43601
43602 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43603
43604         * m4/warning.m4: Remove.
43605
43606 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43607
43608         * m4/warnings.m4: Almost complete rewrite. :-)
43609
43610 2008-11-10  Simon Josefsson  <simon@josefsson.org>
43611
43612         * modules/warnings: New module.
43613         * m4/warnings.m4: New file.
43614         * MODULES.html.sh: Mention warnings module.
43615         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
43616         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43617
43618 2008-11-10  Eric Blake  <ebb9@byu.net>
43619
43620         fdl.texi: make a symlink to the latest version
43621         * doc/standards.texi: Revert today's earlier change.
43622         * doc/fdl-1.2.texi: Rename from old fdl.texi...
43623         * doc/fdl.texi: ...and replace this with a symlink to the newer
43624         fdl-1.3.texi.
43625
43626 2008-11-10  Bruno Haible  <bruno@clisp.org>
43627
43628         * tests/test-select-fd.c (main): Accept the result file name as fourth
43629         argument.
43630         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
43631         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
43632
43633 2008-11-10  Bruno Haible  <bruno@clisp.org>
43634
43635         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
43636         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
43637         as autoconf-substituted macros.
43638         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
43639         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
43640         gl_NETDB_H_DEFAULTS. Set these variables.
43641         * modules/netdb (Makefile.am): Substitute these variables.
43642
43643 2008-11-10  Eric Blake  <ebb9@byu.net>
43644
43645         standards.texi: include correct file for FDL 1.3
43646         * doc/standards.texi (GNU Free Documentation License): Change
43647         include file to pull in FDL 1.3, not 1.2.
43648
43649         fdl.texi: revert accidental change to license
43650         * doc/fdl.texi: This is FDL 1.2, not 1.3.
43651
43652 2008-11-10  Bruno Haible  <bruno@clisp.org>
43653
43654         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
43655         cross-compiling guesses also when the native compile gives no result.
43656
43657 2008-11-10  Bruno Haible  <bruno@clisp.org>
43658
43659         * lib/spawni.c (__spawni): Force variable into the stack.
43660
43661 2008-11-10  Bruno Haible  <bruno@clisp.org>
43662
43663         Add support for Haiku.
43664         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
43665         glibc and BeOS, but also on Haiku.
43666         * lib/fpurge.c (fpurge): Likewise.
43667         * lib/freadable.c (freadable): Likewise.
43668         * lib/freadahead.c (freadahead): Likewise.
43669         * lib/freading.c (freading): Likewise.
43670         * lib/freadptr.c (freadptr): Likewise.
43671         * lib/freadseek.c (freadptrinc): Likewise.
43672         * lib/fseeko.c (rpl_fseeko): Likewise.
43673         * lib/fseterr.c (fseterr): Likewise.
43674         * lib/fwritable.c (fwritable): Likewise.
43675         * lib/fwriting.c (fwriting): Likewise.
43676         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
43677
43678 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
43679
43680         * lib/config.charset: Treat Haiku like BeOS.
43681
43682 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
43683
43684         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
43685         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
43686
43687 2008-11-08  Bruno Haible  <bruno@clisp.org>
43688
43689         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
43690         AC_CACHE_CHECK.
43691
43692 2008-11-08  Bruno Haible  <bruno@clisp.org>
43693
43694         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
43695
43696 2008-11-08  Bruno Haible  <bruno@clisp.org>
43697
43698         * tests/test-select-fd.c: New file.
43699         * tests/test-select-in.sh: New file.
43700         * tests/test-select-out.sh: New file.
43701         * tests/test-select-stdin.c: New file.
43702         * modules/select-tests (Files): Add the new files.
43703         (Depends-on): Add gettimeofday.
43704         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
43705         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
43706         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
43707
43708 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
43709             Bruno Haible  <bruno@clisp.org>
43710
43711         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
43712
43713 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
43714
43715         * build-aux/pmccabe2html: Added support for C++ source files.
43716
43717 2008-11-05  Ben Pfaff  <blp@gnu.org>
43718
43719         Fix lib/close.c build on Windows.
43720         * modules/close (Files): Add lib/w32sock.h.
43721
43722 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
43723
43724         Accept Bison's NEWS format.
43725         * build-aux/announce-gen (print_news_deltas): Tweak
43726         $re_prefix.
43727
43728 2008-11-04  Bruno Haible  <bruno@clisp.org>
43729
43730         * modules/random_r (Maintainer): Add glibc.
43731
43732 2008-11-04  Simon Josefsson  <simon@josefsson.org>
43733
43734         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
43735         by karl@freefriends.org (Karl Berry).
43736         * doc/alloca.texi: Likewise.
43737         * doc/c-ctype.texi: Likewise.
43738         * doc/c-strcase.texi: Likewise.
43739         * doc/c-strcaseeq.texi: Likewise.
43740         * doc/c-strcasestr.texi: Likewise.
43741         * doc/c-strstr.texi: Likewise.
43742         * doc/c-strtod.texi: Likewise.
43743         * doc/c-strtold.texi: Likewise.
43744         * doc/ctime.texi: Likewise.
43745         * doc/error.texi: Likewise.
43746         * doc/fdl.texi: Likewise.
43747         * doc/gcd.texi: Likewise.
43748         * doc/getdate.texi: Likewise.
43749         * doc/gnulib-intro.texi: Likewise.
43750         * doc/gnulib-tool.texi: Likewise.
43751         * doc/gnulib.texi: Likewise.
43752         * doc/inet_ntoa.texi: Likewise.
43753         * doc/maintain.texi: Likewise.
43754         * doc/make-stds.texi: Likewise.
43755         * doc/quote.texi: Likewise.
43756         * doc/regexprops-generic.texi: Likewise.
43757         * doc/standards.texi: Likewise.
43758         * doc/verify.texi: Likewise.
43759         * doc/visibility.texi: Likewise.
43760         * doc/gnulib.texi (GNU Free Documentation License): Include
43761         fdl-1.3.texi instead of fdl.texi.
43762
43763 2008-11-04  Simon Josefsson  <simon@josefsson.org>
43764
43765         * doc/fdl-1.3.texi: New file, from
43766         <http://www.gnu.org/licenses/fdl-1.3.texi>.
43767         * modules/fdl-1.3: Add.
43768         * MODULES.html.sh: Add fdl-1.3.
43769
43770 2008-11-03  Bruno Haible  <bruno@clisp.org>
43771
43772         Make determination of absolute name of header file work with AIX xlc.
43773         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
43774         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
43775         preprocessing.
43776         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
43777         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
43778
43779 2008-11-03  Simon Josefsson  <simon@josefsson.org>
43780
43781         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
43782         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
43783         <ludo@gnu.org>.
43784
43785 2008-11-02  Bruno Haible  <bruno@clisp.org>
43786
43787         Mark 'strpbrk' obsolete.
43788         * modules/strpbrk (Status, Notice): New sections.
43789         * modules/strtok_r (Depends-on): Add strpbrk.
43790
43791 2008-11-02  Bruno Haible  <bruno@clisp.org>
43792
43793         Mark 'strdup' obsolete.
43794         * modules/strdup (Status, Notice): New sections.
43795         * modules/findprog (Depends-on): Add strdup.
43796         * modules/getaddrinfo (Depends-on): Likewise.
43797         * modules/localename (Depends-on): Likewise.
43798         * modules/relocatable-lib (Depends-on): Likewise.
43799         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
43800         * modules/relocatable-prog (Depends-on): Likewise.
43801         * modules/trim (Depends-on): Likewise.
43802         * modules/unictype/gen-ctype (Depends-on): Likewise.
43803         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
43804
43805 2008-11-02  Bruno Haible  <bruno@clisp.org>
43806
43807         Mark 'strcspn' obsolete.
43808         * modules/strcspn (Status, Notice): New sections.
43809
43810 2008-11-02  Bruno Haible  <bruno@clisp.org>
43811
43812         Mark 'rmdir' obsolete.
43813         * modules/rmdir (Status, Notice): New sections.
43814         * modules/clean-temp (Depends-on): Add rmdir.
43815         * modules/openat (Depends-on): Likewise.
43816
43817 2008-11-02  Bruno Haible  <bruno@clisp.org>
43818
43819         Mark 'raise' obsolete.
43820         * modules/raise (Status, Notice): New sections.
43821         (Include): Specify <signal.h>.
43822         * modules/stdio (Depends-on): Add raise.
43823         * modules/write (Depends-on): Likewise.
43824
43825 2008-11-02  Bruno Haible  <bruno@clisp.org>
43826
43827         Mark 'memset' obsolete.
43828         * modules/memset (Status, Notice): New sections.
43829
43830 2008-11-02  Bruno Haible  <bruno@clisp.org>
43831
43832         Mark 'memmove' obsolete.
43833         * modules/memmove (Status, Notice): New sections.
43834         * modules/argp (Depends-on): Add memmove.
43835         * modules/argz (Depends-on): Likewise.
43836         * modules/canonicalize (Depends-on): Likewise.
43837         * modules/canonicalize-lgpl (Depends-on): Likewise.
43838         * modules/fts (Depends-on): Likewise.
43839         * modules/getcwd (Depends-on): Likewise.
43840         * modules/human (Depends-on): Likewise.
43841         * modules/regex (Depends-on): Likewise.
43842         * modules/striconveh (Depends-on): Likewise.
43843         * modules/trim (Depends-on): Likewise.
43844         * modules/unistr/u8-move (Depends-on): Likewise.
43845         * modules/unistr/u16-move (Depends-on): Likewise.
43846         * modules/unistr/u32-move (Depends-on): Likewise.
43847
43848 2008-11-02  Bruno Haible  <bruno@clisp.org>
43849
43850         Mark 'memcpy' obsolete.
43851         * modules/memcpy (Status, Notice): New sections.
43852
43853 2008-11-02  Bruno Haible  <bruno@clisp.org>
43854
43855         Mark 'memcmp' obsolete.
43856         * modules/memcmp (Status, Notice): New sections.
43857         * modules/argmatch (Depends-on): Add memchr.
43858         * modules/backupfile (Depends-on): Likewise.
43859         * modules/c-strcasestr (Depends-on): Likewise.
43860         * modules/crypto/des (Depends-on): Likewise.
43861         * modules/csharpcomp (Depends-on): Likewise.
43862         * modules/fnmatch (Depends-on): Likewise.
43863         * modules/git-merge-changelog (Depends-on): Likewise.
43864         * modules/isnand (Depends-on): Likewise.
43865         * modules/isnand-nolibm (Depends-on): Likewise.
43866         * modules/isnanf (Depends-on): Likewise.
43867         * modules/isnanf-nolibm (Depends-on): Likewise.
43868         * modules/isnanl (Depends-on): Likewise.
43869         * modules/isnanl-nolibm (Depends-on): Likewise.
43870         * modules/mbchar (Depends-on): Likewise.
43871         * modules/memcoll (Depends-on): Likewise.
43872         * modules/quotearg (Depends-on): Likewise.
43873         * modules/regex (Depends-on): Likewise.
43874         * modules/relocatable-prog (Depends-on): Likewise.
43875         * modules/same (Depends-on): Likewise.
43876         * modules/signbit (Depends-on): Likewise.
43877         * modules/strcasestr-simple (Depends-on): Likewise.
43878         * modules/unictype/gen-ctype (Depends-on): Likewise.
43879         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
43880         * modules/uniname/uniname (Depends-on): Likewise.
43881         * modules/unistr/u8-cmp (Depends-on): Likewise.
43882
43883 2008-11-02  Bruno Haible  <bruno@clisp.org>
43884
43885         Mark 'memchr' obsolete.
43886         * modules/memchr (Status, Notice): New sections.
43887         * modules/argp (Depends-on): Add memchr.
43888         * modules/base64 (Depends-on): Likewise.
43889         * modules/c-strcasestr (Depends-on): Likewise.
43890         * modules/chdir-long (Depends-on): Likewise.
43891         * modules/fnmatch (Depends-on): Likewise.
43892         * modules/getsubopt (Depends-on): Likewise.
43893         * modules/git-merge-changelog (Depends-on): Likewise.
43894         * modules/glob (Depends-on): Likewise.
43895         * modules/strcasestr-simple (Depends-on): Likewise.
43896         * modules/strnlen (Depends-on): Likewise.
43897
43898 2008-11-02  Bruno Haible  <bruno@clisp.org>
43899
43900         Mark 'atexit' obsolete.
43901         * modules/atexit (Status, Notice): New sections.
43902         * modules/chdir-long (Depends-on): Add atexit.
43903         * modules/wait-process (Depends-on): Likewise.
43904
43905 2008-11-02  Bruno Haible  <bruno@clisp.org>
43906
43907         * gnulib-tool: New option --with-obsolete.
43908         (func_usage): Document it.
43909         (func_modules_transitive_closure): Drop obsolete dependencies if
43910         incobsolete is not true.
43911         (func_import): Read and save the incobsolete variable to the cache.
43912
43913 2008-11-02  Bruno Haible  <bruno@clisp.org>
43914
43915         * modules/TEMPLATE-EXTENDED: New field 'Status'.
43916         * gnulib-tool: New option --extract-status.
43917         (func_usage): Document it.
43918         (sed_extract_prog): Recognize it.
43919         (func_get_status): New function.
43920
43921 2008-10-30  Simon Josefsson  <simon@josefsson.org>
43922
43923         * modules/sockets (License): Change from LGPL to LGPLv2+.
43924
43925 2008-10-28  Simon Josefsson  <simon@josefsson.org>
43926
43927         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
43928
43929 2008-10-28  Simon Josefsson  <simon@josefsson.org>
43930
43931         * MODULES.html.sh (Support for systems lacking POSIX:2001):
43932         Mention times and sys_times.
43933         * modules/sys_times, modules/sys_times-tests: New modules.
43934         * modules/times, modules/times-tests: Likewise
43935         * m4/sys_times_h.m4: New file.
43936         * lib/sys_times.in.h: Likewise
43937         * lib/times.c: Likewise.
43938         * tests/test-sys_times.c: Likewise.
43939         * tests/test-times.c: Likewise.
43940         * doc/posix-headers/sys_times.texi: Update.
43941         * doc/posix-functions/times.texi: Update.
43942
43943 2008-10-28  Jim Meyering  <meyering@redhat.com>
43944
43945         * modules/tempname (Depends-on): Add lstat.
43946
43947         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
43948
43949 2008-10-28  Simon Josefsson  <simon@josefsson.org>
43950
43951         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
43952         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
43953         using idiom used elsewhere in gnulib.
43954
43955 2008-10-27  Jim Meyering  <meyering@redhat.com>
43956
43957         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
43958
43959 2008-10-27  Simon Josefsson  <simon@josefsson.org>
43960
43961         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
43962         TESTS_ENVIRONMENT, for shell scripts that needs to call built
43963         programs.
43964         * tests/test-argp-2.sh: Use $EXEEXT when needed.
43965
43966 2008-10-27  Simon Josefsson  <simon@josefsson.org>
43967
43968         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
43969
43970 2008-10-27  Bruno Haible  <bruno@clisp.org>
43971
43972         * tests/test-lstat.c: Include <stdio.h>.
43973
43974 2008-10-27  Simon Josefsson  <simon@josefsson.org>
43975
43976         * modules/lstat-tests: New module.
43977         * tests/test-lstat.c: New file.
43978
43979 2008-10-26  Jim Meyering  <meyering@redhat.com>
43980
43981         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
43982
43983 2008-10-26  Simon Josefsson  <simon@josefsson.org>
43984             Bruno Haible  <bruno@clisp.org>
43985
43986         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
43987         * modules/configmake (Include): Add a note that the include must come
43988         after all system headers.
43989         * lib/javaversion.c: Include configmake.h after all other includes.
43990
43991 2008-10-26  Bruno Haible  <bruno@clisp.org>
43992
43993         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
43994         HAVE_STRUCT_RANDOM_DATA to 1.
43995         (gl_STDLIB_H): Simplify.
43996
43997 2008-10-26  Simon Josefsson  <simon@josefsson.org>
43998
43999         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
44000         substitute HAVE_STRUCT_RANDOM_DATA.
44001         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
44002         random_data.
44003         * modules/stdlib (Makefile.am): Substitute
44004         HAVE_STRUCT_RANDOM_DATA.
44005
44006 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44007
44008         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
44009         * doc/gnulib-intro.texi (Copyright): Likewise.
44010
44011 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44012
44013         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
44014         findings.
44015
44016 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
44017             Bruno Haible  <bruno@clisp.org>
44018
44019         * lib/unistd.in.h: Include <winsock2.h>.
44020         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
44021         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
44022         Provide dummy declarations.
44023         (gethostname): Override.
44024         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
44025         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
44026         gl_PREREQ_SYS_H_WINSOCK2.
44027         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
44028         * doc/posix-functions/gethostname.texi: More details.
44029
44030 2008-10-25  Bruno Haible  <bruno@clisp.org>
44031
44032         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
44033         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
44034         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
44035
44036         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
44037         here ...
44038         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
44039         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
44040         gl_UNISTD_H_DEFAULTS.
44041
44042 2008-10-25  Eric Blake  <ebb9@byu.net>
44043
44044         signbit: avoid spurious compiler failure
44045         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
44046         declarations inside function.
44047
44048 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44049             Bruno Haible  <bruno@clisp.org>
44050
44051         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
44052         * modules/random_r (Depends-on): Add stdint.
44053
44054 2008-10-24  Bruno Haible  <bruno@clisp.org>
44055
44056         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
44057         Eggert.
44058         * modules/strerror (License): Likewise.
44059
44060 2008-10-24  Jim Meyering  <meyering@redhat.com>
44061
44062         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
44063         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
44064
44065 2008-10-24  Eric Blake  <ebb9@byu.net>
44066
44067         getgroups: fix compilation when getgroups is available
44068         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
44069         but with <config.h> override of getgroups disabled.
44070
44071 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44072
44073         * doc/gnulib.texi (Header files): Add note about C++ problems.
44074         Explained by Bruno Haible <bruno@clisp.org>.
44075
44076 2008-10-23  Bruno Haible  <bruno@clisp.org>
44077
44078         Define a dummy SA_NODEFER macro on Interix.
44079         * lib/signal.in.h (SA_NODEFER): Define fallback.
44080         Reported by Aleksey Cheusov <cheusov@tut.by> via
44081         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
44082
44083 2008-10-23  Bruno Haible  <bruno@clisp.org>
44084
44085         * modules/freadahead (License): Change to LGPLv2+.
44086         Suggested by Simon Josefsson.
44087
44088 2008-10-23  Jim Meyering  <meyering@redhat.com>
44089
44090         random_r: new module
44091         * modules/random_r: New file.
44092         * m4/random_r.m4: New file.
44093         * lib/random_r.c: New file, from glibc.
44094         * modules/random_r-tests: New file.
44095         * tests/test-random_r.c: New file.
44096         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
44097          Declare.
44098         (RAND_MAX): Define.
44099         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
44100         * modules/stdlib: Substitute them, too.
44101         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
44102         * doc/glibc-functions/initstate_r.texi: Mention the new module.
44103         * doc/glibc-functions/random_r.texi: Likewise.
44104         * doc/glibc-functions/setstate_r.texi: Likewise.
44105         * doc/glibc-functions/srandom_r.texi: Likewise.
44106         * config/srclist.txt: Mention it.
44107
44108 2008-10-23  David Lutterkort  <lutter@redhat.com>
44109
44110         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
44111         link requirement
44112
44113 2008-10-23  Jim Meyering  <meyering@redhat.com>
44114
44115         selinux-h: mark parameters of stub functions as intentionally unused
44116         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
44117         * lib/se-context.in.h: Likewise.
44118
44119 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44120
44121         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
44122
44123 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44124
44125         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
44126
44127 2008-10-22  Eric Blake  <ebb9@byu.net>
44128
44129         glthread/thread: avoid compiler warning
44130         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
44131         Add unreachable abort to silence compiler.
44132
44133 2008-10-22  Eric Blake  <ebb9@byu.net>
44134
44135         netdb: also supply struct addrinfo for cygwin 1.5.x
44136         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
44137         older cygwin.
44138         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
44139         cygwin.
44140         * doc/posix-headers/netdb.texi (netdb.h): Document this.
44141
44142 2008-10-22  Bruno Haible  <bruno@clisp.org>
44143
44144         * users.txt: Update entry about pspp.
44145
44146 2008-10-21  Bruno Haible  <bruno@clisp.org>
44147
44148         Simplification.
44149         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
44150         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
44151
44152         Simplification.
44153         * lib/ioctl.c (ioctl): Don't undefine.
44154         * lib/socket.c (socket): Don't undefine.
44155
44156         Remove unused module indicator macros.
44157         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
44158         GNULIB_$1 as a C macro.
44159
44160         * doc/posix-functions/close.texi: Undo last change.
44161         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
44162         Windows platforms.
44163
44164 2008-10-21  Bruno Haible  <bruno@clisp.org>
44165
44166         Add gethostname() declaration to <unistd.h>.
44167         * lib/unistd.in.h (gethostname): New declaration.
44168         * lib/gethostname.c: Include <unistd.h>.
44169         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
44170         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
44171         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
44172         and HAVE_GETHOSTNAME.
44173         * modules/gethostname (Depends-on): Add unistd.
44174         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44175         (Include): Specify <unistd.h>.
44176         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
44177         HAVE_GETHOSTNAME.
44178         * tests/test-gethostname.c: Include <unistd.h> first.
44179
44180 2008-10-21  Bruno Haible  <bruno@clisp.org>
44181
44182         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
44183         * modules/select-tests (Depends-on): Likewise.
44184         Reported by Simon Josefsson.
44185
44186 2008-10-21  Simon Josefsson  <simon@josefsson.org>
44187
44188         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
44189         * lib/accept.c: New file, based on winsock.c.
44190         * lib/bind.c: New file, based on winsock.c.
44191         * lib/connect.c: New file, based on winsock.c.
44192         * lib/getpeername.c: New file, based on winsock.c.
44193         * lib/getsockname.c: New file, based on winsock.c.
44194         * lib/getsockopt.c: New file, based on winsock.c.
44195         * lib/ioctl.c: New file, based on winsock.c.
44196         * lib/listen.c: New file, based on winsock.c.
44197         * lib/recv.c: New file, based on winsock.c.
44198         * lib/recvfrom.c: New file, based on winsock.c.
44199         * lib/send.c: New file, based on winsock.c.
44200         * lib/sendto.c: New file, based on winsock.c.
44201         * lib/setsockopt.c: New file, based on winsock.c.
44202         * lib/shutdown.c: New file, based on winsock.c.
44203         * lib/socket.c: New file, based on winsock.c.
44204         * lib/w32sock.h: New file, based on winsock.c.
44205         * lib/winsock.c: Remove file.
44206         * modules/accept: Likewise.
44207         * modules/bind: Likewise.
44208         * modules/connect: Likewise.
44209         * modules/getpeername: Likewise.
44210         * modules/getsockname: Likewise.
44211         * modules/getsockopt: Likewise.
44212         * modules/ioctl: Likewise.
44213         * modules/listen: Likewise.
44214         * modules/recv: Likewise.
44215         * modules/recvfrom: Likewise.
44216         * modules/send: Likewise.
44217         * modules/sendto: Likewise.
44218         * modules/setsockopt: Likewise.
44219         * modules/shutdown: Likewise.
44220         * modules/socket: Use socket.c instead of winsock.c.
44221         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
44222         * doc/posix-functions/accept.texi: Doc fix.
44223         * doc/posix-functions/bind.texi: Doc fix.
44224         * doc/posix-functions/close.texi: Doc fix.
44225         * doc/posix-functions/connect.texi: Doc fix.
44226         * doc/posix-functions/getpeername.texi: Doc fix.
44227         * doc/posix-functions/getsockname.texi: Doc fix.
44228         * doc/posix-functions/getsockopt.texi: Doc fix.
44229         * doc/posix-functions/ioctl.texi: Doc fix.
44230         * doc/posix-functions/listen.texi: Doc fix.
44231         * doc/posix-functions/recv.texi: Doc fix.
44232         * doc/posix-functions/recvfrom.texi: Doc fix.
44233         * doc/posix-functions/send.texi: Doc fix.
44234         * doc/posix-functions/sendto.texi: Doc fix.
44235         * doc/posix-functions/setsockopt.texi: Doc fix.
44236         * doc/posix-functions/shutdown.texi: Doc fix.
44237         * doc/posix-functions/socket.texi: Doc fix.
44238
44239 2008-10-20  Bruno Haible  <bruno@clisp.org>
44240
44241         Take into account the role of SIGABRT_COMPAT on Windows 2008.
44242         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
44243         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
44244         as an alias for SIGABRT.
44245         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
44246         (sigaction): Map it to SIGABRT.
44247         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
44248
44249 2008-10-20  Bruno Haible  <bruno@clisp.org>
44250
44251         * lib/fts.c: Don't include lstat.h.
44252         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
44253
44254         Move the lstat() declaration to <sys/stat.h>.
44255         * lib/lstat.h: Remove file.
44256         * lib/sys_stat.in.h: Add special invocation convention.
44257         (lstat): New declaration.
44258         * lib/lstat.c (orig_lstat): New function.
44259         (rpl_lstat): Use orig_lstat instead of lstat.
44260         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
44261         AC_C_INLINE. Set REPLACE_LSTAT.
44262         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
44263         and REPLACE_LSTAT.
44264         * modules/lstat (Files): Remove lib/lstat.h.
44265         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44266         (Include): Specify <sys/stat.h> instead of lstat.h.
44267         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
44268         REPLACE_LSTAT.
44269         * NEWS: Mention the change.
44270
44271 2008-10-20  Bruno Haible  <bruno@clisp.org>
44272
44273         * modules/posix_spawn-tests: New file.
44274         * tests/test-posix_spawn3.c: New file.
44275
44276 2008-10-20  Bruno Haible  <bruno@clisp.org>
44277
44278         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
44279         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44280         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
44281         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44282         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
44283
44284 2008-10-20  Bruno Haible  <bruno@clisp.org>
44285
44286         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
44287         of posix_spawn on AIX 5.3.
44288
44289 2008-10-20  Bruno Haible  <bruno@clisp.org>
44290
44291         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
44292
44293 2008-10-20  Bruno Haible  <bruno@clisp.org>
44294
44295         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
44296         of AC_LANG_PROGRAM.
44297
44298 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44299
44300         * lib/netdb.in.h: Don't define GNU specific constants until they
44301         are supported or needed.  Reported by Bruno Haible
44302         <bruno@clisp.org>.
44303
44304 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44305
44306         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
44307
44308 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44309
44310         * lib/getaddrinfo.h: Remove file.
44311         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
44312         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
44313         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
44314         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
44315         * modules/netdb: Substitute GNULIB_GETADDRINFO.
44316         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
44317         * tests/test-getaddrinfo.c: Likewise.
44318         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
44319         * NEWS: Mention change.
44320
44321 2008-10-19  Bruno Haible  <bruno@clisp.org>
44322
44323         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
44324
44325 2008-10-19  Bruno Haible  <bruno@clisp.org>
44326
44327         * lib/wait-process.c: Include simply <sys/wait.h>.
44328         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
44329         WIFSTOPPED): Remove fallback definitions.
44330         * modules/wait-process (Depends-on): Add sys_wait.
44331
44332         New module 'sys_wait'.
44333         * modules/sys_wait: New file.
44334         * lib/sys_wait.in.h: New file, partially copied from
44335         lib/wait-process.c.
44336         * m4/sys_wait_h.m4: New file.
44337         * doc/posix-headers/sys_wait.texi: Mention the new module.
44338
44339 2008-10-19  Bruno Haible  <bruno@clisp.org>
44340
44341         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
44342
44343 2008-10-19  Bruno Haible  <bruno@clisp.org>
44344
44345         Assume that waitpid() fills an 'int' status, not a 'union wait'.
44346         * lib/wait-process.c (WAIT_T): Remove type.
44347         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
44348         (wait_subprocess): Update.
44349
44350 2008-10-19  Bruno Haible  <bruno@clisp.org>
44351
44352         New module 'atoll'.
44353         * modules/atoll: New file.
44354         * lib/stdlib.in.h (atoll): New declaration.
44355         * lib/atoll.c: New file, from glibc with modifications.
44356         * m4/atoll.m4: New file.
44357         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
44358         HAVE_ATOLL.
44359         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
44360         * doc/posix-functions/atoll.texi: Mention the new module.
44361
44362 2008-10-19  Bruno Haible  <bruno@clisp.org>
44363
44364         Add strtoull() declaration to <stdlib.h>.
44365         * lib/stdlib.in.h (strtoull): New declaration.
44366         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44367         Set HAVE_STRTOULL.
44368         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
44369         HAVE_STRTOULL.
44370         * modules/strtoull (Depends-on): Add stdlib.
44371         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44372         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
44373         HAVE_STRTOULL.
44374
44375 2008-10-19  Bruno Haible  <bruno@clisp.org>
44376
44377         Add strtoll() declaration to <stdlib.h>.
44378         * lib/stdlib.in.h (strtoll): New declaration.
44379         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44380         Set HAVE_STRTOLL.
44381         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
44382         HAVE_STRTOLL.
44383         * modules/strtoll (Depends-on): Add stdlib.
44384         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44385         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
44386
44387 2008-10-19  Bruno Haible  <bruno@clisp.org>
44388
44389         * modules/bcopy (Depends-on): Add strings.
44390         (Include): Specify <strings.h>.
44391
44392 2008-10-19  Bruno Haible  <bruno@clisp.org>
44393
44394         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
44395
44396 2008-10-19  Bruno Haible  <bruno@clisp.org>
44397
44398         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
44399         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
44400         mingw.
44401
44402 2008-10-19  Bruno Haible  <bruno@clisp.org>
44403
44404         * lib/atanl.c: Don't include isnanl.h.
44405         * lib/cosl.c: Likewise.
44406         * lib/ldexpl.c: Likewise.
44407         * lib/logl.c: Likewise.
44408         * lib/sinl.c: Likewise.
44409         * lib/sqrtl.c: Likewise.
44410         * lib/tanl.c: Likewise.
44411
44412         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
44413         * lib/isnanf.h: Remove file.
44414         * lib/isnand.h: Remove file.
44415         * lib/isnanl.h: Remove file.
44416         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
44417         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
44418         macros.
44419         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
44420         HAVE_ISNANF, don't define it as a C macro.
44421         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
44422         HAVE_ISNAND, don't define it as a C macro.
44423         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
44424         HAVE_ISNANL, don't define it as a C macro.
44425         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
44426         HAVE_ISNAN[FDL].
44427         * modules/isnanf (Files): Remove lib/isnanf.h.
44428         (Depends-on): Add math.
44429         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44430         (Include): Specify <math.h> instead of isnanf.h.
44431         * modules/isnand (Files): Remove lib/isnand.h.
44432         (Depends-on): Add math.
44433         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44434         (Include): Specify <math.h> instead of isnand.h.
44435         * modules/isnanl (Files): Remove lib/isnanl.h.
44436         (Depends-on): Add math.
44437         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44438         (Include): Specify <math.h> instead of isnanl.h.
44439         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
44440         HAVE_ISNAN[FDL].
44441         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
44442         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
44443         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
44444         * NEWS: Mention the change.
44445
44446 2008-10-18  Bruno Haible  <bruno@clisp.org>
44447
44448         Add getusershell(), setusershell(), endusershell() declarations to
44449         <unistd.h>.
44450         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
44451         declarations.
44452         * lib/getusershell.c: Include unistd.h.
44453         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
44454         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44455         HAVE_GETUSERSHELL.
44456         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
44457         and HAVE_GETUSERSHELL.
44458         * modules/getusershell (Depends-on): Add unistd, extensions.
44459         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44460         (Include): Specify <unistd.h>.
44461         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
44462         HAVE_GETUSERSHELL.
44463
44464 2008-10-18  Bruno Haible  <bruno@clisp.org>
44465
44466         Add a getloadavg() declaration to <stdlib.h>.
44467         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
44468         getloadavg declaration.
44469         (getloadavg): New declaration.
44470         * lib/getloadavg.c: Include <stdlib.h> first.
44471         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
44472         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
44473         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
44474         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
44475         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44476         * modules/getloadavg (Depends-on): Add stdlib, extensions.
44477         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44478         (Include): Specify <stdlib.h>.
44479         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
44480         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44481
44482 2008-10-18  Bruno Haible  <bruno@clisp.org>
44483
44484         * lib/dirchownmod.c: Don't include lchmod.h.
44485
44486         Move the lchmod() declaration to <sys/stat.h>.
44487         * lib/lchmod.h: Remove file.
44488         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
44489         (lchmod): New declaration, moved here from lib/lchown.h.
44490         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
44491         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
44492         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
44493         and HAVE_LCHMOD.
44494         * modules/lchmod (Files): Remove lib/lchmod.h.
44495         (Depends-on): Add sys_stat, extensions.
44496         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44497         (Include): Specify <sys/stat.h> instead of lchmod.h.
44498         * modules/sys_stat (Depends-on): Add link-warning.
44499         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
44500         definition of GL_LINK_WARNING.
44501         * NEWS: Mention the change.
44502
44503 2008-10-18  Bruno Haible  <bruno@clisp.org>
44504
44505         * lib/fchdir.c: Don't include dirfd.h.
44506         * lib/fts.c: Likewise.
44507         * lib/getcwd.c: Likewise.
44508         * lib/glob.c: Likewise.
44509
44510         Move the dirfd() declaration to <dirent.h>.
44511         * lib/dirfd.h: Remove file.
44512         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
44513         (dirfd): New declaration.
44514         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
44515         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
44516         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
44517         HAVE_DECL_DIRFD.
44518         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
44519         HAVE_DECL_DIRFD.
44520         * modules/dirfd (Files): Remove lib/dirfd.h.
44521         (Depends-on): Add dirent, extensions.
44522         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
44523         (Include): Specify <dirent.h> instead of dirfd.h.
44524         * modules/dirent (Depends-on): Add link-warning.
44525         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
44526         definition of GL_LINK_WARNING.
44527         * NEWS: Mention the change.
44528
44529 2008-10-18  Bruno Haible  <bruno@clisp.org>
44530
44531         Move the euidaccess() declaration to <unistd.h>.
44532         * lib/euidaccess.h: Remove file.
44533         * lib/unistd.in.h (euidaccess): New declaration.
44534         * lib/euidaccess.c: Don't include euidaccess.h.
44535         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
44536         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
44537         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
44538         and HAVE_EUIDACCESS.
44539         * modules/euidaccess (Files): Remove lib/euidaccess.h.
44540         (Depends-on): Add unistd.
44541         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44542         (Include): Specify <unistd.h> instead of euidaccess.h.
44543         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
44544         HAVE_EUIDACCESS.
44545         * NEWS: Mention the change.
44546
44547 2008-10-18  Bruno Haible  <bruno@clisp.org>
44548
44549         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
44550
44551         Move the getdomainname() declaration to <unistd.h>.
44552         * lib/getdomainname.h: Remove file.
44553         * lib/unistd.in.h (getdomainname): New declaration.
44554         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
44555         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
44556         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44557         HAVE_GETDOMAINNAME.
44558         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44559         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
44560         * modules/getdomainname (Files): Remove lib/getdomainname.h.
44561         (Depends-on): Add unistd, extensions.
44562         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44563         (Includes): Specify <unistd.h> instead of getdomainname.h.
44564         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
44565         HAVE_GETDOMAINNAME.
44566         * NEWS: Mention the change.
44567
44568 2008-10-18  Bruno Haible  <bruno@clisp.org>
44569
44570         * modules/dirent: New file.
44571         * m4/dirent_h.m4: New file.
44572         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
44573         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
44574         * modules/fchdir (Files): Remove lib/dirent.in.h.
44575         (Depends-on): Add dirent.
44576         (Makefile.am): Move rules to modules/dirent.
44577         * doc/posix-headers/dirent.texi: Mention the new module.
44578
44579 2008-10-18  Bruno Haible  <bruno@clisp.org>
44580
44581         Avoid -Wunused-parameter warnings in public gnulib header files.
44582         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
44583         macro.
44584         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
44585
44586 2008-10-18  Bruno Haible  <bruno@clisp.org>
44587
44588         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
44589         * doc/glibc-functions/error.texi: Mention the module 'error'.
44590         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
44591         * doc/glibc-functions/getdomainname.texi: Mention the module
44592         'getdomainname'.
44593         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
44594         * doc/glibc-functions/getpagesize.texi: Mention the module
44595         'getpagesize'.
44596         * doc/glibc-functions/getusershell.texi: Mention the module
44597         'getusershell'.
44598         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
44599         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
44600         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
44601         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
44602         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
44603         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
44604         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
44605         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
44606         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
44607         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
44608         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
44609         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
44610         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
44611         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
44612
44613 2008-10-17  Bruno Haible  <bruno@clisp.org>
44614
44615         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
44616         HP-UX and IRIX, use -0.0L.
44617         * tests/test-ceill.c (minus_zero): Likewise.
44618         * tests/test-floorl.c (minus_zero): Likewise.
44619         * tests/test-frexpl.c (minus_zero): Likewise.
44620         * tests/test-isnan.c (minus_zerol): Likewise.
44621         * tests/test-isnanl.h (minus_zero): Likewise.
44622         * tests/test-ldexpl.c (minus_zero): Likewise.
44623         * tests/test-roundl.c (minus_zero): Likewise.
44624         * tests/test-signbit.c (minus_zerol): Likewise.
44625         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
44626         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
44627         * tests/test-truncl.c (minus_zero): Likewise.
44628         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
44629         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
44630         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
44631         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
44632
44633 2008-10-17  Bruno Haible  <bruno@clisp.org>
44634
44635         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
44636         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
44637         that it gets activated only for gcc >= 3.0.
44638         * lib/dirent.in.h: Likewise.
44639         * lib/errno.in.h: Likewise.
44640         * lib/fcntl.in.h: Likewise.
44641         * lib/float.in.h: Likewise.
44642         * lib/iconv.in.h: Likewise.
44643         * lib/inttypes.in.h: Likewise.
44644         * lib/locale.in.h: Likewise.
44645         * lib/math.in.h: Likewise.
44646         * lib/netdb.in.h: Likewise.
44647         * lib/netinet_in.in.h: Likewise.
44648         * lib/search.in.h: Likewise.
44649         * lib/signal.in.h: Likewise.
44650         * lib/spawn.in.h: Likewise.
44651         * lib/stdarg.in.h: Likewise.
44652         * lib/stdint.in.h: Likewise.
44653         * lib/stdio.in.h: Likewise.
44654         * lib/stdlib.in.h: Likewise.
44655         * lib/string.in.h: Likewise.
44656         * lib/strings.in.h: Likewise.
44657         * lib/sys_file.in.h: Likewise.
44658         * lib/sys_ioctl.in.h: Likewise.
44659         * lib/sys_select.in.h: Likewise.
44660         * lib/sys_socket.in.h: Likewise.
44661         * lib/sys_stat.in.h: Likewise.
44662         * lib/sys_time.in.h: Likewise.
44663         * lib/sysexits.in.h: Likewise.
44664         * lib/time.in.h: Likewise.
44665         * lib/unistd.in.h: Likewise.
44666         * lib/wchar.in.h: Likewise.
44667         * lib/wctype.in.h: Likewise.
44668         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44669
44670 2008-10-17  Jim Meyering  <meyering@redhat.com>
44671
44672         ignore-value: don't depend on inline module
44673         * modules/ignore-value (Depends-on): Remove 'inline'.
44674         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
44675         Suggestion from Bruno Haible.
44676
44677 2008-10-17  Bruno Haible  <bruno@clisp.org>
44678
44679         New implementation of condition variables for Win32.
44680         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
44681         (gl_linked_waitqueue_t): New type.
44682         (gl_cond_t): Use it.
44683         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
44684         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
44685         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
44686         (glthread_cond_init_func, glthread_cond_wait_func,
44687         glthread_cond_timedwait_func, glthread_cond_signal_func,
44688         glthread_cond_broadcast_func, glthread_cond_destroy_func):
44689         Reimplemented on the basis of gl_linked_waitqueue_t.
44690         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
44691         gl_waitqueue_t.
44692         (gl_rwlock_t): Update.
44693         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
44694
44695 2008-10-17  Simon Josefsson  <simon@josefsson.org>
44696
44697         * modules/recvfrom (Depends-on): Add dependency on getpeername.
44698         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44699
44700 2008-10-17  Jim Meyering  <meyering@redhat.com>
44701
44702         ignore-value: new module
44703         * modules/ignore-value: New file.
44704         * lib/ignore-value.h: New file.
44705         * MODULES.html.sh (Compiler warning management): New section,
44706         just for this module.  More to come.
44707
44708 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44709
44710         open-safer.c: avoid 'signed and unsigned in conditional...' warning
44711         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
44712         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
44713
44714 2008-10-16  Jim Meyering  <meyering@redhat.com>
44715
44716         openat-die.c: avoid 'no previous prototype' warning
44717         * lib/openat-die.c: Include "openat.h".
44718         Reported by Reuben Thomas <rrt@sc3d.org>.
44719
44720 2008-10-16  Simon Josefsson  <simon@josefsson.org>
44721
44722         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
44723         * lib/netdb.in.h: Fix typo.
44724         Reported by Bruno Haible  <bruno@clisp.org>
44725
44726         * lib/netdb.in.h: Include sys/socket.h for platforms without
44727         netdb.h, to get structures like hostent on MinGW.
44728         * modules/netdb (Depends-on): Add sys_socket.
44729
44730 2008-10-15  Simon Josefsson  <simon@josefsson.org>
44731
44732         * modules/netdb, modules/netdb-tests: New file.
44733         * m4/netdb_h.m4: New file.
44734         * lib/netdb.in.h: Add, currently just an empty file pending
44735         definitions.
44736         * tests/test-netdb.c: New file.
44737         * doc/posix-headers/netdb.texi: Mention that we replace it if
44738         needed.
44739         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44740         netdb.
44741
44742 2008-10-15  Simon Josefsson  <simon@josefsson.org>
44743
44744         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
44745         with code.
44746
44747 2008-10-13  Bruno Haible  <bruno@clisp.org>
44748
44749         * lib/glthread/cond.c (glthread_cond_wait_func,
44750         glthread_cond_timedwait_func): Add a comment.
44751
44752 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44753
44754         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
44755         * tests/test-select.c: Likewise,
44756
44757 2008-10-13  Bruno Haible  <bruno@clisp.org>
44758
44759         * lib/glthread/cond.c (glthread_cond_wait_func,
44760         glthread_cond_timedwait_func): Fix variable name.
44761         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44762
44763 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
44764
44765         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
44766         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
44767         struct sockaddr.sa_len.
44768         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
44769
44770 2008-10-13  Simon Josefsson  <simon@josefsson.org>
44771
44772         * build-aux/pmccabe2html: Add css and css_url parameters.
44773
44774 2008-10-12  Bruno Haible  <bruno@clisp.org>
44775
44776         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
44777         calling aclx_get.
44778         Reported by Rainer Tammer <tammer@tammer.net>.
44779
44780 2008-10-12  Bruno Haible  <bruno@clisp.org>
44781
44782         Use msvcrt aware primitives for creation/termination of Win32 threads.
44783         * lib/glthread/thread.c: Include <process.h>.
44784         (glthread_create_func): Use _beginthreadex instead of CreateThread.
44785         (wrapper_func): Update signature.
44786         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
44787
44788 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44789             Bruno Haible  <bruno@clisp.org>
44790
44791         Provide a Win32 implementation of the 'cond' module.
44792         * lib/glthread/cond.h [USE_WIN32]: New implementation.
44793         * lib/glthread/cond.c (glthread_cond_init_func,
44794         glthread_cond_wait_func, glthread_cond_timedwait_func,
44795         glthread_cond_signal_func, glthread_cond_broadcast_func,
44796         glthread_cond_destroy_func) [USE_WIN32]: New functions.
44797         * modules/cond (Dependencies): Add gettimeofday.
44798
44799 2008-10-11  Bruno Haible  <bruno@clisp.org>
44800
44801         Make sleep work on older versions of mingw.
44802         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
44803         only whether it exists.
44804         * doc/posix-functions/sleep.texi: Mention the problem with older
44805         versions of mingw.
44806
44807 2008-10-11  Bruno Haible  <bruno@clisp.org>
44808
44809         New module 'shutdown'.
44810         * modules/shutdown: New file.
44811         * lib/sys_socket.in.h (shutdown): New declaration.
44812         * lib/winsock.c (shutdown): New function.
44813         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
44814         GNULIB_SHUTDOWN.
44815         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
44816         * doc/posix-functions/shutdown.texi: Document the new module.
44817
44818 2008-10-11  Jim Meyering  <meyering@redhat.com>
44819
44820         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
44821
44822 2008-10-11  Bruno Haible  <bruno@clisp.org>
44823
44824         New module 'fclose'.
44825         * modules/fclose: New file.
44826         * lib/stdio.in.h (fclose): New declaration.
44827         * lib/fclose.c: New file.
44828         * m4/fclose.m4: New file.
44829         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
44830         REPLACE_FCLOSE.
44831         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
44832         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
44833         REPLACE_FCLOSE.
44834         * modules/close (Depends-on): fclose.
44835         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
44836
44837 2008-10-11  Bruno Haible  <bruno@clisp.org>
44838
44839         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
44840         set errno and don't call _close.
44841
44842 2008-10-10  Bruno Haible  <bruno@clisp.org>
44843
44844         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
44845         ACL, not afterwards. Fixes test failure on Cygwin.
44846
44847 2008-10-09  Ben Pfaff  <blp@gnu.org>
44848
44849         * build-aux/announce-gen: Fix gnulib version related part of usage
44850         message.  Die with a useful error message if no tarballs are
44851         found.
44852
44853 2008-10-10  Jim Meyering  <meyering@redhat.com>
44854
44855         bootstrap: use git's --depth=N option only if it's supported
44856         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
44857         recognize the --depth option.  Reported by Pádraig Brady.
44858
44859 2008-10-09  Bruno Haible  <bruno@clisp.org>
44860
44861         New module 'ioctl'.
44862         * modules/ioctl: New file.
44863         * lib/sys_socket.in.h (ioctl): Remove declaration.
44864         * lib/winsock.c: Include <sys/ioctl.h>.
44865         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
44866         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
44867         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
44868         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
44869         * doc/posix-functions/ioctl.texi: Mention the new module.
44870
44871 2008-10-09  Bruno Haible  <bruno@clisp.org>
44872
44873         New module 'sys_ioctl'.
44874         * lib/sys_ioctl.in.h: New file.
44875         * m4/sys_ioctl_h.m4: New file.
44876         * modules/sys_ioctl: New file.
44877         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
44878
44879 2008-10-09  Bruno Haible  <bruno@clisp.org>
44880
44881         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
44882         * lib/winsock.c: Include <stdarg.h>.
44883         (rpl_ioctl): Change to second argument 'int' and then varargs.
44884
44885 2008-10-09  Bruno Haible  <bruno@clisp.org>
44886
44887         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
44888         when the sys_socket module is present and the system has <winsock2.h>.
44889
44890 2008-10-09  Bruno Haible  <bruno@clisp.org>
44891
44892         * doc/posix-functions/close.texi: Mention module 'close' instead of
44893         module 'sys_socket'.
44894
44895 2008-10-09  Bruno Haible  <bruno@clisp.org>
44896
44897         * doc/glibc-headers/sys_ioctl.texi: New file.
44898         * doc/gnulib.texi: Include it.
44899
44900 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
44901             Bruno Haible  <bruno@clisp.org>
44902
44903         Combine the two replacements of 'close'.
44904         * lib/sys_socket.in.h (close): Define to a reminder to include
44905         <unistd.h>.
44906         (_gl_close_fd_maybe_socket): New declaration.
44907         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
44908         * lib/winsock.c (close): Remove undefinition.
44909         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
44910         needed for the gnulib module 'close'.
44911         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
44912         define to an error symbol or to a warning, if suitable.
44913         * lib/close.c: Include <sys/socket.h>.
44914         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
44915         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
44916         UNISTD_H_HAVE_WINSOCK2_H.
44917         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
44918         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44919         UNISTD_H_HAVE_WINSOCK2_H.
44920         * modules/sys_socket (Files): Add m4/unistd_h.m4.
44921         (configure.ac): Set a module indicator.
44922         (Makefile.am): Substitute GNULIB_CLOSE.
44923         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
44924         * modules/poll-tests (Depends-on): Add close.
44925         * modules/select-tests (Depends-on): Likewise.
44926
44927 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
44928             Bruno Haible  <bruno@clisp.org>
44929
44930         New module 'close'.
44931         * modules/close: New file.
44932         * lib/unistd.in.h (close): Move declaration out of the
44933         FCHDIR_REPLACEMENT scope.
44934         (_gl_unregister_fd): New declaration.
44935         * lib/close.c: New file.
44936         * lib/fchdir.c (rpl_close): Remove function.
44937         * m4/close.m4: New file.
44938         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
44939         close.
44940         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
44941         REPLACE_CLOSE.
44942         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
44943         REPLACE_CLOSE.
44944         * modules/fchdir (Depends-on): Add close.
44945
44946 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
44947             Bruno Haible  <bruno@clisp.org>
44948
44949         * lib/fcntl.in.h (open): Simplify conditionals.
44950         (_gl_register_fd): New declaration.
44951         * lib/fchdir.c (rpl_open): Remove function.
44952         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
44953         also.
44954         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
44955         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
44956         open.
44957
44958 2008-10-09  Jim Meyering  <meyering@redhat.com>
44959
44960         GNUmakefile: use the more name-space-friendly "_version"
44961         * top/GNUmakefile (_dummy): Update.
44962         (_version): Rename from "version".
44963
44964 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
44965             Bruno Haible  <bruno@clisp.org>
44966
44967         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
44968         rpl_close.
44969         (_gl_register_fd): New function, extracted from rpl_open.
44970         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
44971         (rpl_open, rpl_opendir): Use _gl_register_fd.
44972
44973 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
44974
44975         Fix organization of 'open' replacement.
44976         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
44977         (gl_FUNC_OPEN): Use it.
44978         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
44979
44980 2008-10-08  Bruno Haible  <bruno@clisp.org>
44981
44982         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
44983
44984 2008-10-08  Simon Josefsson  <simon@josefsson.org>
44985
44986         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
44987         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
44988         listen).
44989
44990 2008-10-08  Eric Blake  <ebb9@byu.net>
44991
44992         GNUmakefile: add 'make version' target
44993         * top/GNUmakefile (_curr-ver): Split version update rules...
44994         (version): ...into a target.
44995
44996 2008-10-07  Bruno Haible  <bruno@clisp.org>
44997
44998         Use a more portable replacement expression for -0.0L.
44999         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
45000         instead of -0.0L. Fix m4 quotation.
45001
45002         * tests/test-signbit.c: Include <float.h>.
45003         (minus_zero): New variable.
45004         (test_signbitl): Use minus_zero instead of -zero.
45005         * modules/signbit-tests (Depends-on): Add float.
45006
45007         * tests/test-ceill.c: Include <float.h>.
45008         (zero): Remove variable.
45009         (minus_zero): New variable.
45010         (main): Use minus_zero instead of -zero.
45011         * modules/ceill-tests (Depends-on): Add float.
45012
45013         * tests/test-floorl.c: Include <float.h>.
45014         (zero): Remove variable.
45015         (minus_zero): New variable.
45016         (main): Use minus_zero instead of -zero.
45017         * modules/floorl-tests (Depends-on): Add float.
45018
45019         * tests/test-roundl.c: Include <float.h>.
45020         (zero): Remove variable.
45021         (minus_zero): New variable.
45022         (main): Use minus_zero instead of -zero.
45023         * modules/roundl-tests (Depends-on): Add float.
45024
45025         * tests/test-truncl.c: Include <float.h>.
45026         (zero): Remove variable.
45027         (minus_zero): New variable.
45028         (main): Use minus_zero instead of -zero.
45029         * modules/truncl-tests (Depends-on): Add float.
45030
45031         * tests/test-frexpl.c (zero): Remove variable.
45032         (minus_zero): New variable.
45033         (main): Use minus_zero instead of -zero.
45034         * modules/frexpl-tests (Depends-on): Add float.
45035
45036         * tests/test-isnan.c (zerol): Remove variable.
45037         (minus_zerol): New variable.
45038         (test_long_double): Use minus_zerol instead of -zerol.
45039         * modules/isnan-tests (Depends-on): Add float.
45040
45041         * tests/test-isnanl.h (zero): Remove variable.
45042         (minus_zero): New variable.
45043         (main): Use minus_zero instead of -zero.
45044         * modules/isnanl-nolibm-tests (Depends-on): Add float.
45045         * modules/isnanl-tests (Depends-on): Add float.
45046
45047         * tests/test-ldexpl.c (zero): Remove variable.
45048         (minus_zero): New variable.
45049         (main): Use minus_zero instead of -zero.
45050         * modules/ldexpl-tests (Depends-on): Add float.
45051
45052         * tests/test-snprintf-posix.h (zerol): Remove variable.
45053         (minus_zerol): New variable.
45054         (test_function): Use minus_zerol instead of -zerol.
45055         * modules/snprintf-posix-tests (Depends-on): Add float.
45056         * modules/vsnprintf-posix-tests (Depends-on): Add float.
45057
45058         * tests/test-sprintf-posix.h (zerol): Remove variable.
45059         (minus_zerol): New variable.
45060         (test_function): Use minus_zerol instead of -zerol.
45061         * modules/sprintf-posix-tests (Depends-on): Add float.
45062         * modules/vsprintf-posix-tests (Depends-on): Add float.
45063
45064         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
45065         (minus_zerol): New variable.
45066         (test_function): Use minus_zerol instead of -zerol.
45067         * modules/vasnprintf-posix-tests (Depends-on): Add float.
45068
45069         * tests/test-vasprintf-posix.c (zerol): Remove variable.
45070         (minus_zerol): New variable.
45071         (test_function): Use minus_zerol instead of -zerol.
45072         * modules/vasprintf-posix-tests (Depends-on): Add float.
45073
45074 2008-10-07  Simon Josefsson  <simon@josefsson.org>
45075
45076         * MODULES.html.sh (Support for building documentation): Mention
45077         pmccabe2html.  Sort entries.
45078
45079         Add pmccabe2html module, from gnupdf.
45080         * build-aux/pmccabe.css: New file.
45081         * build-aux/pmccabe2html: New file.
45082         * m4/pmccabe2html.m4: New file.
45083         * modules/pmccabe2html: New file.
45084
45085 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
45086
45087         flock: new module
45088         * MODULES.html.sh: Add to list of modules.
45089         * lib/flock.c: flock implementation for Windows and Unix systems
45090         which have fcntl.
45091         * doc/glibc-functions/flock.texi: Update documentation.
45092         * lib/sys_file.in.h: <sys/file.h> header file.
45093         * m4/flock.m4: M4 macros.
45094         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
45095         * modules/flock: flock module.
45096         * modules/flock-tests: flock tests module.
45097         * modules/sys_file: sys/file.h module.
45098         * tests/test-flock.c: test suite for flock.
45099
45100 2008-10-06  Jim Meyering  <meyering@redhat.com>
45101
45102         bootstrap: check for LT_INIT more portably still ;-)
45103         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
45104         Spotted by Bruno Haible.
45105
45106 2008-10-06  Eric Blake  <ebb9@byu.net>
45107
45108         test-signbit: avoid tripping Irix cc bug on -0.0L
45109         * tests/test-signbit.c (minus_zerol): Delete, and replace with
45110         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
45111         entire testsuite consistent and avoids an Irix 6.2 bug.
45112
45113 2008-10-05  Bruno Haible  <bruno@clisp.org>
45114             Jim Meyering  <jim@meyering.net>
45115
45116         Add an option for ignoring EPIPE during close_stdout.
45117         * lib/closeout.h: Include <stdbool.h>.
45118         (close_stdout_set_ignore_EPIPE): New declaration.
45119         * lib/closeout.c: Include <stdbool.h>.
45120         (ignore_EPIPE): New variable.
45121         (close_stdout_set_ignore_EPIPE): New function.
45122         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
45123         * lib/close-stream.c (close_stream): Mention the possible EPIPE
45124         failure.
45125         * modules/closeout (Depends-on): Add stdbool.
45126
45127 2008-10-05  Bruno Haible  <bruno@clisp.org>
45128
45129         * modules/accept: New file.
45130         * modules/bind: New file.
45131         * modules/connect: New file.
45132         * modules/getpeername: New file.
45133         * modules/getsockname: New file.
45134         * modules/getsockopt: New file.
45135         * modules/listen: New file.
45136         * modules/recv: New file.
45137         * modules/recvfrom: New file.
45138         * modules/send: New file.
45139         * modules/sendto: New file.
45140         * modules/setsockopt: New file.
45141         * modules/socket: New file.
45142         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
45143         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
45144         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
45145         the particular module is requested. Add a link warning when the
45146         particular module is not requested.
45147         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
45148         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
45149         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
45150         the particular module is requested.
45151         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
45152         gl_SYS_SOCKET_H_DEFAULTS): New macros.
45153         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
45154         * modules/sys_socket (Depends-on): Add link-warning.
45155         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
45156         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
45157         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
45158         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
45159         GL_LINK_WARNING.
45160         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
45161         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
45162         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
45163         * doc/posix-functions/getpeername.texi: Mention the new module
45164         'getpeername'.
45165         * doc/posix-functions/getsockname.texi: Mention the new module
45166         'getsockname'.
45167         * doc/posix-functions/getsockopt.texi: Mention the new module
45168         'getsockopt'.
45169         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
45170         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
45171         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
45172         * doc/posix-functions/send.texi: Mention the new module 'send'.
45173         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
45174         * doc/posix-functions/setsockopt.texi: Mention the new module
45175         'setsockopt'.
45176         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
45177         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
45178         listen, connect, accept.
45179         * modules/select-tests (Depends-on): Likewise.
45180
45181 2008-10-05  Bruno Haible  <bruno@clisp.org>
45182
45183         * lib/winsock.c (strerror): Remove unused #undef.
45184         (rpl_close): Remove unused local variable.
45185
45186         * modules/sys_socket (Depends-on); Add errno.
45187
45188 2008-10-05  Bruno Haible  <bruno@clisp.org>
45189
45190         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
45191         (select): Add a link warning when the 'select' module is not used.
45192         * modules/sys_select (Depends-on): Add link-warning.
45193         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
45194         Suggested by Paolo Bonzini.
45195
45196 2008-10-05  Jim Meyering  <meyering@redhat.com>
45197
45198         bootstrap: check for LT_INIT more portably
45199         * build-aux/bootstrap: Avoid using grep -E, since it's not
45200         portable enough.  Suggestion from Bruno Haible.
45201
45202 2008-10-05  Bruno Haible  <bruno@clisp.org>
45203
45204         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
45205         as being fixed by gnulib.
45206
45207 2008-10-05  Bruno Haible  <bruno@clisp.org>
45208
45209         * modules/select-tests: New file, mostly copied from
45210         modules/sys_select-tests.
45211         * tests/test-select.c: New file, mostly copied from
45212         tests/test-sys_select.c.
45213         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
45214         * modules/sys_select-tests (Depends-on): Remove all dependencies.
45215         (Makefile.am): Remove test_sys_select_LDADD.
45216
45217         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
45218         to an undefined symbol, for an error message.
45219         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
45220         (gl_SYS_SELECT_H_DEFAULTS): New macro.
45221         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
45222         winsock-select.c here.
45223         * modules/sys_select (Files): Remove lib/winsock-select.c.
45224         (Depends-on): Remove alloca.
45225         (Makefile.am): Substitute GNULIB_SELECT.
45226         * modules/select: New file.
45227         * doc/posix-functions/select.texi: Update.
45228
45229 2008-10-05  Bruno Haible  <bruno@clisp.org>
45230
45231         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
45232         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
45233         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
45234         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
45235         getdtablesize.
45236         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
45237         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
45238
45239 2008-10-05  Bruno Haible  <bruno@clisp.org>
45240
45241         * modules/getdtablesize-tests: New file.
45242         * tests/test-getdtablesize.c: New file.
45243
45244         New module 'getdtablesize'.
45245         * lib/unistd.in.h (getdtablesize): New declaration.
45246         * lib/getdtablesize.c: New file.
45247         * m4/getdtablesize.m4: New file.
45248         * modules/getdtablesize: New file.
45249         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45250         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
45251         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
45252         HAVE_GETDTABLESIZE.
45253         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
45254
45255 2008-10-05  Bruno Haible  <bruno@clisp.org>
45256
45257         * modules/sched (Makefile.am): Fix typo.
45258         Reported by Simon Josefsson.
45259
45260 2008-10-05  Jim Meyering  <meyering@redhat.com>
45261
45262         bootstrap: check for LT_INIT, too
45263         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
45264         are deprecated.  Suggestion from Ralf Wildenhues.
45265
45266 2008-10-05  Bruno Haible  <bruno@clisp.org>
45267
45268         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
45269         overriding them by ours.
45270         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
45271
45272 2008-10-05  Jim Meyering  <meyering@redhat.com>
45273
45274         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
45275         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
45276         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
45277
45278 2008-10-04  Bruno Haible  <bruno@clisp.org>
45279
45280         * modules/dup2 (License): Change to LGPLv2+.
45281         * modules/sleep (License): Likewise.
45282         * modules/perror (License): Likewise.
45283         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
45284         Blake.
45285         * modules/signal (License): Likewise.
45286         * modules/sigprocmask (License): Likewise.
45287         * modules/raise (License): Change to LGPLv2+, with approval by Jim
45288         Meyering.
45289
45290 2008-10-04  Bruno Haible  <bruno@clisp.org>
45291
45292         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
45293         Reported by Rainer Tammer <tammer@tammer.net>.
45294
45295 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
45296             Bruno Haible  <bruno@clisp.org>
45297
45298         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
45299         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
45300         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
45301
45302 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
45303
45304         filevercmp: new module
45305         * lib/filevercmp.h: New function filevercmp comparing version strings.
45306         * lib/filevercmp.c: Implementation of filevercmp function.
45307         * modules/filevercmp: Module metadata.
45308         * tests/test-filevercmp.c: Unit test for new module.
45309         * modules/filevercmp-tests: Unit test metadata.
45310         * MODULES.html.sh: Add filevercmp module.
45311
45312 2008-10-03  Bruno Haible  <bruno@clisp.org>
45313
45314         * lib/c-ctype.h: Add comment.
45315         Reported by Jim Meyering.
45316
45317 2008-10-02  Bruno Haible  <bruno@clisp.org>
45318
45319         * modules/posix_spawn-internal (Depends-on): Add 'open'.
45320
45321 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45322
45323         * build-aux/bootstrap: Allow renaming bootstrap, and change the
45324         name of bootstrap.conf accordingly.
45325
45326 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45327
45328         * build-aux/bootstrap: Install git-merge-changelog configuration
45329         items into .gitconfig if needed.
45330
45331 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45332
45333         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
45334         git repository, and initialize/update it accordingly.
45335
45336 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
45337
45338         * modules/fsync-tests: New file.
45339         * tests/test-fsync.c: New file.
45340
45341         New module 'fsync'.
45342         * lib/fsync.c: New file.
45343         * m4/fsync.m4: New file.
45344         * modules/fsync: New file.
45345         * lib/unistd.in.h (fsync): New declaration.
45346         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
45347         GNULIB_FSYNC and HAVE_FSYNC.
45348         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
45349         * MODULES.html.sh (posix_functions): Add fsync.
45350         * doc/posix-functions/fsync.texi: Mention the new module.
45351
45352 2008-10-02  Jim Meyering  <meyering@redhat.com>
45353
45354         fts.c: sync with similar code from coreutils' remove.c
45355         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
45356         Guard also with "#if defined __linux__", since for now at least,
45357         this code is Linux-kernel-specific.
45358
45359 2008-10-02  Jim Meyering  <meyering@redhat.com>
45360
45361         fts: bug fixes
45362         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
45363         Include <sys/vfs.h>, not <sys/statfs.h>.
45364
45365         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
45366         Include <sys/vfs.h>, not <sys/statfs.h>.
45367
45368 2008-10-01  Bruno Haible  <bruno@clisp.org>
45369
45370         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
45371         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
45372         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
45373         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
45374         * doc/posix-functions/posix_spawnp.texi: Likewise.
45375         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
45376         whether posix_spawn actually works.
45377         * m4/pipe.m4 (gl_PIPE): Likewise.
45378         * modules/execute (Files): Add m4/posix_spawn.m4.
45379         * modules/pipe (Files): Add m4/posix_spawn.m4.
45380         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
45381
45382 2008-10-01  Jim Meyering  <meyering@redhat.com>
45383
45384         remove trailing spaces
45385         * NEWS: Likewise.
45386         * lib/poll.c (poll): Likewise.
45387         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
45388         * lib/winsock.c (rpl_close): Likewise.
45389         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
45390         * modules/yield: Likewise.
45391         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
45392         * tests/test-sys_select.c (connect_to_socket): Likewise.
45393
45394         fts.c: adjust a new interface to be more generally useful
45395         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
45396         (fts_build): Adjust caller.
45397
45398 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45399
45400         * modules/cond-tests: New file.
45401         * tests/test-cond.c: New file.
45402
45403 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45404             Bruno Haible  <bruno@clisp.org>
45405
45406         * modules/cond (Dependencies): Add errno, time.
45407         * lib/glthread/cond.h: Include <time.h>.
45408         (gl_cond_define, gl_cond_define_initialized): Use the same definition
45409         across platforms.
45410
45411 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45412             Bruno Haible  <bruno@clisp.org>
45413
45414         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
45415
45416 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45417             Bruno Haible  <bruno@clisp.org>
45418
45419         * modules/tls-tests (Depends-on): Add thread, yield.
45420         (configure.ac): Remove all checks.
45421         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
45422         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45423         gl_thread_self): Remove definitions. Include glthread/thread.h and
45424         glthread/yield.h instead.
45425         (test_tls): Pass an additional NULL argument to gl_thread_join.
45426
45427 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45428             Bruno Haible  <bruno@clisp.org>
45429
45430         * modules/lock-tests (Depends-on): Add thread, yield.
45431         (configure.ac): Remove all checks.
45432         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
45433         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45434         gl_thread_self): Remove definitions. Include glthread/thread.h and
45435         glthread/yield.h instead.
45436         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
45437         additional NULL argument to gl_thread_join.
45438
45439 2008-09-30  Bruno Haible  <bruno@clisp.org>
45440
45441         Fix the Win32 implementation of the 'thread' module.
45442         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
45443         pointer type.
45444         (gl_thread_self): Invoke gl_thread_self_func.
45445         (gl_thread_self_func): New declaration.
45446         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
45447         (do_init_self_key, init_self_key): New functions.
45448         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
45449         Remove some fields.
45450         (running_threads, running_lock): Remove variables.
45451         (get_current_thread_handle): New function.
45452         (gl_thread_self_func, wrapper_func, glthread_create_func,
45453         glthread_join_func, gl_thread_exit_func): Largely rewritten and
45454         simplified.
45455
45456 2008-09-30  Bruno Haible  <bruno@clisp.org>
45457
45458         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
45459         files.
45460
45461 2008-09-30  Jim Meyering  <meyering@redhat.com>
45462
45463         fts.m4: correct the test for statfs.f_type
45464         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
45465         when checking for statfs.f_type.
45466
45467 2008-09-15  Simon Josefsson  <simon@josefsson.org>
45468
45469         tests: avoid some compiler warnings
45470         * tests/test-memchr.c (main): Pass NULL indirectly.
45471         * tests/test-getdate.c (main): Remove unused variable 'ret'.
45472
45473 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
45474
45475         getdate.y: disallow countable dayshifts like "4 yesterday ago"
45476         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
45477         exactly specified dayshifts.
45478         (dayshift): New rule.
45479         (rel): Add dayshift.
45480         (relative_time_table) [tomorrow, yesterday, today, now]:
45481         Use tDAY_SHIFT in place of tDAY_UNIT.
45482         * tests/test-getdate.c: Add tests for now-disallowed countable
45483         dayshifts, e.g., "4 yesterday ago".
45484
45485 2008-09-29  Bruno Haible  <bruno@clisp.org>
45486
45487         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
45488         * tests/test-posix_spawn1.in.sh: Renamed from
45489         tests/test-posix_spawn.in.sh.
45490         * tests/test-posix_spawn2.c: New file.
45491         * tests/test-posix_spawn2.in.sh: New file.
45492         * modules/posix_spawnp-tests (Files): Update.
45493         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
45494
45495 2008-09-29  Bruno Haible  <bruno@clisp.org>
45496
45497         Propagate effects of putenv/setenv/unsetenv to child processes.
45498         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
45499         * lib/pipe.c (create_pipe): Likewise.
45500
45501 2008-09-29  Bruno Haible  <bruno@clisp.org>
45502
45503         Enable use of shell scripts as executables in mingw.
45504         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
45505         run the program as a shell script.
45506         * lib/pipe.c (create_pipe): Likewise.
45507         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
45508         resulting array.
45509
45510 2008-09-29  Eric Blake  <ebb9@byu.net>
45511
45512         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
45513
45514 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
45515
45516         * doc/posix-functions/accept.texi: Update mingw problems.
45517         * doc/posix-functions/bind.texi: Update mingw problems.
45518         * doc/posix-functions/close.texi: Update mingw problems.
45519         * doc/posix-functions/connect.texi: Update mingw problems.
45520         * doc/posix-functions/getpeername.texi: Update mingw problems.
45521         * doc/posix-functions/getsockname.texi: Update mingw problems.
45522         * doc/posix-functions/getsockopt.texi: Update mingw problems.
45523         * doc/posix-functions/ioctl.texi: Update mingw problems.
45524         * doc/posix-functions/listen.texi: Update mingw problems.
45525         * doc/posix-functions/recv.texi: Update mingw problems.
45526         * doc/posix-functions/recvfrom.texi: Update mingw problems.
45527         * doc/posix-functions/select.texi: Update mingw problems.
45528         * doc/posix-functions/send.texi: Update mingw problems.
45529         * doc/posix-functions/sendto.texi: Update mingw problems.
45530         * doc/posix-functions/setsockopt.texi: Update mingw problems.
45531         * doc/posix-functions/socket.texi: Update mingw problems.
45532
45533 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
45534             Bruno Haible  <bruno@clisp.org>
45535
45536         * lib/sys_select.in.h: Include sys/time.h.
45537         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
45538         * modules/sys_select: Depend on sys_time.
45539         * tests/test-sys_select.c: Test that sys/select.h defines struct
45540         timeval fully.
45541
45542 2008-09-29  Bruno Haible  <bruno@clisp.org>
45543
45544         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
45545         * lib/sys_select.in.h: Likewise.
45546
45547 2008-09-29  Bruno Haible  <bruno@clisp.org>
45548
45549         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
45550
45551 2008-09-29  Bruno Haible  <bruno@clisp.org>
45552
45553         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
45554         Set LIBSOCKET instead of augmenting LIBS.
45555         * modules/sockets (Link): New section.
45556         * modules/sockets-tests (test_sockets_LDADD): New variable.
45557         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
45558         * modules/poll-tests (test_poll_LDADD): New variable.
45559         * NEWS: Document the change.
45560
45561 2008-09-29  Bruno Haible  <bruno@clisp.org>
45562
45563         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
45564         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
45565         ARPA_INET_H directly.
45566         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
45567
45568 2008-09-28  Bruno Haible  <bruno@clisp.org>
45569
45570         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
45571         from gl_HEADER_SYS_SOCKET.
45572         (gl_HEADER_SYS_SOCKET): Invoke it.
45573         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
45574
45575 2008-09-28  Bruno Haible  <bruno@clisp.org>
45576
45577         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
45578         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
45579         Needed on OSF/1 4.0.
45580
45581 2008-09-28  Bruno Haible  <bruno@clisp.org>
45582
45583         Override open more carefully.
45584         * lib/open.c (orig_open): New function.
45585         (rpl_open): Use orig_open instead of open.
45586         * lib/fcntl.in.h: Add special invocation convention.
45587         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
45588         (gl_FUNC_OPEN): Invoke it.
45589
45590         Override freopen more carefully.
45591         * lib/freopen.c (orig_freopen): New function.
45592         (rpl_freopen): Use orig_freopen instead of freopen.
45593         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
45594         (gl_FUNC_FREOPEN): Invoke it.
45595
45596         Override fopen more carefully.
45597         * lib/fopen.c (orig_fopen): New function.
45598         (rpl_fopen): Use orig_fopen instead of fopen.
45599         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
45600         (gl_FUNC_FOPEN): Invoke it.
45601         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
45602
45603 2008-09-28  Bruno Haible  <bruno@clisp.org>
45604
45605         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
45606         SIGPIPE.
45607
45608 2008-09-28  Bruno Haible  <bruno@clisp.org>
45609
45610         * tests/test-sigaction.c (handler, main): Disable the check whether
45611         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
45612         glibc systems with LinuxThreads.
45613
45614 2008-09-28  Bruno Haible  <bruno@clisp.org>
45615
45616         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
45617
45618         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
45619         with AIX xlc.
45620         * lib/fcntl.in.h (open): Likewise.
45621         Reported by Rainer Tammer <tammer@tammer.net>.
45622
45623 2008-09-28  Bruno Haible  <bruno@clisp.org>
45624
45625         * modules/posix_spawnp-tests: New file.
45626         * tests/test-posix_spawn.c: New file.
45627         * tests/test-posix_spawn.in.sh: New file.
45628
45629         New module 'posix_spawnp'.
45630         * modules/posix_spawnp: New file.
45631         * lib/spawnp.c: New file, from GNU libc with modifications.
45632         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
45633
45634         New module 'posix_spawn'.
45635         * modules/posix_spawn: New file.
45636         * lib/spawn.c: New file, from GNU libc with modifications.
45637         * doc/posix-functions/posix_spawn.texi: Mention the new module.
45638
45639         New module 'posix_spawnattr_destroy'.
45640         * modules/posix_spawnattr_destroy: New file.
45641         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
45642         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
45643         module.
45644
45645         New module 'posix_spawnattr_setsigmask'.
45646         * modules/posix_spawnattr_setsigmask: New file.
45647         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
45648         modifications.
45649         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
45650         new module.
45651
45652         New module 'posix_spawnattr_getsigmask'.
45653         * modules/posix_spawnattr_getsigmask: New file.
45654         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
45655         modifications.
45656         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
45657         new module.
45658
45659         New module 'posix_spawnattr_setsigdefault'.
45660         * modules/posix_spawnattr_setsigdefault: New file.
45661         * lib/spawnattr_setdefault.c: New file, from GNU libc with
45662         modifications.
45663         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
45664         new module.
45665
45666         New module 'posix_spawnattr_getsigdefault'.
45667         * modules/posix_spawnattr_getsigdefault: New file.
45668         * lib/spawnattr_getdefault.c: New file, from GNU libc with
45669         modifications.
45670         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
45671         new module.
45672
45673         New module 'posix_spawnattr_setschedpolicy'.
45674         * modules/posix_spawnattr_setschedpolicy: New file.
45675         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
45676         modifications.
45677         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
45678         new module.
45679
45680         New module 'posix_spawnattr_getschedpolicy'.
45681         * modules/posix_spawnattr_getschedpolicy: New file.
45682         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
45683         modifications.
45684         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
45685         new module.
45686
45687         New module 'posix_spawnattr_setschedparam'.
45688         * modules/posix_spawnattr_setschedparam: New file.
45689         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
45690         modifications.
45691         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
45692         new module.
45693
45694         New module 'posix_spawnattr_getschedparam'.
45695         * modules/posix_spawnattr_getschedparam: New file.
45696         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
45697         modifications.
45698         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
45699         new module.
45700
45701         New module 'posix_spawnattr_setpgroup'.
45702         * modules/posix_spawnattr_setpgroup: New file.
45703         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
45704         modifications.
45705         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
45706         module.
45707
45708         New module 'posix_spawnattr_getpgroup'.
45709         * modules/posix_spawnattr_getpgroup: New file.
45710         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
45711         modifications.
45712         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
45713         module.
45714
45715         New module 'posix_spawnattr_setflags'.
45716         * modules/posix_spawnattr_setflags: New file.
45717         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
45718         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
45719         module.
45720
45721         New module 'posix_spawnattr_getflags'.
45722         * modules/posix_spawnattr_getflags: New file.
45723         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
45724         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
45725         module.
45726
45727         New module 'posix_spawnattr_init'.
45728         * modules/posix_spawnattr_init: New file.
45729         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
45730         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
45731         module.
45732
45733         New module 'posix_spawn_file_actions_destroy'.
45734         * modules/posix_spawn_file_actions_destroy: New file.
45735         * lib/spawn_faction_destroy.c: New file, from GNU libc with
45736         modifications.
45737         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
45738         the new module.
45739
45740         New module 'posix_spawn_file_actions_addopen'.
45741         * modules/posix_spawn_file_actions_addopen: New file.
45742         * lib/spawn_faction_addopen.c: New file, from GNU libc with
45743         modifications.
45744         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
45745         the new module.
45746
45747         New module 'posix_spawn_file_actions_adddup2'.
45748         * modules/posix_spawn_file_actions_adddup2: New file.
45749         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
45750         modifications.
45751         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
45752         the new module.
45753
45754         New module 'posix_spawn_file_actions_addclose'.
45755         * modules/posix_spawn_file_actions_addclose: New file.
45756         * lib/spawn_faction_addclose.c: New file, from GNU libc with
45757         modifications.
45758         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
45759         the new module.
45760
45761         New module 'posix_spawn_file_actions_init'.
45762         * modules/posix_spawn_file_actions_init: New file.
45763         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
45764         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
45765         new module.
45766
45767         New module 'posix_spawn-internal'.
45768         * modules/posix_spawn-internal: New file.
45769         * lib/spawn_int.h: New file, from GNU libc with modifications.
45770         * lib/spawni.c: New file, from GNU libc with modifications.
45771         * m4/posix_spawn.m4: New file.
45772
45773         New module 'spawn'.
45774         * modules/spawn: New file.
45775         * lib/spawn.in.h: New file, from GNU libc with modifications.
45776         * m4/spawn_h.m4: New file.
45777         * doc/posix-headers/spawn.texi: Mention the new module.
45778
45779 2008-09-28  Bruno Haible  <bruno@clisp.org>
45780
45781         * modules/sched-tests: New file.
45782         * tests/test-sched.c: New file.
45783
45784         New module 'sched'.
45785         * modules/sched: New file.
45786         * lib/sched.in.h: New file.
45787         * m4/sched_h.m4: New file.
45788         * doc/posix-headers/sched.texi: Mention the new module.
45789
45790 2008-09-27  Eric Blake  <ebb9@byu.net>
45791
45792         Fix previous patch, and tweak references to $0.
45793         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
45794         (func_version, func_gnulib_dir): Don't call this program
45795         gnulib-tool.
45796         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
45797         with using $0 in function.
45798         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
45799         (func_fatal_error): Reuse the name the user invoked us with.
45800
45801 2008-09-27  Bruno Haible  <bruno@clisp.org>
45802
45803         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
45804         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
45805         (gl_ICONV_H): Not here.
45806         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
45807         instead of assigning ICONV_H directly.
45808
45809         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
45810         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
45811         WCHAR_H directly.
45812
45813 2008-09-27  Bruno Haible  <bruno@clisp.org>
45814
45815         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
45816         * modules/arpa_inet (Depends-on): Add link-warning.
45817         (Makefile.am): Insert the definition of GL_LINK-WARNING.
45818         * modules/unistd (Makefile.am): Likewise.
45819
45820 2008-09-26  Bruno Haible  <bruno@clisp.org>
45821
45822         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
45823         variables.
45824         (func_version): Essentially copied from gnulib-tool.
45825         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
45826         func_readlink): Copied from gnulib-tool.
45827
45828 2008-09-26  Bruno Haible  <bruno@clisp.org>
45829
45830         * gnulib-tool (func_version): Change directory to $gnulib_dir before
45831         invoking git-version-gen.
45832
45833 2008-09-26  Bruno Haible  <bruno@clisp.org>
45834
45835         * posix-modules: Update to directory names changed on 2008-01-19.
45836         Remove commas in output before splitting into words. No more need to
45837         avoid 'ftruncate' since 2007-02-19.
45838
45839 2008-09-26  Bruno Haible  <bruno@clisp.org>
45840
45841         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
45842
45843 2008-09-26  Bruno Haible  <bruno@clisp.org>
45844
45845         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
45846         * modules/fwriteerror (Depends-on): Add errno.
45847
45848 2008-09-26  Bruno Haible  <bruno@clisp.org>
45849
45850         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
45851         * tests/test-vc-list-files-cvs.sh: Likewise.
45852
45853 2008-09-26  Bruno Haible  <bruno@clisp.org>
45854
45855         * doc/posix-headers/sys_resource.texi: Reorder items.
45856
45857 2008-09-26  Jim Meyering  <meyering@redhat.com>
45858
45859         fts: tweak inode comparison function
45860         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
45861         inode numbers, as documented.
45862
45863         fts: sort dirent entries on inode number before traversing
45864         This avoids a quadratic, seek-related performance penalty when
45865         operating on a directory containing many entries (measurable at 10k;
45866         3.5 hours at 2 million entries with a cold cache) on certain types
45867         of file systems, including ext3 and ext4, but not tmpfs.
45868         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
45869         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
45870         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
45871         (fs_handles_readdir_ordered_dirents_efficiently): New function.
45872         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
45873         (fts_build): Set the stat.st_ino member from D_INO.
45874         If it is likely to be useful, sort dirent entries on inode number.
45875
45876         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
45877         and the struct statfs.f_type member.
45878         * modules/fts (Depends-on): Add d-ino.
45879
45880 2008-09-26  Bruno Haible  <bruno@clisp.org>
45881
45882         * modules/sigpipe-die (Depends-on): Add sigpipe.
45883
45884         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
45885         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
45886         and GNULIB_STDIO_H_SIGPIPE are set.
45887         * lib/stdio-write.c: New file.
45888         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
45889         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
45890         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
45891         REPLACE_STDIO_WRITE_FUNCS.
45892         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
45893         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
45894         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
45895         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
45896         * modules/stdio (Files): Add lib/stdio-write.c.
45897         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
45898         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
45899         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
45900         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
45901         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
45902         REPLACE_FPRINTF_POSIX.
45903         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
45904         REPLACE_PRINTF_POSIX.
45905         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
45906         REPLACE_VFPRINTF_POSIX.
45907         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
45908         REPLACE_VPRINTF_POSIX.
45909         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
45910         SIGPIPE issue.
45911         * doc/posix-functions/fputc.texi: Likewise.
45912         * doc/posix-functions/fputs.texi: Likewise.
45913         * doc/posix-functions/fwrite.texi: Likewise.
45914         * doc/posix-functions/printf.texi: Likewise.
45915         * doc/posix-functions/putc.texi: Likewise.
45916         * doc/posix-functions/putchar.texi: Likewise.
45917         * doc/posix-functions/puts.texi: Likewise.
45918         * doc/posix-functions/vfprintf.texi: Likewise.
45919         * doc/posix-functions/vprintf.texi: Likewise.
45920
45921         * modules/safe-write (Depends-on): Add write.
45922
45923         * modules/sigpipe-tests: New file.
45924         * tests/test-sigpipe.c: New file.
45925         * tests/test-sigpipe.sh: New file.
45926
45927         * modules/write: New file.
45928         * lib/unistd.in.h: Include <sys/types.h>.
45929         (write): New declaration.
45930         * lib/write.c: New file.
45931         * m4/write.m4: New file.
45932         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45933         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
45934         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
45935         GNULIB_WRITE, REPLACE_WRITE.
45936         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
45937         and the SIGPIPE issue.
45938
45939         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
45940         (raise): New declaration.
45941         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
45942         (ext_signal): New function.
45943         (rpl_raise): New function.
45944         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
45945         GNULIB_SIGNAL_H_SIGPIPE.
45946         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
45947         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
45948
45949         * modules/sigpipe: New file.
45950         * m4/sigpipe.m4: New file.
45951
45952 2008-09-25  Derek Price  <derek@ximbiot.com>
45953             Bruno Haible  <bruno@clisp.org>
45954
45955         * gnulib-tool (func_import): Report all license incompatibilities, not
45956         just the first one.
45957
45958 2008-09-25  Bruno Haible  <bruno@clisp.org>
45959
45960         * gnulib-tool (func_import): When computing the edits, consider not
45961         only the Makefile.ams that exist but also those that will be generated.
45962
45963 2008-09-25  Simon Josefsson  <simon@josefsson.org>
45964
45965         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
45966         fixes gnulib-tool --test warning about duplicate dependency.
45967
45968 2008-09-25  Bruno Haible  <bruno@clisp.org>
45969
45970         * gnulib-tool: Don't ask the user to perform edits in the generated
45971         Makefile.ams.
45972         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
45973         apply to the Makefile.am being generated.
45974         (func_emit_tests_Makefile_am): Execute edits that apply to the
45975         Makefile.am being generated.
45976         (func_import): Setup list of Makefile.am edits before emitting the
45977         Makefile.ams, not at the end.
45978         (func_create_testdir): Update.
45979         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45980
45981 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45982
45983         * gnulib-tool (func_import): Store the --tests-base option in the
45984         comment in gnulib-cache.m4.
45985
45986 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
45987
45988         * NEWS: Document increased portability that sys_select now provides.
45989
45990         * lib/sys_select.in.h: Install select wrapper.
45991         * lib/sys_socket.in.h: Use more descriptive name when there is no
45992         select wrapper.
45993         * lib/winsock-select.c: New.
45994         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
45995         Require gl_HEADER_SYS_SOCKET.
45996         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
45997         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
45998         * tests/test-sys_select.c: Add functional tests.
45999
46000 2008-09-24  Eric Blake  <ebb9@byu.net>
46001
46002         open, fopen: close fd leak in last patch
46003         * lib/open.c (rpl_open): Close fd before returning error.
46004         * lib/fopen.c (rpl_fopen): Close fd before returning error.
46005         * doc/posix-functions/open.texi (open): Document that Irix also
46006         has the bug.
46007         * doc/posix-functions/fopen.texi (fopen): Likewise.
46008         Reported by Paolo Bonzini.
46009
46010 2008-09-24  Bruno Haible  <bruno@clisp.org>
46011
46012         Ensure that a filename ending in a slash cannot be used to access a
46013         non-directory.
46014         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
46015         to check whether it's really a directory.
46016         * lib/fopen.c: Include fcntl.h, unistd.h.
46017         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
46018         and fdopen().
46019         * modules/fopen (Depends-on): Add unistd.
46020         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
46021         * tests/test-fopen.c (main): Likewise.
46022         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
46023         * doc/posix-functions/fopen.texi: Likewise.
46024         Reported by Eric Blake.
46025
46026 2008-09-23  Eric Blake  <ebb9@byu.net>
46027
46028         c-stack: avoid compiler optimizations when provoking overflow
46029         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
46030         recursion harder to optimize, to ensure a stack overflow occurs.
46031         * tests/test-c-stack.c (recurse): Likewise.
46032         Borrowed from libsigsegv.
46033
46034         c-stack: work around Irix sigaltstack bug
46035         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
46036         whether sigaltstack uses wrong end of stack_t (copied in part from
46037         libsigsegv).
46038         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
46039         Irix bug, without requiring an over-allocation.
46040         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
46041         bug.
46042
46043         fopen: document mingw bug on directories
46044         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
46045         not allowing a stream visiting a directory, even though reading
46046         from such a stream is not portable.
46047
46048 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46049
46050         * lib/poll.c: Rewrite.
46051         * modules/poll: Depend on alloca.
46052
46053 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46054
46055         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
46056         instead define prototypes for a full set of wrappers.  Ensure
46057         that Cygwin does not use the compatibility code, which is only
46058         for MinGW.
46059         * lib/winsock.c: New.
46060         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
46061         * modules/sys_socket: Add lib/winsock.c.
46062
46063         * modules/poll-tests: Add errno and perror.
46064         * tests/test-poll.c: Use ioctl, not ioctlsocket.
46065
46066 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46067
46068         * tests/test-poll.c: Downgrade minimum needed Winsock version.
46069
46070 2008-09-23  Bruno Haible  <bruno@clisp.org>
46071
46072         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
46073         * doc/glibc-functions/*: Likewise.
46074
46075 2008-09-23  Simon Josefsson  <simon@josefsson.org>
46076
46077         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
46078         success.
46079
46080 2008-09-22  Eric Blake  <ebb9@byu.net>
46081             Bruno Haible  <bruno@clisp.org>
46082
46083         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
46084         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
46085         supply %A but mishandle pseudo-NaN.
46086         Reported by Simon Josefsson.
46087
46088 2008-09-21  Bruno Haible  <bruno@clisp.org>
46089
46090         * tests/test-lock.c (main): Tweak skip message.
46091         * tests/test-tls.c (main): Likewise.
46092
46093 2008-09-21  Bruno Haible  <bruno@clisp.org>
46094
46095         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
46096         whether 'struct sigaction' has sa_sigaction here...
46097         (gl_PREREQ_SIG_HANDLER_H): ... not here.
46098         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
46099
46100 2008-09-21  Bruno Haible  <bruno@clisp.org>
46101
46102         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
46103         section.
46104         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
46105         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
46106         the new section.
46107         (Support for obsolete systems lacking POSIX:2001): New section.
46108         (String handling <string.h>): Move strdup to the new section.
46109         Suggested by Simon Josefsson and Paolo Bonzini.
46110
46111 2008-09-21  Bruno Haible  <bruno@clisp.org>
46112
46113         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
46114         exponents in %e and %g results on 'long double'. Needed for mingw's
46115         improved *printf functions.
46116         * tests/test-vasprintf-posix.c (test_function): Likewise.
46117         * tests/test-snprintf-posix.h (test_function): Likewise.
46118         * tests/test-sprintf-posix.h (test_function): Likewise.
46119         Reported by Eric Blake.
46120
46121 2008-09-21  Bruno Haible  <bruno@clisp.org>
46122
46123         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
46124         * tests/test-sprintf-posix.h (test_function): Likewise.
46125
46126 2008-09-21  Bruno Haible  <bruno@clisp.org>
46127
46128         * modules/getpass (Depends-on): Add strdup-posix.
46129
46130         New module 'strdup-posix'.
46131         * modules/strdup-posix: New file.
46132         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
46133         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
46134         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46135         REPLACE_STRDUP.
46136         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
46137         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
46138         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46139         strdup-posix.
46140
46141         * modules/strdup (Depends-on): Remove malloc-posix.
46142
46143 2008-09-20  Bruno Haible  <bruno@clisp.org>
46144
46145         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
46146         Wildenhues.
46147
46148 2008-09-20  Bruno Haible  <bruno@clisp.org>
46149
46150         Ensure that wint_t gets defined on IRIX 5.3.
46151         * lib/wchar.in.h (wint_t): Define if not defined by the system.
46152         * lib/wctype.in.h (wint_t): Likewise.
46153         (__wctype_wint_t): Remove type.
46154         (isw*): Use wint_t instead of __wctype_wint_t.
46155         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
46156         * modules/wchar (Files): Add m4/wint_t.m4.
46157         (Makefile.am): Substitute HAVE_WINT_T.
46158         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
46159         * tests/test-wctype.c: Check that wint_t is defined.
46160         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
46161         * doc/posix-headers/wctype.texi: Likewise.
46162         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46163
46164 2008-09-18  Bruno Haible  <bruno@clisp.org>
46165
46166         * gnulib-tool (func_exit): Update comment.
46167
46168 2008-09-18  Simon Josefsson  <simon@josefsson.org>
46169
46170         * modules/getaddrinfo (Depends-on): Remove strdup, this module
46171         assumes strdup exists and does not depend on strdup to return
46172         ENOMEM on out of memory conditions.
46173
46174 2008-09-18  Bruno Haible  <bruno@clisp.org>
46175
46176         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
46177         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
46178         digits for the exponent.
46179
46180 2008-09-18  Jim Meyering  <meyering@redhat.com>
46181             Bruno Haible  <bruno@clisp.org>
46182
46183         * lib/vasnprintf.c (decimal_point_char): Define also if
46184         NEED_PRINTF_INFINITE_LONG_DOUBLE.
46185
46186 2008-09-16  Bruno Haible  <bruno@clisp.org>
46187         and Eric Blake  <ebb9@byu.net>
46188
46189         vasnprintf: support Irix 5.3
46190         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
46191         that mishandle long double infinity.
46192         Reported by Tom G. Christensen.
46193
46194 2008-09-16  Bruno Haible  <bruno@clisp.org>
46195
46196         * doc/glibc-functions/scandir.texi: Mention the function is missing on
46197         Solaris 9.
46198         * doc/glibc-functions/alphasort.texi: Likewise.
46199         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
46200
46201 2008-09-16  Jim Meyering  <meyering@redhat.com>
46202
46203         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
46204         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
46205         a umask modification leak out of a subshell.  Otherwise, the
46206         opensolaris /bin/sh would be accepted and thus cause unwarranted
46207         failures in the coreutils test suite.
46208
46209 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
46210
46211         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
46212         to succeed.
46213
46214 2008-09-16  Jim Meyering  <meyering@redhat.com>
46215
46216         avoid spurious test failure when library is built without ACL support
46217         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
46218         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
46219         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
46220         * tests/test-copy-acl.sh: Likewise.
46221
46222 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46223
46224         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
46225         based on character occurrence counts.
46226
46227 2008-09-15  Eric Blake  <ebb9@byu.net>
46228
46229         tests: avoid some compiler warnings
46230         * tests/test-memchr.c (main): Pass NULL indirectly.
46231         * tests/test-closein.c (main): Avoid unused variable.
46232
46233 2008-09-15  Bruno Haible  <bruno@clisp.org>
46234
46235         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
46236         are missing on OpenBSD 4.0 individually.
46237         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46238
46239 2008-09-15  Bruno Haible  <bruno@clisp.org>
46240
46241         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
46242         * doc/posix-functions/strerror.texi: Mention also Cygwin.
46243         * doc/posix-functions/perror.texi: Likewise.
46244         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
46245         is missing.
46246         Reported by Eric Blake.
46247
46248         * lib/errno.in.h: Use replacement values >= 2000.
46249         Reported by Eric Blake.
46250
46251 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46252
46253         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
46254         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
46255         limit.
46256         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
46257         compareseq was aborted.
46258
46259 2008-09-14  Bruno Haible  <bruno@clisp.org>
46260
46261         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
46262         yvec_edit_count.
46263         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
46264         (fstrcmp_bounded): Simplify result computation accordingly.
46265
46266 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46267
46268         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
46269         (fstrcmp): Define in terms of fstrcmp_bounded.
46270         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
46271         lower_bound argument.
46272         Return quickly if the result is certainly < lower_bound.
46273         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
46274
46275 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46276
46277         * lib/diffseq.h (EARLY_ABORT): New macro.
46278         (compareseq): Change return type to bool. Return true when EARLY_ABORT
46279         evaluates to true.
46280
46281 2008-09-14  Bruno Haible  <bruno@clisp.org>
46282
46283         * modules/perror-tests: New file.
46284         * tests/test-perror.sh: New file.
46285         * tests/test-perror.c: New file.
46286
46287         New module 'perror'.
46288         * lib/stdio.in.h (perror): New declaration.
46289         * lib/perror.c: New file.
46290         * m4/perror.m4: New file.
46291         * modules/perror: New file.
46292         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
46293         * doc/posix-functions/perror.texi: Mention the perror module.
46294         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
46295         REPLACE_PERROR.
46296         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
46297         REPLACE_PERROR.
46298
46299 2008-09-14  Bruno Haible  <bruno@clisp.org>
46300
46301         * modules/stdio (Makefile.am): Reorder to match the order in
46302         lib/stdio.in.h.
46303         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46304
46305 2008-09-13  Bruno Haible  <bruno@clisp.org>
46306
46307         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
46308
46309 2008-09-13  Bruno Haible  <bruno@clisp.org>
46310
46311         Extend strerror to cover the added errno values.
46312         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
46313         (rpl_strerror): Provide error messages for the added errno values and
46314         for the WSA* values.
46315         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
46316         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
46317         strerror.
46318         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
46319         * modules/strerror (Depends-on): Add errno.
46320         * doc/posix-functions/strerror.texi: Document the change.
46321         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
46322         and EOVERFLOW.
46323
46324 2008-09-13  Bruno Haible  <bruno@clisp.org>
46325
46326         * modules/EOVERFLOW: Remove file.
46327         * m4/eoverflow.m4: Remove file.
46328         * modules/EOVERFLOW-tests: Remove file.
46329         * tests/test-EOVERFLOW.c: Remove file.
46330         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
46331         * modules/ftell (Depends-on): Likewise.
46332         * modules/getdelim (Depends-on): Likewise.
46333         * modules/getugroups (Depends-on): Likewise.
46334         * modules/poll (Depends-on): Likewise.
46335         * modules/snprintf (Depends-on): Likewise.
46336         * modules/sprintf-posix (Depends-on): Likewise.
46337         * modules/vasnprintf (Depends-on): Likewise.
46338         * modules/vasprintf (Depends-on): Likewise.
46339         * modules/vfprintf-posix (Depends-on): Likewise.
46340         * modules/vsnprintf (Depends-on): Likewise.
46341         * modules/vsprintf-posix (Depends-on): Likewise.
46342         * modules/xvasprintf (Depends-on): Likewise.
46343         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46344         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
46345         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
46346         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
46347         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46348         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
46349         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
46350         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
46351         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46352         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
46353         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
46354         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
46355         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46356         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
46357         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
46358         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
46359         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46360         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
46361         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
46362         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
46363         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46364         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
46365         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
46366         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
46367         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
46368         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46369         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
46370         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
46371         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
46372         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
46373         * MODULES.html.sh: Remove EOVERFLOW.
46374         * NEWS: Mention the change.
46375
46376 2008-09-13  Bruno Haible  <bruno@clisp.org>
46377
46378         * modules/errno-tests: New file.
46379         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
46380
46381         * lib/errno.in.h: New file.
46382         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
46383         * modules/errno: New file.
46384         * doc/posix-headers/errno.texi: Update documentation.
46385         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
46386
46387 2008-09-13  Bruno Haible  <bruno@clisp.org>
46388
46389         * tests/test-poll.c: Use #if for native Windows, rather than testing
46390         __MSVCRT__.
46391
46392 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46393             Bruno Haible  <bruno@clisp.org>
46394
46395         * lib/glob.c: Don't include <pwd.h> on native Windows.
46396         (WINDOWS32): New macro.
46397         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
46398
46399 2008-09-13  Bruno Haible  <bruno@clisp.org>
46400
46401         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
46402         (ETIMEDOUT): Remove macro.
46403         (glthread_cond_timedwait_multithreaded): New declaration.
46404         (glthread_cond_timedwait): Use it.
46405         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
46406         (glthread_cond_timedwait_multithreaded): New function.
46407
46408 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46409
46410         * modules/poll-tests: Do not check for io.h.
46411         * tests/test-poll.c: Check for __MSVCRT__ instead.
46412
46413 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46414
46415         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
46416         * modules/poll-tests: Add inet_pton, stdbool, sockets.
46417         * tests/test-poll.c: Use them.  Use _pipe on Windows.
46418
46419 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46420
46421         * modules/poll-tests: New.
46422         * tests/test-poll.c: New.
46423
46424 2008-09-12  Eric Blake  <ebb9@byu.net>
46425
46426         frexp: test for NetBSD failure on -0.0
46427         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
46428         not all, bugs from NetBSD 3.0 have been fixed.
46429         * doc/posix-functions/frexp.texi (frexp): Document bug.
46430         Reported by Thomas Klausner.
46431
46432         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
46433         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
46434         literal -0.0.
46435         Reported by Jonathan C. Patschke <jp@centtech.com>.
46436
46437 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46438
46439         * lib/glthread/cond.h: Use dummy implementation also if
46440         USE_WIN32_THREADS.
46441
46442 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46443
46444         * modules/fnmatch-posix (License): Change to LGPLv2+.
46445         * modules/fnmatch-gnu (License): Likewise.
46446
46447 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46448
46449         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
46450
46451 2008-09-11  Jim Meyering  <meyering@redhat.com>
46452
46453         * users.txt: Add gtk-vnc.
46454
46455 2008-09-08  Simon Josefsson  <simon@josefsson.org>
46456
46457         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
46458         rotate amounts.
46459
46460         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
46461         required for 16-bit and 8-bit rotates.
46462         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
46463         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
46464         UINT8_MAX instead of hard-coded constants.
46465         Suggested by Paul Eggert.
46466
46467 2008-09-07  Bruno Haible  <bruno@clisp.org>
46468
46469         * tests/test-striconveh.c (main): Check behaviour when converting from
46470         UTF-7.
46471
46472         Make striconveh work better with stateful encodings.
46473         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
46474         that iconv does not increment the inptr when returning -1/EINVAL.
46475
46476 2008-09-07  Bruno Haible  <bruno@clisp.org>
46477
46478         * build-aux/config.rpath: Update according to libtool-2.2.6.
46479         * build-aux/config.libpath: Likewise.
46480
46481 2008-09-06  Bruno Haible  <bruno@clisp.org>
46482
46483         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
46484         * lib/freadptr.c (freadptr): Likewise.
46485         * lib/freadseek.c (freadptrinc): Likewise.
46486         Reported by Simon Josefsson.
46487
46488 2008-09-06  Bruno Haible  <bruno@clisp.org>
46489
46490         * modules/freadptr (License): Change to LGPLv2+.
46491         * modules/freadseek (License): Likewise.
46492         Suggested by Eric Blake.
46493
46494         * modules/memchr2 (License): Change to LGPLv2+.
46495         Approved by Eric Blake.
46496
46497 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46498             Bruno Haible  <bruno@clisp.org>
46499
46500         Make gnulib-tool work with native 'sed' on AIX.
46501         * gnulib-tool (sed_noop): New variable.
46502         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
46503         func_add_or_update, func_create_testdir): Use it to initialize sed
46504         script variables.
46505         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46506
46507 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
46508             Bruno Haible  <bruno@clisp.org>
46509
46510         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
46511         also works after #include directives.
46512
46513 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
46514
46515         getdate.y: reject an out-of-range timezone value
46516         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
46517         the range [-24...+24].  When specified with only one or two digits,
46518         * tests/test-getdate.c: Tests for the fix.
46519         * doc/getdate.texi: Document this change.
46520
46521 2008-09-03  Bruno Haible  <bruno@clisp.org>
46522
46523         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
46524
46525 2008-09-02  Simon Josefsson  <simon@josefsson.org>
46526
46527         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
46528         <bruce.korb@gmail.com> with ideas from Ben Pfaff
46529         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
46530         Blake <ebb9@byu.net>.
46531
46532         * tests/test-bitrotate.c: Add more test vectors.
46533
46534 2008-09-02  Eric Blake  <ebb9@byu.net>
46535
46536         vasnprintf-posix: handle large precision via %.*d
46537         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
46538         when handling it ourselves.
46539         * tests/test-vasnprintf-posix.c (test_function): Add test.
46540         * tests/test-snprintf-posix.h (test_function): Likewise.
46541         * tests/test-sprintf-posix.h (test_function): Likewise.
46542         * tests/test-vasprintf-posix.c (test_function): Likewise.
46543         Reported by Alain Guibert.
46544
46545 2008-09-01  Eric Blake  <ebb9@byu.net>
46546
46547         c-stack: make configure-time check more robust
46548         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
46549         successful sigaction call.
46550         Reported by Tom G. Christensen.
46551
46552 2008-09-01  Bruno Haible  <bruno@clisp.org>
46553
46554         New module 'findprog-lgpl'.
46555         * modules/findprog-lgpl: New file.
46556         * lib/findprog-lgpl.c: New file.
46557         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
46558         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
46559         to decide whether to use strdup or xstrdup, concatenated_filename or
46560         xconcatenated_filename.
46561
46562 2008-09-01  Bruno Haible  <bruno@clisp.org>
46563
46564         Split module 'concat-filename' into 'concat-filename' (LGPL) and
46565         'xconcat-filename' (GPL).
46566         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
46567         (License): Change to LGPLv2+.
46568         * modules/xconcat-filename: New file.
46569         * lib/concat-filename.h (concatenated_filename): Change specification.
46570         (xconcatenated_filename): New declaration.
46571         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
46572         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
46573         memory situations.
46574         * lib/xconcat-filename.c: New file.
46575         * NEWS: Mention the change.
46576         * lib/findprog.c: Include concat-filename.h, not filename.h.
46577         (find_in_path): Use xconcatenated_filename instead of
46578         concatenated_filename.
46579         * lib/javacomp.c: Include concat-filename.h, not filename.h.
46580         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
46581         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
46582         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
46583         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
46584         instead of concatenated_filename.
46585         * lib/javaexec.c: Include concat-filename.h, not filename.h.
46586         (execute_java_class): Use xconcatenated_filename instead of
46587         concatenated_filename.
46588         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
46589         * modules/javacomp (Depends-on): Likewise.
46590         * modules/javaexec (Depends-on): Likewise.
46591
46592 2008-09-01  Bruno Haible  <bruno@clisp.org>
46593
46594         Split module 'filename' into 'filename' and 'concat-filename'.
46595         * modules/filename: Keep only lib/filename.h.
46596         (License): Change to LGPLv2+.
46597         * modules/concat-filename: New file, extracted from modules/filename.
46598         * lib/filename.h (concatenated_filename): Remove declaration.
46599         * lib/concat-filename.h: New file, extracted from lib/filename.h.
46600         * lib/concat-filename.c: Include concat-filename.h.
46601         * NEWS: Mention the change.
46602
46603 2008-09-01  Simon Josefsson  <simon@josefsson.org>
46604
46605         * lib/bitrotate.h (rotl8, rotr8): Add.
46606
46607         * modules/bitrotate (configure.ac): Need
46608         AC_REQUIRE([AC_C_INLINE]).
46609         (Description): Mention stdint.h.  Reported by Bruno Haible
46610         <bruno@clisp.org>.
46611
46612         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
46613         Paolo Bonzini <bonzini@gnu.org>.
46614
46615 2008-08-31  Bruno Haible  <bruno@clisp.org>
46616
46617         Assume Solaris specific bi-arch conventions on Solaris systems.
46618         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
46619         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
46620         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
46621         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
46622         like acl_libdirstem.
46623         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
46624         acl_libdirstem.
46625         * NEWS: Mention the change.
46626         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
46627
46628 2008-08-31  Jim Meyering  <meyering@redhat.com>
46629
46630         * lib/strftime.h: Add comments describing the two added arguments.
46631
46632         remove duplicate #include directives
46633         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
46634         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
46635
46636 2008-08-31  Bruno Haible  <bruno@clisp.org>
46637
46638         New module 'sigpipe-die'.
46639         * modules/sigpipe-die: New file.
46640         * lib/sigpipe-die.h: New file.
46641         * lib/sigpipe-die.c: New file.
46642         * MODULES.html.sh (Signal handling): Add sigpipe-die.
46643
46644 2008-08-31  Bruno Haible  <bruno@clisp.org>
46645
46646         Don't override previously installed signal handlers.
46647         * lib/fatal-signal.c (saved_sigactions): New variable.
46648         (uninstall_handlers): Reset the signal to the saved handler, not
46649         to SIG_DFL (except when ignored).
46650         (install_handlers): Save the previous handlers.
46651
46652 2008-08-30  Bruno Haible  <bruno@clisp.org>
46653
46654         * gnulib-tool (func_reset_sigpipe): New function.
46655         (func_get_automake_snippet, func_modules_transitive_closure,
46656         func_import): Invoke it before a join command that reads from stdin,
46657         to avoid "echo: write error: Broken pipe" error messages on stderr.
46658         Reported by Sam Steingold <sds@gnu.org>.
46659
46660 2008-08-30  Bruno Haible  <bruno@clisp.org>
46661
46662         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
46663         Code copied from m4/open.m4.
46664         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
46665         access and the filename ends in a slash. Code copied from lib/open.c.
46666         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
46667         * tests/test-fopen.c (main): Check against bug with trailing slash.
46668
46669 2008-08-29  Bruno Haible  <bruno@clisp.org>
46670
46671         Avoid some "gcc -pedantic" warnings.
46672         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
46673         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
46674         * lib/dirent.in.h: Likewise.
46675         * lib/fcntl.in.h: Likewise.
46676         * lib/float.in.h: Likewise.
46677         * lib/iconv.in.h: Likewise.
46678         * lib/inttypes.in.h: Likewise.
46679         * lib/locale.in.h: Likewise.
46680         * lib/math.in.h: Likewise.
46681         * lib/netinet_in.in.h: Likewise.
46682         * lib/search.in.h: Likewise.
46683         * lib/signal.in.h: Likewise.
46684         * lib/stdarg.in.h: Likewise.
46685         * lib/stdint.in.h: Likewise.
46686         * lib/stdio.in.h: Likewise.
46687         * lib/stdlib.in.h: Likewise.
46688         * lib/string.in.h: Likewise.
46689         * lib/strings.in.h: Likewise.
46690         * lib/sys_select.in.h: Likewise.
46691         * lib/sys_socket.in.h: Likewise.
46692         * lib/sys_stat.in.h: Likewise.
46693         * lib/sys_time.in.h: Likewise.
46694         * lib/sysexits.in.h: Likewise.
46695         * lib/time.in.h: Likewise.
46696         * lib/unistd.in.h: Likewise.
46697         * lib/wchar.in.h: Likewise.
46698         * lib/wctype.in.h: Likewise.
46699         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
46700         * modules/fchdir (Makefile.am): Likewise.
46701         * modules/fcntl (Makefile.am): Likewise.
46702         * modules/float (Makefile.am): Likewise.
46703         * modules/iconv_open (Makefile.am): Likewise.
46704         * modules/inttypes (Makefile.am): Likewise.
46705         * modules/locale (Makefile.am): Likewise.
46706         * modules/math (Makefile.am): Likewise.
46707         * modules/netinet_in (Makefile.am): Likewise.
46708         * modules/search (Makefile.am): Likewise.
46709         * modules/signal (Makefile.am): Likewise.
46710         * modules/stdarg (Makefile.am): Likewise.
46711         * modules/stdint (Makefile.am): Likewise.
46712         * modules/stdio (Makefile.am): Likewise.
46713         * modules/stdlib (Makefile.am): Likewise.
46714         * modules/string (Makefile.am): Likewise.
46715         * modules/strings (Makefile.am): Likewise.
46716         * modules/sys_select (Makefile.am): Likewise.
46717         * modules/sys_socket (Makefile.am): Likewise.
46718         * modules/sys_stat (Makefile.am): Likewise.
46719         * modules/sys_time (Makefile.am): Likewise.
46720         * modules/sysexits (Makefile.am): Likewise.
46721         * modules/time (Makefile.am): Likewise.
46722         * modules/unistd (Makefile.am): Likewise.
46723         * modules/wchar (Makefile.am): Likewise.
46724         * modules/wctype (Makefile.am): Likewise.
46725         Reported by Reuben Thomas <rrt@sc3d.org>.
46726
46727 2008-08-29  Bruno Haible  <bruno@clisp.org>
46728
46729         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
46730         any more.
46731
46732 2008-08-29  Simon Josefsson  <simon@josefsson.org>
46733
46734         * MODULES.html.sh (Misc): Add bitrotate.
46735
46736         * modules/bitrotate: New file.
46737
46738         * lib/bitrotate.h: New file.
46739
46740         * modules/bitrotate-tests: New file.
46741
46742         * tests/test-bitrotate.c: New file.
46743
46744         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
46745         on the bitrotate module.
46746
46747         * lib/arctwo.c: Use new bitrotate module.
46748
46749 2008-08-29  Jim Meyering  <meyering@redhat.com>
46750
46751         bootstrap: merge changes from coreutils
46752         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
46753         of copied files.  Remove a kludge, now that this is fixed.
46754         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
46755         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
46756         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
46757
46758 2008-08-29  Bruno Haible  <bruno@clisp.org>
46759
46760         * MODULES.html.sh: Remove --cvs-urls option.
46761
46762 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
46763
46764         maint.mk: adjust to file name change
46765         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
46766
46767 2008-08-28  Jim Meyering  <meyering@redhat.com>
46768
46769         * modules/getndelim2 (License): Relicense to LGPLv2+.
46770         Approved by Richard Stallman for the version of 1995, and by
46771         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
46772
46773 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
46774
46775         * lib/getdelim.c (flockfile, funlockfile): Make all of them
46776         dummy if one is not available.  Do not touch them if
46777         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
46778         (getc_maybe_unlocked): New.
46779         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
46780
46781 2008-08-26  Eric Blake  <ebb9@byu.net>
46782
46783         doc/INSTALL: resync from autoconf
46784         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
46785         (INSTALL_PRELUDE): Delete; this is done more efficiently by
46786         moving...
46787         * install.texi [!autoconf]: ...here.  Resync from autoconf.
46788         * INSTALL: Regenerate.
46789         * INSTALL.ISO: New file.
46790         * INSTALL.UTF-8: Likewise.
46791
46792 2008-08-26  Jim Meyering  <meyering@redhat.com>
46793
46794         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
46795         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
46796         these definitions conditional, so that they may be overridden, too.
46797
46798 2008-08-26  Bruno Haible  <bruno@clisp.org>
46799
46800         Generate INSTALL file variants with prettier quotes.
46801         * doc/Makefile (INSTALL_PRELUDE): New macro.
46802         (INSTALL): Use it.
46803         (INSTALL.ISO, INSTALL.UTF-8): New rules.
46804
46805 2008-08-26  Bruno Haible  <bruno@clisp.org>
46806
46807         Run makeinfo in an English locale.
46808         * doc/Makefile (MAKEINFO): New variable.
46809
46810 2008-08-26  Bruno Haible  <bruno@clisp.org>
46811
46812         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
46813         Suggested by Eric Blake.
46814
46815 2008-08-25  Bruno Haible  <bruno@clisp.org>
46816
46817         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
46818
46819 2008-08-25  Eric Blake  <ebb9@byu.net>
46820
46821         c-stack: test that stack overflow can be caught
46822         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
46823         that platform allows handling stack overflow; at least OS/2 EMX
46824         has sigaltstack, but crashes before transferring control to
46825         handler on stack overflow.
46826         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
46827         check for HAVE_STACK_OVERFLOW_HANDLING.
46828         Reported by Elbert Pol.
46829
46830 2008-08-25  Bruno Haible  <bruno@clisp.org>
46831
46832         * doc/posix-functions/strftime.texi: Fix description of strftime
46833         module.
46834
46835 2008-08-24  Bruno Haible  <bruno@clisp.org>
46836
46837         * tests/uniwidth/test-uc_width2.c: New file.
46838         * tests/uniwidth/test-uc_width2.sh: New file.
46839         * modules/uniwidth/width-tests (Files): Add the new files.
46840         (TESTS): Add uniwidth/test-uc_width2.sh.
46841         (TESTS_ENVIRONMENT): New variable.
46842         (check_PROGRAMS): Add test-uc_width2.
46843         (test_uc_width2_SOURCES): New variable.
46844
46845         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
46846         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
46847         not 0x00AB.
46848         Reported by Alexander V. Lukyanov <lav@netis.ru>.
46849
46850 2008-08-22  Eric Blake  <ebb9@byu.net>
46851
46852         test-lock, test-tls: mention why a test is skipped
46853         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
46854         skipped.
46855         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
46856
46857         count-one-bits: relax license
46858         * modules/count-one-bits (License): Relicense to LGPLv2+.
46859         Suggested by Ludovic Courtès, approved by Ben Pfaff.
46860
46861 2008-08-22  Andreas Schwab  <schwab@suse.de>
46862
46863         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
46864         Remove spurious space in assignment.
46865
46866 2008-08-21  Simon Josefsson  <simon@josefsson.org>
46867
46868         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
46869         Paul Eggert <eggert@CS.UCLA.EDU>.
46870
46871 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
46872
46873         * modules/gettext: Add m4/threadlib.m4.
46874
46875 2008-08-19  Eric Blake  <ebb9@byu.net>
46876
46877         test-c-stack: fix compilation failure on FreeBSD 5.0
46878         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
46879         headers before <sys/resource.h>.
46880         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
46881         the bug.
46882         Reported by Nelson H. F. Beebe.
46883
46884         strverscmp: migrate from "strverscmp.h" to <string.h>
46885         * modules/string (Makefile.am): Add new hooks.
46886         * modules/strverscmp (Files): Remove strverscmp.h.
46887         (Depends-on): Add string.
46888         (configure.ac): Add indicator.
46889         (Include): Mention new header.
46890         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
46891         defaults.
46892         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
46893         results.
46894         * lib/strverscmp.h: Delete.
46895         * lib/string.in.h (strverscmp): Provide declaration, when needed.
46896         * tests/test-strverscmp.c (includes): Adjust client.
46897         * lib/check-version.c (includes): Likewise.
46898         * NEWS: Document the change.
46899
46900         strverscmp: add unit test
46901         * modules/strverscmp-tests: New file.
46902         * tests/test-strverscmp.c: Likewise.
46903
46904 2008-08-19  Simon Josefsson  <simon@josefsson.org>
46905
46906         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
46907         regarding Windows crypto stuff, from Mono.
46908
46909 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
46910
46911         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
46912         if present, for intel RND.  Return error on failures.
46913
46914 2008-08-18  Ben Pfaff  <blp@gnu.org>
46915
46916         gitlog-to-changelog: give better diagnostic for failed pipe-open
46917         * build-aux/gitlog-to-changelog: Improve error message: suggest
46918         that the version of Git may be too old.
46919
46920 2008-08-18  Simon Josefsson  <simon@josefsson.org>
46921
46922         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
46923         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
46924
46925 2008-08-18  Bruno Haible  <bruno@clisp.org>
46926
46927         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
46928         pthread_in_use().
46929
46930 2008-08-18  Bruno Haible  <bruno@clisp.org>
46931
46932         * lib/glthread/threadlib.c: Include <pthread.h>.
46933
46934 2008-08-18  Bruno Haible  <bruno@clisp.org>
46935
46936         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
46937         glthread_recursive_lock_* macros.
46938         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
46939         Fix syntax error.
46940
46941 2008-08-18  Bruno Haible  <bruno@clisp.org>
46942
46943         * lib/glthread/thread.c: Avoid forcing a context switch right after
46944         thread creation.
46945
46946 2008-08-17  Bruno Haible  <bruno@clisp.org>
46947
46948         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
46949         * lib/glthread/thread.h: Provide Win32 specific implementation.
46950         * modules/thread (Files): Add lib/glthread/thread.c.
46951         (Depends-on): Add lock.
46952         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
46953
46954 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46955
46956         New module 'yield'.
46957         * modules/yield: New file.
46958         * lib/glthread/yield.h: New file.
46959         * m4/yield.m4: New file.
46960         * MODULES.html.sh (Multithreading): Add yield.
46961
46962 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46963
46964         New module 'thread'.
46965         * modules/thread: New file.
46966         * lib/glthread/thread.h: New file.
46967         * m4/thread.m4: New file.
46968         * MODULES.html.sh (Multithreading): Add thread.
46969
46970 2008-08-17  Bruno Haible  <bruno@clisp.org>
46971
46972         * lib/glthread/lock.h: Include <stdlib.h> always.
46973         * lib/glthread/tls.h: Likewise.
46974         * lib/glthread/cond.h: Likewise.
46975
46976 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46977
46978         New module 'cond'.
46979         * modules/cond: New file.
46980         * lib/glthread/cond.h: New file.
46981         * lib/glthread/cond.c: New file.
46982         * m4/cond.m4: New file.
46983         * MODULES.html.sh (Multithreading): Add cond.
46984
46985 2008-08-16  Eric Blake  <ebb9@byu.net>
46986
46987         c-stack: fix regression on Irix 5.3 from 2008-06-21
46988         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
46989         sa_sigaction...
46990         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
46991         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
46992         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
46993         * modules/signal (Makefile.am): Use the value.
46994         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
46995         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
46996         * doc/posix-headers/signal.texi (signal.h): Document this
46997         portability issue.
46998         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
46999         Reported by Tom G. Christensen.
47000
47001 2008-08-17  Bruno Haible  <bruno@clisp.org>
47002
47003         New module 'threadlib'.
47004         * modules/threadlib: New file.
47005         * lib/glthread/threadlib.c: New file, extracted from
47006         lib/glthread/lock.c.
47007         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
47008         functions.
47009         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
47010         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
47011         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
47012         macros.
47013         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
47014         (gl_DISABLE_THREADS): Remove macro.
47015         * modules/lock (Files): Remove build-aux/config.rpath.
47016         (Depends-on): Remove havelib. Add threadlib.
47017         (configure.ac-early): Remove section.
47018         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
47019         * modules/tls (Depends-on): Remove lock. Add threadlib.
47020         (Link): New section, copied from threadlib.
47021         * MODULES.html.sh (Multithreading): Add threadlib.
47022
47023 2008-08-14  Bruno Haible  <bruno@clisp.org>
47024
47025         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
47026         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
47027         glthread_rwlock_unlock, glthread_rwlock_destroy,
47028         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
47029         glthread_recursive_lock_destroy): Define as macros always.
47030         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
47031         glthread_lock_lock.
47032         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
47033         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
47034         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
47035         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
47036         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
47037         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
47038         (glthread_recursive_lock_lock_func): Renamed from
47039         glthread_recursive_lock_lock.
47040         (glthread_recursive_lock_unlock_func): Renamed from
47041         glthread_recursive_lock_unlock.
47042         (glthread_recursive_lock_destroy_func): Renamed from
47043         glthread_recursive_lock_destroy.
47044
47045 2008-08-14  Bruno Haible  <bruno@clisp.org>
47046
47047         * lib/glthread/lock.h: Renamed from lib/lock.h.
47048         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
47049         * lib/glthread/tls.h: Renamed from lib/tls.h.
47050         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
47051         * lib/fstrcmp.c: Update includes.
47052         * lib/strsignal.c: Update includes.
47053         * modules/lock (Files, Makefile.am): Update.
47054         (Include): Change to "glthread/lock.h".
47055         * modules/tls (Files, Makefile.am): Update.
47056         (Include): Change to "glthread/tls.h".
47057         * tests/test-lock.c: Update includes.
47058         * tests/test-tls.c: Update includes.
47059         * NEWS: Mention the renamed header files.
47060
47061 2008-08-11  Jim Meyering  <meyering@redhat.com>
47062
47063         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
47064
47065 2008-08-11  Eric Blake  <ebb9@byu.net>
47066
47067         test-c-stack: avoid C99-ism
47068         * tests/test-c-stack.c (main): Fix whitespace, move declaration
47069         before statement.
47070         Reported by Alain Guibert.
47071
47072 2008-08-10  Jim Meyering  <meyering@redhat.com>
47073
47074         ensure that return value of uinttostr et al are not ignored
47075         * lib/inttostr.h (__GNUC_PREREQ): Define.
47076         (__attribute_warn_unused_result__): Define.
47077         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
47078
47079 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
47080
47081         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
47082         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
47083
47084 2008-08-07  Jim Meyering  <meyering@redhat.com>
47085
47086         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
47087
47088         * modules/mkstemp (License): Relicense under LGPLv2+.
47089         * modules/tempname (License): Likewise.
47090
47091 2008-08-06  Bruno Haible  <bruno@clisp.org>
47092
47093         * lib/poll.c (poll): Further micro-optimization.
47094
47095 2008-08-06  Jim Meyering  <meyering@redhat.com>
47096
47097         inet_pton.c: use locale-independent tolower
47098         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
47099         (inet_pton6): Use c_tolower rather than tolower.
47100         * modules/inet_pton (Depends-on): Add c-ctype.
47101
47102 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
47103
47104         * lib/poll.c (poll): Avoid division when timeout is 0, cache
47105         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
47106
47107 2008-08-06  Jim Meyering  <meyering@redhat.com>
47108
47109         * modules/inet_pton (License): Relicense under LGPLv2+.
47110
47111 2008-08-03  Bruno Haible  <bruno@clisp.org>
47112
47113         Additional non-aborting API for lock and tls.
47114         * lib/lock.h: Include <errno.h>.
47115         (glthread_lock_init): New macro/function.
47116         (gl_lock_init): Define as wrapper around glthread_lock_init.
47117         (glthread_lock_lock): New macro/function.
47118         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
47119         (glthread_lock_unlock): New macro/function.
47120         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
47121         (glthread_lock_destroy): New macro/function.
47122         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
47123         (glthread_rwlock_init): New macro/function.
47124         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
47125         (glthread_rwlock_rdlock): New macro/function.
47126         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
47127         (glthread_rwlock_wrlock): New macro/function.
47128         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
47129         (glthread_rwlock_unlock): New macro/function.
47130         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
47131         (glthread_rwlock_destroy): New macro/function.
47132         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
47133         (glthread_recursive_lock_init): New macro/function.
47134         (gl_recursive_lock_init): Define as wrapper around
47135         glthread_recursive_lock_init.
47136         (glthread_recursive_lock_lock): New macro/function.
47137         (gl_recursive_lock_lock): Define as wrapper around
47138         glthread_recursive_lock_lock.
47139         (glthread_recursive_lock_unlock): New macro/function.
47140         (gl_recursive_lock_unlock): Define as wrapper around
47141         glthread_recursive_lock_unlock.
47142         (glthread_recursive_lock_destroy): New macro/function.
47143         (gl_recursive_lock_destroy): Define as wrapper around
47144         glthread_recursive_lock_destroy.
47145         (glthread_once): New macro/function.
47146         (gl_once): Define as wrapper around glthread_once.
47147         Update function declarations.
47148         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
47149         glthread_rwlock_init. Return error code.
47150         (glthread_rwlock_rdlock_multithreaded): Renamed from
47151         glthread_rwlock_rdlock. Return error code.
47152         (glthread_rwlock_wrlock_multithreaded): Renamed from
47153         glthread_rwlock_wrlock. Return error code.
47154         (glthread_rwlock_unlock_multithreaded): Renamed from
47155         glthread_rwlock_unlock. Return error code.
47156         (glthread_rwlock_destroy_multithreaded): Renamed from
47157         glthread_rwlock_destroy. Return error code.
47158         (glthread_recursive_lock_init_multithreaded): Renamed from
47159         glthread_recursive_lock_init. Return error code.
47160         (glthread_recursive_lock_lock_multithreaded): Renamed from
47161         glthread_recursive_lock_lock. Return error code.
47162         (glthread_recursive_lock_unlock_multithreaded): Renamed from
47163         glthread_recursive_lock_unlock. Return error code.
47164         (glthread_recursive_lock_destroy_multithreaded): Renamed from
47165         glthread_recursive_lock_destroy. Return error code.
47166         (glthread_once_call): Make static.
47167         (glthread_once_multithreaded): Renamed from glthread_once.
47168         * lib/tls.h: Include <errno.h>.
47169         (glthread_tls_key_init): New macro/function.
47170         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
47171         (glthread_tls_set): New macro/function.
47172         (gl_tls_set): Define as wrapper around glthread_tls_set.
47173         (glthread_tls_key_destroy): New macro/function.
47174         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
47175         Update function declarations.
47176         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
47177         glthread_tls_get.
47178         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47179
47180 2008-08-04  Eric Blake  <ebb9@byu.net>
47181
47182         gnumakefile: use space, not TAB, outside of targets
47183         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
47184
47185 2008-08-02  Jim Meyering  <meyering@redhat.com>
47186
47187         getdate.y: avoid locale-dependent date parsing failure
47188         In Turkish locales, getdate would fail to recognize keywords
47189         containing a lowercase "i".  The solution is not to rely on
47190         locale-sensitive case-conversion.
47191         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
47192         (lookup_word): Use c_toupper in place of toupper.
47193         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
47194         Reported by Vefa Bicakci <bicave@superonline.com> in
47195         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
47196         * modules/getdate (Depends-on): Add c-ctype.
47197
47198 2008-08-02  Bruno Haible  <bruno@clisp.org>
47199
47200         * gnulib-tool (func_import): When updating or creating a .gitignore
47201         file, prepend each added line with a slash, and ignore leading slashes
47202         from the existing lines.
47203         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
47204
47205 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47206
47207         Portability fix for GNU make 3.79.1.
47208         * top/GNUmakefile: Avoid 'else COND', which older GNU make
47209         versions do not understand.
47210
47211 2008-08-01  Bruno Haible  <bruno@clisp.org>
47212
47213         Work around bug of HP-UX 10.20 cc with -0.0 literal.
47214         * tests/test-isnanf.h (zero): New variable.
47215         (main): Avoid literal -0.0f.
47216         * tests/test-isnand.h (zero): New variable.
47217         (main): Avoid literal -0.0.
47218         * tests/test-isnanl.h (zero): New variable.
47219         (main): Avoid literal -0.0L.
47220         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
47221         (test_float, test_double, test_long_double): Avoid literals -0.0f,
47222         -0.0, -0.0L.
47223         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
47224         (test_signbitd): Avoid literal -0.0.
47225         (test_signbitl): Avoid literal -0.0L.
47226         * tests/test-ceilf1.c (zero): New variable.
47227         (main): Avoid literal -0.0f.
47228         * tests/test-ceill.c (zero): New variable.
47229         (main): Avoid literal -0.0L.
47230         * tests/test-floorf1.c (zero): New variable.
47231         (main): Avoid literal -0.0f.
47232         * tests/test-floorl.c (zero): New variable.
47233         (main): Avoid literal -0.0L.
47234         * tests/test-roundf1.c (zero): New variable.
47235         (main): Avoid literal -0.0f.
47236         * tests/test-round1.c (zero): New variable.
47237         (main): Avoid literal -0.0.
47238         * tests/test-roundl.c (zero): New variable.
47239         (main): Avoid literal -0.0L.
47240         * tests/test-truncf1.c (zero): New variable.
47241         (main): Avoid literal -0.0f.
47242         * tests/test-trunc1.c (zero): New variable.
47243         (main): Avoid literal -0.0.
47244         * tests/test-truncl.c (zero): New variable.
47245         (main): Avoid literal -0.0L.
47246         * tests/test-frexp.c (zero): New variable.
47247         (main): Avoid literal -0.0.
47248         * tests/test-frexpl.c (zero): New variable.
47249         (main): Avoid literal -0.0L.
47250         * tests/test-ldexpl.c (zero): New variable.
47251         (main): Avoid literal -0.0L.
47252         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47253         (zerod, zerol): New variables.
47254         (test_function): Avoid literals -0.0, -0.0L.
47255         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47256         (zerod, zerol): New variables.
47257         (test_function): Avoid literals -0.0, -0.0L.
47258         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47259         (zerod, zerol): New variables.
47260         (test_function): Avoid literals -0.0, -0.0L.
47261         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47262         (zerod, zerol): New variables.
47263         (test_function): Avoid literals -0.0, -0.0L.
47264         * tests/test-strtod.c (zero): New variable.
47265         (main): Avoid literal -0.0.
47266         Reported by Jonathan C. Patschke <jp@centtech.com>.
47267
47268 2008-07-31  Jim Meyering  <meyering@redhat.com>
47269
47270         sha256.h: correct definition of SHA224_DIGEST_SIZE
47271         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
47272         Reported by Paulie Pena IV <paulie4@gmail.com>.
47273         Define as 224 / 8, rather than as a literal.
47274         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
47275         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
47276         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
47277
47278 2008-07-31  Bruno Haible  <bruno@clisp.org>
47279
47280         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
47281         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
47282         Reported by Jonathan Patschke <jp@centtech.com>.
47283
47284 2008-07-31  Bruno Haible  <bruno@clisp.org>
47285
47286         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
47287         Reported by Paolo Bonzini <bonzini@gnu.org>.
47288
47289 2008-07-30  Eric Blake  <ebb9@byu.net>
47290
47291         test-strtod: allow compilation without -lm
47292         * tests/test-strtod.c (main): Avoid link dependence on fabs.
47293         Reported by Dennis Clarke <blastwave@gmail.com>.
47294
47295 2008-07-28  Jim Meyering  <meyering@redhat.com>
47296
47297         bootstrap: work also when there are no .po files in po/
47298         * build-aux/bootstrap (update_po_files): Complete the change
47299         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
47300
47301 2008-07-27  Jim Meyering  <meyering@redhat.com>
47302
47303         * users.txt: Add zile.
47304
47305 2008-07-26  Ben Pfaff  <blp@gnu.org>
47306
47307         Add missing dependencies on new m4/exponent[fdl].m4 files.
47308         * modules/isnanf-nolibm: Add m4/exponentf.m4.
47309         * modules/isnand-nolibm: Add m4/exponentd.m4.
47310         * modules/isnanl-nolibm: Add m4/exponentl.m4.
47311         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
47312         m4/isnan[fdl].m4, because the macros actually used moved.
47313         Reported by Jim Meyering.
47314
47315 2008-07-14  Ben Pfaff  <blp@gnu.org>
47316
47317         Add isinf module.
47318         * lib/isinf.c: New file.
47319         * lib/math.in.h: Define isinf macro if we have decided to replace
47320         it.
47321         * m4/isinf.m4: New file.
47322         * m4/math_h.m4: Initialize and substitute variables for isinf
47323         module.
47324         * modules/isinf: New file.
47325         * modules/isinf-tests: New file.
47326         * modules/math: Add substitutions for new module.
47327         * tests/test-isinf.c: New file.
47328         * doc/posix-functions/isinf.texi: Mention new module.
47329         * MODULES.html.sh: Mention new module.
47330
47331 2008-07-14  Ben Pfaff  <blp@gnu.org>
47332
47333         Factor out some macros for use by additional modules.
47334         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
47335         exponentf.m4.
47336         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
47337         exponentd.m4.
47338         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
47339         file exponentl.m4.
47340         * m4/exponentf.m4: New file.
47341         * m4/exponentd.m4: New file.
47342         * m4/exponentl.m4: New file.
47343         * modules/isnanf: Use new file m4/exponentf.m4.
47344         * modules/isnand: Use new file m4/exponentd.m4.
47345         * modules/isnanl: Use new file m4/exponentl.m4.
47346
47347 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
47348
47349         mktime.c: normalize tp->tm_isdst value to -1/0/1.
47350         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
47351         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
47352         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
47353
47354         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
47355         readlink on platforms without PATH_MAX.
47356
47357 2008-07-21  Eric Blake  <ebb9@byu.net>
47358
47359         Warn, not fail, on stale version.
47360         * top/GNUmakefile (_curr-ver): Tone down previous patch.
47361
47362         Don't allow installation with stale devel version number.
47363         * top/GNUmakefile (_is-install-target): New macro.
47364         (_curr-ver): Forbid installation with stale version number.
47365
47366 2008-07-20  Bruno Haible  <bruno@clisp.org>
47367
47368         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
47369         TESTS_ENVIRONMENT.
47370         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
47371
47372 2008-07-20  Bruno Haible  <bruno@clisp.org>
47373
47374         * lib/c-stack.h (c_stack_action): Add documentation.
47375         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
47376
47377 2008-07-20  Bruno Haible  <bruno@clisp.org>
47378
47379         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
47380         * modules/readlink (License): Likewise.
47381
47382 2008-07-17  Eric Blake  <ebb9@byu.net>
47383
47384         * modules/c-stack (Link): Fix typo.
47385
47386         Make c-stack use libsigsegv, when available.
47387         * modules/c-stack (Depends-on): Add libsigsegv.
47388         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
47389         needed.
47390         * lib/c-stack.c (SIGSTKSZ): Define fallback.
47391         (segv_handler, overflow_handler, c_stack_action)
47392         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
47393         implementation when libsigsegv is available, but only when using
47394         the library is necessary.
47395         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
47396         comment, explaining why XSI check fails on Linux.
47397         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
47398         * tests/test-c-stack2.sh: Tweak skip message.
47399         * NEWS: Document new link-time requirements.
47400
47401 2008-07-16  Eric Blake  <ebb9@byu.net>
47402
47403         c-stack: Expose false positives when not using libsigsegv.
47404         * modules/c-stack-tests (Files): Expand test.
47405         * tests/test-c-stack.c (main): Add means to conditionally trigger
47406         non-overflow SIGSEGV.
47407         * tests/test-c-stack2.sh: New file.
47408
47409 2008-07-14  Bruno Haible  <bruno@clisp.org>
47410
47411         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
47412         Reported by Eric Blake.
47413
47414 2008-07-14  Sam Steingold  <sds@gnu.org>
47415             Bruno Haible  <bruno@clisp.org>
47416
47417         New module libsigsegv.
47418         * modules/libsigsegv: New file.
47419         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
47420         modifications.
47421         * MODULES.html.sh (Signal handling): New section.
47422
47423 2008-07-14  Bruno Haible  <bruno@clisp.org>
47424
47425         * modules/unictype/ctype-* (Description): Add the word "function".
47426         Improves the resulting doc in MODULES.html.
47427
47428 2008-07-12  Ben Pfaff  <blp@gnu.org>
47429
47430         Add longlong module.
47431         * modules/longlong: New file.
47432
47433 2008-07-12  Bruno Haible  <bruno@clisp.org>
47434
47435         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
47436         to empty.
47437
47438 2008-07-10  Ben Pfaff  <blp@gnu.org>
47439
47440         Add isnan module.
47441         * doc/posix-functions/isnan.texi: Mention new module.
47442         * lib/math.in.h: Define isnan macro if we have decided to replace
47443         it.
47444         * m4/isnan.m4: New file.
47445         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
47446         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
47447         also.
47448         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
47449         redundancy.
47450         * m4/math_h.m4: Initialize and substitute variables for isnan
47451         module.
47452         * modules/isnan: New file.
47453         * modules/isnan-tests: New file.
47454         * modules/math: Add substitutions for new module.
47455         * tests/test-isnan.c: New file.
47456         * MODULES.html.sh: Mention new module.
47457
47458 2008-07-10  Ben Pfaff  <blp@gnu.org>
47459
47460         Add isnanf module.
47461         * lib/isnanf.m4: New file.
47462         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
47463         (gl_HAVE_ISNANF_IN_LIBM): New macro.
47464         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
47465         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
47466         * modules/isnanf: New file.
47467         * modules/isnanf-tests: New file.
47468         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
47469         files.
47470         * tests/test-isnanf-nolibm.c: factored most of its contents into
47471         new file tests/test-isnanf.h.
47472         * tests/test-isnanf.h: New file.
47473         * tests/test-isnanf.c: New file.
47474         * MODULES.html.sh: Mention new module.
47475         * doc/glibc-functions/isnanf.texi: Mention new module.
47476
47477 2008-07-10  Ben Pfaff  <blp@gnu.org>
47478
47479         Add isnand module.
47480         * lib/isnand.h: New file.
47481         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
47482         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
47483         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
47484         functionality also.
47485         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
47486         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
47487         (gl_HAVE_ISNAND_IN_LIBM): New macro.
47488         * modules/isnand: New file.
47489         * modules/isnand-tests: New file.
47490         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
47491         files.
47492         * tests/test-isnand-nolibm.c: factored most of its contents into
47493         new file tests/test-isnand.h.
47494         * tests/test-isnand.h: New file.
47495         * tests/test-isnand.c: New file.
47496         * MODULES.html.sh: Mention new module.
47497
47498 2008-07-10  Ben Pfaff  <blp@gnu.org>
47499
47500         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
47501         * lib/isnand.h: Rename lib/isnand-nolibm.h.
47502         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
47503         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
47504         * modules/isnanf-nolibm: Update references to renamed files.
47505         * modules/isnand-nolibm: Likewise.
47506         * modules/isnanf-nolibm-tests: Likewise.
47507         * modules/isnand-nolibm-tests: Likewise.
47508         * lib/frexp.c: Likewise.
47509         * lib/isfinite.c: Likewise.
47510         * lib/signbitd.c: Likewise.
47511         * lib/signbitf.c: Likewise.
47512         * lib/vasnprintf.c: Likewise.
47513         * tests/test-ceilf1.c: Likewise.
47514         * tests/test-ceilf2.c: Likewise.
47515         * tests/test-floorf1.c: Likewise.
47516         * tests/test-floorf2.c: Likewise.
47517         * tests/test-frexp.c: Likewise.
47518         * tests/test-round1.c: Likewise.
47519         * tests/test-round2.c: Likewise.
47520         * tests/test-roundf1.c: Likewise.
47521         * tests/test-strtod.c: Likewise.
47522         * tests/test-trunc1.c: Likewise.
47523         * tests/test-trunc2.c: Likewise.
47524         * tests/test-truncf1.c: Likewise.
47525         * tests/test-truncf2.c: Likewise.
47526         * NEWS: Mention the renamed header files.
47527
47528 2008-07-11  Jim Meyering  <meyering@redhat.com>
47529
47530         vc-list-files: make the last-resort awk code more portable
47531         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
47532         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
47533         does not support it.
47534
47535 2008-07-10  Eric Blake  <ebb9@byu.net>
47536
47537         Work with tar's bootstrap.
47538         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
47539         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
47540         an m4 comment.
47541
47542 2008-07-09  Jim Meyering  <meyering@redhat.com>
47543
47544         posix-shell.m4: fix typo that made this test malfunction
47545         * m4/posix-shell.m4: Remove capitalization in variable name.
47546
47547 2008-07-08  Bruno Haible  <bruno@clisp.org>
47548
47549         * m4/onceonly.m4: Update comments.
47550         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47551
47552 2008-07-04  Jim Meyering  <meyering@redhat.com>
47553
47554         * users.txt: Add vc-dwim.
47555         (bison, coreutils): Use the gitweb URL.
47556
47557 2008-07-03  Jim Meyering  <meyering@redhat.com>
47558
47559         * users.txt: Add libffcall.  From Sam Steingold.
47560
47561 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
47562
47563         getdate.y: do not ignore TZ with relative day, month or year offset
47564         * lib/getdate.y (get_date): Move the tz-handling block to follow the
47565         relative-date-handling, since otherwise, the latter would clobber the
47566         sole output (an updated Start value) of the tz-handling block.
47567         * tests/test-getdate.c: Tests for the fix
47568
47569 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47570
47571         Recognize 'foo_LIBRARIES += libgnu.a'.
47572         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
47573         makefile snippet has already specified an installation location,
47574         also using '+='.
47575
47576 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
47577
47578         getdate.y: factor out common actions
47579         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
47580         Use them in place of open-coded actions.
47581
47582 2008-07-01  Simon Josefsson  <simon@josefsson.org>
47583
47584         Add self-test for getdate module.
47585         * modules/getdate-tests: New file.
47586         * tests/test-getdate.c: New file.
47587
47588 2008-06-29  Bruno Haible  <bruno@clisp.org>
47589
47590         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
47591         .gitignore.
47592         Reported by Sylvain Beucler <beuc@beuc.net>.
47593
47594 2008-06-29  Bruno Haible  <bruno@clisp.org>
47595
47596         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
47597         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
47598
47599 2008-06-29  Bruno Haible  <bruno@clisp.org>
47600
47601         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
47602         EXTRA_DIST.
47603         Reported by Sylvain Beucler <beuc@beuc.net>.
47604
47605 2008-06-26  Jim Meyering  <meyering@redhat.com>
47606
47607         make several modules depend on the "open" module
47608         This provides slightly increased consistency when opening-for-write
47609         the name of a non-directory spelled with a trailing slash.
47610         * modules/chdir-safer: Likewise.
47611         * modules/chown: Likewise.
47612         * modules/clean-temp: Likewise.
47613         * modules/copy-file: Likewise.
47614         * modules/fchdir: Likewise.
47615         * modules/fcntl-safer: Likewise.
47616         * modules/pipe: Likewise.
47617         * modules/utime: Likewise.
47618         Prompted by Eric Blake and Bruno Haible.
47619
47620 2008-06-24  Andreas Schwab  <schwab@suse.de>
47621
47622         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
47623         literals can be used as initializers for global variables.
47624
47625 2008-06-23  Eric Blake  <ebb9@byu.net>
47626
47627         Make gnulib-cache.m4 easier to diff.
47628         * gnulib-tool (func_import): Allow newlines when reading cached
47629         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
47630
47631 2008-06-23  Bruno Haible  <bruno@clisp.org>
47632
47633         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
47634         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
47635         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
47636         m4/signalblocking.m4.
47637         (gl_PREREQ_SIGACTION): Don't invoke it.
47638         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
47639         gl_PREREQ_SIG_HANDLER_H.
47640         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
47641         Don't check for sigaction here.
47642
47643 2008-06-23  Bruno Haible  <bruno@clisp.org>
47644
47645         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
47646         (install_handlers): Don't set the SA_RESETHAND flag.
47647
47648 2008-06-23  Bruno Haible  <bruno@clisp.org>
47649
47650         * m4/sigaction.m4: Comment fixes.
47651         * lib/signal.in.h: Likewise.
47652
47653 2008-06-23  Eric Blake  <ebb9@byu.net>
47654
47655         Fix typo.
47656         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
47657
47658         Avoid SA_ namespace.
47659         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
47660         Reported by Ralf Wildenhues.
47661
47662         Avoid test failure due to SA_RESTORER.
47663         * tests/test-sigaction.c (SA_MASK): New macro.
47664         (main): Avoid failing due to extension flags being set.
47665         Reported by Jim Meyering.
47666
47667         Revert use of sig-handler.h in sigprocmask.c.
47668         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
47669         it requires the existence of struct sigaction.
47670         * lib/sigprocmask.c (handler_t): Restore typedef.
47671         (rpl_signal, old_handlers): Use local type.
47672
47673 2008-06-22  Bruno Haible  <bruno@clisp.org>
47674
47675         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
47676         conditionally.
47677         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47678
47679 2008-06-22  Bruno Haible  <bruno@clisp.org>
47680
47681         * doc/posix-functions/siginterrupt.texi: Move note.
47682
47683         * lib/signal.in.h (SA_RESTART): New macro.
47684         * lib/sigaction.c: Update comment.
47685
47686         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
47687
47688         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
47689         (gl_PREREQ_SIGPROCMASK): Invoke it.
47690         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
47691
47692         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
47693
47694         * lib/sigprocmask.c: Update a comment.
47695
47696 2008-06-21  Eric Blake  <ebb9@byu.net>
47697
47698         Use sigaction module rather than signal().
47699         * modules/c-stack (Depends-on): Add sigaction.
47700         * modules/fatal-signal (Depends-on): Likewise.
47701         * modules/nanosleep (Depends-on): Likewise.
47702         * modules/sigprocmask (Files): Add sig-handler.h.
47703         * modules/sigaction (Files): Likewise.
47704         * lib/sig-handler.h (get_handler): New file, suggested by Paul
47705         Eggert.
47706         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
47707         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
47708         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
47709         (init_fatal_signals): Likewise.
47710         * lib/nanosleep.c (rpl_nanosleep): Likewise.
47711         (siginterrupt): Delete fallback.
47712         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
47713         instead.
47714         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
47715         siginterrupt.
47716
47717         New module sigaction, for mingw.
47718         * modules/sigaction: New module...
47719         * modules/sigaction-tests: ...and its test.
47720         * m4/sigaction.m4: New file.
47721         * lib/sigaction.c: Likewise.
47722         * tests/test-sigaction.c: Likewise.
47723         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
47724         * modules/signal (Makefile.am): Likewise.
47725         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
47726         needed.
47727         * doc/posix-headers/signal.texi (signal.h): Mention provided
47728         types.
47729         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
47730         that sigaction is preferable.
47731         * doc/posix-functions/sigaction.texi (sigaction): Mention new
47732         module.
47733         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47734         sigaction.
47735
47736         Improve robustness of sigprocmask by overriding signal.
47737         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
47738         is in use.
47739         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
47740         (SIGKILL, SIGSTOP): Provide fallbacks.
47741         (rpl_signal): Implement.
47742         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
47743         signal can be called inside handlers.
47744
47745         Fix nanosleep module on mingw.
47746         * modules/nanosleep (Depends-on): Add sys_select.
47747         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
47748
47749         Fix licensing of sigprocmask.
47750         * modules/raise (License): Relicense as LGPL.
47751
47752 2008-06-21  Bruno Haible  <bruno@clisp.org>
47753
47754         * lib/propername.c (proper_name_utf8): Don't use the transliterated
47755         result if it contains question marks.
47756         Reported by Michael Geng <linux@michaelgeng.de>.
47757
47758 2008-06-19  Bruno Haible  <bruno@clisp.org>
47759
47760         Fix CVS-ism.
47761         * doc/gnulib.texi: Include updated-stamp.texi.
47762         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
47763         (updated-stamp.texi): New rule.
47764         (gnulib.info): Depend on it.
47765         * doc/.gitignore: Add updated-stamp.texi.
47766         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
47767
47768 2008-06-19  Bruno Haible  <bruno@clisp.org>
47769
47770         * doc/Makefile (gnulib.info): Update and simplify dependencies.
47771         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
47772
47773 2008-06-19  Eric Blake  <ebb9@byu.net>
47774
47775         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
47776         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
47777         Reported by Stepan Kasal.
47778
47779 2008-06-18  Bruno Haible  <bruno@clisp.org>
47780
47781         * lib/fatal-signal.c (init_fatal_signals): Add comment.
47782         Reported by Eric Blake.
47783
47784 2008-06-18  Eric Blake  <ebb9@byu.net>
47785
47786         Work around cygwin 1.5.25 strsignal bug.
47787         * tests/test-strsignal.c: Allow for const char *.
47788         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
47789
47790 2008-06-18  Simon Josefsson  <simon@josefsson.org>
47791
47792         * users.txt: Update URL to article and add author/date
47793         information.
47794
47795 2008-06-17  Bruno Haible  <bruno@clisp.org>
47796
47797         New macro gl_DISABLE_THREADS.
47798         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
47799         if the user did not pass --enable-threads or --disable-threads option.
47800         (gl_DISABLE_THREADS): New macro.
47801         Reported by Eric Blake <ebb9@byu.net>.
47802
47803 2008-06-17  Bruno Haible  <bruno@clisp.org>
47804
47805         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
47806         when the macro ignores it.
47807         Based on a patch by Eric Blake <ebb9@byu.net>.
47808
47809 2008-06-17  Bruno Haible  <bruno@clisp.org>
47810
47811         * modules/tls (License): Change to LGPLv2+.
47812         Reported by Eric Blake.
47813
47814 2008-06-17  Eric Blake  <ebb9@byu.net>
47815
47816         Simplify c-stack prerequisites.
47817         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
47818         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
47819         no longer requires <ucontext.h> to exist.  Optimize setrlimit
47820         check.
47821         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
47822         <sys/resource.h>.
47823
47824         Move c-stack test into testsuite.
47825         * modules/c-stack-tests: New file.
47826         * lib/c-stack.c [DEBUG]: Move test program...
47827         * tests/test-c-stack.c: ...into this new file.  Skip rather than
47828         fail test if sigaltstack is lacking.
47829         * tests/test-c-stack.sh: New driver file.
47830
47831 2008-06-16  Eric Blake  <ebb9@byu.net>
47832
47833         Use raise module consistently.
47834         * modules/fatal-signal (Depends-on): Add raise.
47835         * modules/sigprocmask (Depends-on): Likewise.
47836         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
47837         * lib/sigprocmask.c (sigprocmask): Likewise.
47838         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
47839         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
47840
47841         Fix compliance bug in sigpending.
47842         * lib/sigprocmask.c (sigpending): Return pending array via
47843         parameter, not return value.
47844
47845 2008-06-14  Eric Blake  <ebb9@byu.net>
47846
47847         Improve obstack-printf test code.
47848         * tests/test-obstack-printf.c (test_function): Fix comment, and
47849         simplify usage of obstack_* in macros.  Add a test for coverage.
47850         Reported by Bruno Haible.
47851
47852 2008-06-14  Bruno Haible  <bruno@clisp.org>
47853
47854         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
47855         array size as a constant, not as a const variable.
47856         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
47857         AC_USE_SYSTEM_EXTENSIONS.
47858         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
47859         Test whether the obstack_printf function actually exists.
47860         * modules/obstack-printf (Depends-on): Add extensions.
47861         (Include): Remove obstack.h.
47862         * modules/obstack-printf-posix (Depends-on): Add extensions.
47863         (Include): Remove obstack.h.
47864
47865 2008-06-13  Eric Blake  <ebb9@byu.net>
47866
47867         Add obstack-printf and obstack-printf-posix modules.
47868         * modules/obstack-printf: New file.
47869         * modules/obstack-printf-posix: Likewise.
47870         * MODULES.html.sh (Misc): Mention them.
47871         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
47872         Likewise.
47873         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
47874         Likewise.
47875         * modules/stdio (Makefile.am): Accomodate new modules.
47876         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47877         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
47878         Declare.
47879         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
47880         functions.
47881         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
47882         (gl_REPLACE_OBSTACK_PRINTF): New macros
47883         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
47884         * tests/test-obstack-printf.c: New file.
47885         * modules/obstack-printf-tests: Likewise.
47886         * modules/obstack-printf-posix-tests: Likewise.
47887
47888 2008-06-11  Bruno Haible  <bruno@clisp.org>
47889
47890         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
47891         * lib/open.c: Include errno.h.
47892         (open): Fail when attempting to write to a file that has a trailing
47893         slash.
47894         * tests/test-open.c (main): Test against trailing slash bug.
47895         * doc/posix-functions/open.texi: Mention the trailing slash bug.
47896
47897 2008-06-10  Bruno Haible  <bruno@clisp.org>
47898
47899         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
47900         for $? to work inside the trap command, with various /bin/sh-s.
47901         * tests/test-vc-list-files-cvs.sh: Likewise.
47902
47903 2008-06-10  Bruno Haible  <bruno@clisp.org>
47904
47905         * lib/acl-internal.h: Don't include gettext.h here.
47906         * lib/set-mode-acl.c: Include gettext.h here.
47907         * lib/copy-acl.c: Likewise.
47908
47909 2008-06-10  Bruno Haible  <bruno@clisp.org>
47910
47911         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
47912         * lib/wait-process.c (wait_subprocess): Likewise.
47913         * lib/execute.h (execute): Add termsigp argument.
47914         * lib/execute.c (execute): Likewise.
47915         * lib/csharpcomp.c (compile_csharp_using_pnet,
47916         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
47917         * lib/csharpexec.c (execute_csharp_using_pnet,
47918         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
47919         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
47920         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
47921         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
47922         is_jikes_present): Update.
47923         * lib/javaexec.c (execute_java_class): Update.
47924         * lib/javaversion.c (execute_and_read_line): Update.
47925         * NEWS: Document the changes.
47926         Reported by Eric Blake.
47927
47928 2008-06-10  Eric Blake  <ebb9@byu.net>
47929
47930         Add missing include.
47931         * tests/test-strstr.c (includes): Add <signal.h>.
47932         * tests/test-strcasestr.c (includes): Likewise.
47933         * tests/test-memmem.c (includes): Likewise.
47934
47935 2008-06-10  Bruno Haible  <bruno@clisp.org>
47936
47937         * lib/wait-process.c (wait_subprocess): Add an assertion.
47938
47939 2008-06-10  Bruno Haible  <bruno@clisp.org>
47940
47941         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
47942
47943 2008-06-10  Bruno Haible  <bruno@clisp.org>
47944
47945         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
47946         using alarm().
47947         * tests/test-strcasestr.c (main): Likewise.
47948         * tests/test-strstr.c (main): Likewise.
47949
47950 2008-06-09  Bruno Haible  <bruno@clisp.org>
47951
47952         Work around the Solaris 10 ACE ACLs ABI change.
47953         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
47954         declare if ACL_NO_TRIVIAL is present.
47955         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
47956         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
47957         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
47958         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
47959         define if ACL_NO_TRIVIAL is present.
47960         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
47961         and use the current ABI.
47962         (file_has_acl): Use same #if condition as elsewhere.
47963         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
47964         in use, and use the current ABI.
47965         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
47966         Reported by Jim Meyering.
47967
47968 2008-06-09  Eric Blake  <ebb9@byu.net>
47969
47970         Work around environments that (stupidly) ignore SIGALRM.
47971         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
47972         before using alarm().
47973         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
47974         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
47975         Reported by Ian Beckwith <ianb@erislabs.net>.
47976
47977         Produce autobuild blurb earlier in log.
47978         * modules/autobuild (configure.ac-early): Move AB_INIT here.
47979
47980 2008-06-09  Jim Meyering  <meyering@redhat.com>
47981         and OndÅ™ej Vašík  <ovasik@redhat.com>
47982
47983         utimens.c: correct kernel bug work-around
47984         OndÅ™ej Vašík found that the invalid return value of 280 indicates
47985         failure, not success, and the kernel bug we're trying to work
47986         around affects not just the utimensat call, but also the fallback
47987         futimens call.
47988         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
47989         not success.
47990         [HAVE_FUTIMENS]: Use the same work-around, here.
47991
47992 2008-06-09  Jim Meyering  <meyering@redhat.com>
47993
47994         add more guards around definition of ACE_-related code
47995         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
47996         ALLOW and ACE_OWNER are also defined.
47997
47998 2008-06-08  Bruno Haible  <bruno@clisp.org>
47999
48000         * lib/acl-internal.h: Add me as co-author.
48001         * lib/file-has-acl.c: Likewise.
48002         * lib/set-mode-acl.c: Likewise.
48003         * lib/copy-acl.c: Likewise.
48004
48005 2008-06-08  Bruno Haible  <bruno@clisp.org>
48006
48007         Add support for AIX ACLs.
48008         * lib/acl-internal.h (acl_nontrivial): New declaration.
48009         * lib/file-has-acl.c (acl_nontrivial): New function.
48010         (file_has_acl): Add implementation using AIX 4 ACL API.
48011         * lib/set-mode-acl.c (qset_acl): Likewise.
48012         * lib/copy-acl.c (qcopy_acl): Likewise.
48013
48014 2008-06-08  Bruno Haible  <bruno@clisp.org>
48015
48016         Add support for HP-UX ACLs.
48017         * lib/acl-internal.h (acl_nontrivial): New declaration.
48018         * lib/file-has-acl.c (acl_nontrivial): New function.
48019         (file_has_acl): Add implementation using HP-UX 11 ACL API.
48020         * lib/set-mode-acl.c (qset_acl): Likewise.
48021         * lib/copy-acl.c (qcopy_acl): Likewise.
48022
48023 2008-06-08  Bruno Haible  <bruno@clisp.org>
48024
48025         Add support for Cygwin ACLs.
48026         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
48027         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
48028         the chmod_or_fchmod call.
48029         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
48030
48031 2008-06-08  Bruno Haible  <bruno@clisp.org>
48032
48033         Fix bug with setuid modes in Solaris 10+ code.
48034         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
48035         succeeded, when the mode contains some special bits.
48036
48037 2008-06-08  Bruno Haible  <bruno@clisp.org>
48038
48039         Add support for Solaris 7..10 ACLs.
48040         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
48041         declarations.
48042         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
48043         functions.
48044         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
48045         * lib/set-mode-acl.c (qset_acl): Likewise.
48046         * lib/copy-acl.c (qcopy_acl): Likewise.
48047
48048 2008-06-08  Bruno Haible  <bruno@clisp.org>
48049
48050         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
48051         declaration.
48052         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
48053         (acl_access_nontrivial): Remove MacOS X case.
48054         (file_has_acl): Use acl_extended_nontrivial.
48055         * lib/copy-acl.c (qcopy_acl): Likewise.
48056
48057 2008-06-08  Bruno Haible  <bruno@clisp.org>
48058
48059         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
48060
48061 2008-06-08  Jim Meyering  <meyering@redhat.com>
48062
48063         * modules/acl (Maintainer): Add Bruno Haible.
48064
48065 2008-06-07  Bruno Haible  <bruno@clisp.org>
48066
48067         Improve support for Tru64 ACLs.
48068         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
48069         ACL on OSF/1.
48070
48071 2008-06-07  Bruno Haible  <bruno@clisp.org>
48072
48073         Add support for MacOS X ACLs.
48074         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
48075         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
48076         * lib/set-mode-acl.c (qset_acl): Likewise.
48077         * lib/copy-acl.c (qcopy_acl): Likewise.
48078
48079 2008-06-07  Bruno Haible  <bruno@clisp.org>
48080
48081         Fix memory leak introduced on 2008-05-22.
48082         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
48083         use.
48084
48085 2008-06-07  Bruno Haible  <bruno@clisp.org>
48086
48087         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
48088         to construct an empty ACL.
48089
48090 2008-06-07  Bruno Haible  <bruno@clisp.org>
48091
48092         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
48093         precisely.
48094         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
48095
48096 2008-06-07  Bruno Haible  <bruno@clisp.org>
48097
48098         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
48099         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
48100
48101 2008-06-07  Bruno Haible  <bruno@clisp.org>
48102
48103         * doc/posix-functions/_setjmp.texi: Explain the use of this function
48104         regardless of POSIX.
48105         * doc/posix-functions/_longjmp.texi: Likewise.
48106         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
48107         SystemV platform in this case.
48108
48109 2008-06-06  Eric Blake  <ebb9@byu.net>
48110
48111         Document abort() bugs.
48112         * doc/posix-functions/abort.texi (abort): Mention anomalies.
48113
48114         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
48115         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
48116         sigsetjmp.
48117         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
48118         siglongjmp, but only as a macro.
48119         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
48120         is obsolete.
48121         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
48122
48123         Tweak documentation to cover cygwin argz bugs.
48124         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
48125         argz bug fix; no code change needed since no cygwin releases
48126         occurred between the last fix and the bug being tested.
48127         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
48128         module and recently fixed cygwin bugs.
48129         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
48130         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
48131         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
48132         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
48133         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
48134         Likewise.
48135         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
48136         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
48137         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
48138         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
48139         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
48140         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
48141         Likewise.
48142
48143         Avoid gcc warning on cygwin.
48144         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
48145         !ACL_NO_TRIVIAL]: Avoid unused variable.
48146
48147 2008-06-05  Eric Blake  <ebb9@byu.net>
48148
48149         Be tolerant of UNKNOWN version in gnulib-tool test dir.
48150         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
48151         git-version-gen fails to come up with a version.
48152         Reported by Simon Josefsson.
48153
48154 2008-06-05  Jim Meyering  <meyering@redhat.com>
48155             Paul Eggert  <eggert@cs.ucla.edu>
48156
48157         utimens.c: work around a probable Linux kernel bug
48158         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
48159         appears to be a kernel bug that causes utimensat to return 280
48160         instead of 0, indicating success.
48161
48162 2008-06-04  Bruno Haible  <bruno@clisp.org>
48163
48164         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
48165         2008-06-01 commit.
48166
48167 2008-06-04  Bruno Haible  <bruno@clisp.org>
48168
48169         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
48170         * lib/file-has-acl.c (acl_access_nontrivial): New function.
48171         (file_has_acl): Use it. Save errno afterwards.
48172         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
48173
48174 2008-06-03  Bruno Haible  <bruno@clisp.org>
48175
48176         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
48177         draft code. Simplify #ifs.
48178         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
48179         Put Solaris code after POSIX-draft code. Fix comments regarding
48180         Solaris 10, HP-UX. Mention Cygwin.
48181         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
48182
48183 2008-06-03  Eric Blake  <ebb9@byu.net>
48184
48185         Provide fallback for older kernels.
48186         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
48187         Provide runtime fallback if kernel lacks support.
48188         Reported by Mike Frysinger.
48189
48190 2008-06-02  Bruno Haible  <bruno@clisp.org>
48191
48192         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
48193         it exists.
48194
48195 2008-06-02  Bruno Haible  <bruno@clisp.org>
48196
48197         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
48198         * lib/copy-acl.c (qcopy_acl): Update comment.
48199
48200 2008-06-02  Bruno Haible  <bruno@clisp.org>
48201
48202         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
48203         like ACL APIs.
48204
48205 2008-06-02  Bruno Haible  <bruno@clisp.org>
48206
48207         * tests/test-file-has-acl.sh: Use different code for Cygwin.
48208         * tests/test-set-mode-acl.sh: Likewise.
48209         * tests/test-copy-acl.sh: Likewise.
48210         * tests/test-copy-file.sh: Likewise.
48211
48212 2008-06-02  Bruno Haible  <bruno@clisp.org>
48213
48214         * tests/test-file-has-acl.sh: Remove unused code.
48215
48216 2008-06-01  Bruno Haible  <bruno@clisp.org>
48217
48218         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
48219         (copy_acl): Just a wrapper around qcopy_acl that emits the error
48220         messages.
48221         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
48222
48223 2008-06-01  Bruno Haible  <bruno@clisp.org>
48224
48225         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
48226         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
48227         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
48228         APIs.
48229         * modules/acl-tests (configure.ac): Remove tests now contained in
48230         m4/acl.m4.
48231
48232 2008-06-02  Jim Meyering  <meyering@redhat.com>
48233
48234         announce-gen: use a better key-server host name
48235         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
48236         it may be more consistently reliable.  Suggested by Werner Koch
48237         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
48238
48239 2008-06-01  Bruno Haible  <bruno@clisp.org>
48240
48241         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
48242         Reported by Voroskoi Andras <voroskoi@gmail.com>.
48243
48244 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
48245
48246         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
48247
48248 2008-06-01  Bruno Haible  <bruno@clisp.org>
48249
48250         New ACL tests.
48251         * tests/test-file-has-acl.sh: New file.
48252         * tests/test-file-has-acl.c: New file.
48253         * tests/test-set-mode-acl.sh: New file.
48254         * tests/test-set-mode-acl.c: New file.
48255         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
48256         * tests/test-copy-acl.c: New file.
48257         * modules/acl-tests: New file, based on modules/copy-file-tests.
48258         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
48259         (Depends-on): Add acl-tests.
48260         (configure.ac): Remove checks.
48261         (Makefile.am): Don't create test-sameacls program here any more.
48262
48263 2008-06-01  Bruno Haible  <bruno@clisp.org>
48264
48265         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
48266         * tests/test-sameacls.c: Include progname.h.
48267         (main): Invoke set_program_name. Portability fixes for MacOS X,
48268         Solaris, HP-UX.
48269
48270 2008-06-01  Bruno Haible  <bruno@clisp.org>
48271
48272         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
48273         function.
48274         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
48275
48276 2008-06-01  Bruno Haible  <bruno@clisp.org>
48277
48278         * modules/rpmatch (Depends-on): Add strdup.
48279
48280 2008-06-01  Bruno Haible  <bruno@clisp.org>
48281
48282         * lib/pipe.c: Include unistd-safer.h.
48283         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
48284         * modules/pipe (Depends-on): Add unistd-safer.
48285
48286 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48287
48288         * modules/autobuild (configure.ac): Call AB_INIT.
48289
48290 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48291
48292         * tests/test-getaddrinfo.c: Don't print debug messages by default.
48293         Suggested by Bruno Haible <bruno@clisp.org>.
48294
48295 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48296
48297         * tests/test-base64.c: Cast size_t to unsigned long when invoking
48298         printf.  Use %lu instead of %d.  Reported by Bruno Haible
48299         <bruno@clisp.org>.
48300
48301 2008-05-29  Eric Blake  <ebb9@byu.net>
48302
48303         Prefer new POSIX 200x interfaces over futimesat.
48304         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
48305         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
48306         when available.
48307         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
48308
48309 2008-05-28  Bruno Haible  <bruno@clisp.org>
48310
48311         * modules/stpcpy (License): Change to LGPLv2+.
48312         Requested by David Lutterkort <dlutter@redhat.com>.
48313
48314 2008-05-27  Bruno Haible  <bruno@clisp.org>
48315
48316         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
48317         current mingw.
48318         Reported by Jose E. Marchesi <jemarch@gnu.org>.
48319
48320 2008-05-27  Bruno Haible  <bruno@clisp.org>
48321
48322         * modules/iconv_open (Link): New section, from module 'iconv'.
48323         * modules/striconv (Link): Likewise.
48324         * modules/striconveh (Link): Likewise.
48325         * modules/xstriconv (Link): Likewise.
48326         * modules/unicodeio (Link): Likewise.
48327         * modules/propername (Link): Likewise.
48328         Reported by Jim Meyering.
48329
48330 2008-05-26  Jim Meyering  <meyering@redhat.com>
48331
48332         sha256: do not artificially restrict buffer length to be < 2^32
48333         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
48334         uint32_t to size_t.
48335         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
48336         to match.
48337
48338         avoid unaligned access errors, e.g., on sparc
48339         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
48340         direct access through a possibly-unaligned uint64* pointer.
48341         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
48342         direct access through a possibly-unaligned uint32* pointer.
48343         Prompted by this patch from Tom "spot" Callaway:
48344         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
48345
48346         sha512.c: fix typo in comment
48347         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
48348
48349 2008-05-25  Bruno Haible  <bruno@clisp.org>
48350
48351         * lib/set-mode-acl.c: Renamed from lib/acl.c.
48352         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
48353         (Makefile.am): Update lib_SOURCES.
48354
48355 2008-05-25  Bruno Haible  <bruno@clisp.org>
48356
48357         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
48358
48359 2008-05-25  Jim Meyering  <meyering@redhat.com>
48360
48361         useless-if-before-free: freed expr may have white-space differences
48362         * build-aux/useless-if-before-free: Recognize cases in which the
48363         freed expression differs from the tested one in embedded white
48364         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
48365         $1 was used, so we can't make any regexp shy.  Improved tests now
48366         detect this.
48367
48368         useless-if-before-free: accept white space in the expression.
48369         * build-aux/useless-if-before-free: For now, any white space
48370         in the expression must be identical in the free argument.
48371
48372         useless-if-before-free: efficiency tweak
48373         * build-aux/useless-if-before-free: Make the expression-matching
48374         regexp "shy".
48375         Make the *outer* regexp shy, not the expr-matching one.
48376
48377         update code-in-comment to accept cast of free arg
48378         * build-aux/useless-if-before-free: Update regexp.
48379
48380 2008-05-25  Bruno Haible  <bruno@clisp.org>
48381
48382         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
48383         * modules/copy-file-tests (Files, Makefile.am): Update.
48384         * tests/test-copy-file.c (func_test_copy): Update.
48385
48386 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
48387
48388         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
48389
48390 2008-05-23  Bruno Haible  <bruno@clisp.org>
48391
48392         Improve support for ACLs on OSF/1.
48393         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
48394         Remove fallback for unknown flavors of ACLs.
48395
48396 2008-05-22  Bruno Haible  <bruno@clisp.org>
48397
48398         Add support for ACLs on OSF/1.
48399         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
48400         replacements.
48401         (acl_free_text): New macro fallback.
48402         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
48403         acl_free.
48404         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
48405         acl_free_text function. Require AC_C_INLINE.
48406
48407 2008-05-22  Bruno Haible  <bruno@clisp.org>
48408
48409         Make copy_acl work on MacOS X 10.5.
48410         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
48411         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
48412         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
48413         If MODE_INSIDE_ACL, don't assume that every system has the same text
48414         representation for ACLs as FreeBSD.
48415         * lib/copy-acl.c (copy_acl): Add support for platforms with
48416         !MODE_INSIDE_ACL.
48417         * lib/file-has-acl.c (file_has_acl): Likewise.
48418         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
48419         FreeBSD, MacOS X, or IRIX, respectively.
48420
48421 2008-05-22  Bruno Haible  <bruno@clisp.org>
48422
48423         * lib/acl.h: Don't include <sys/acl.h>.
48424         (GETACLCNT): Move fallback to lib/acl-internal.h.
48425         * lib/acl-internal.h: Include <sys/acl.h> here.
48426         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
48427
48428 2008-05-22  Bruno Haible  <bruno@clisp.org>
48429
48430         Split off copy_acl function to separate file.
48431         * lib/copy-acl.c: New file, extracted from lib/acl.c.
48432         * lib/acl.c (copy_acl): Moved function to separate file.
48433         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
48434         * modules/acl (Files): Add lib/copy-acl.c.
48435         (Makefiles.am): Augment lib_SOURCES.
48436
48437 2008-05-22  Bruno Haible  <bruno@clisp.org>
48438
48439         * modules/copy-file-tests: New file.
48440         * tests/test-copy-file.sh: New file.
48441         * tests/test-copy-file.c: New file.
48442         * tests/test-copy-file-sameacls.c: New file.
48443
48444 2008-05-22  Eric Blake  <ebb9@byu.net>
48445
48446         Avoid gcc warning.
48447         * tests/test-memcmp.c (main): Pass NULL indirectly.
48448
48449 2008-05-21  Bruno Haible  <bruno@clisp.org>
48450
48451         Add reference doc about ACLs.
48452         * doc/acl-resources.txt: New file.
48453         * doc/acl-cygwin.txt: New file.
48454
48455 2008-05-21  Bruno Haible  <bruno@clisp.org>
48456
48457         Avoid one more warning from gcc.
48458         * lib/vasnprintf.c (IF_LINT): Update comments.
48459         (VASNPRINTF): Use it also for the 'prefix' array initializer.
48460
48461 2008-05-21  Jim Meyering  <meyering@redhat.com>
48462
48463         avoid a warning from gcc
48464         * lib/vasnprintf.c (IF_LINT): Define.
48465         (scale10_round_decimal_long_double):
48466         Use it to avoid a "may be used uninitialized" warning.
48467         (scale10_round_decimal_double): Likewise.
48468
48469 2008-05-21  Simon Josefsson  <simon@josefsson.org>
48470
48471         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
48472         declared.
48473
48474 2008-05-20  Bruno Haible  <bruno@clisp.org>
48475
48476         * tests/test-memcmp.c (main): Test also the sign of the result. Test
48477         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
48478
48479 2008-05-20  Simon Josefsson  <simon@josefsson.org>
48480
48481         * modules/memcmp-tests: New file.
48482         * tests/test-memcmp.c: New file.
48483
48484 2008-05-19  Bruno Haible  <bruno@clisp.org>
48485
48486         * modules/propername (Notice, configure.ac): Put quoted "..." into
48487         --keyword option.
48488         * lib/propername.h: Update comments accordingly.
48489         Reported by Eric Blake.
48490
48491 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
48492
48493         * modules/getpass-gnu (Depends-on): Add fseeko.
48494
48495 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48496
48497         * modules/base64-tests: New file.
48498
48499 2008-05-19  Bo Borgerson <gigabo@gmail.com>
48500
48501         * lib/base64.c (base64_decode_ctx): If a decode context structure
48502         was passed in use it to ignore newlines.  If a context structure
48503         was _not_ passed in, continue to treat newlines as garbage (this
48504         is the historical behavior).  Formerly base64_decode.
48505         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48506         takes a decode context structure.
48507         * lib/base64.h (base64_decode): Macro for four-argument calls.
48508         (base64_decode_alloc): Likewise.
48509         * lib/base64.c (base64_decode_ctx): If a decode context structure
48510         was passed in use it to ignore newlines.  If a context structure
48511         was _not_ passed in, continue to treat newlines as garbage (this
48512         is the historical behavior).  Formerly base64_decode.
48513         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48514         takes a decode context structure.
48515         * lib/base64.h (base64_decode): Macro for four-argument calls.
48516         (base64_decode_alloc): Likewise.
48517
48518 2008-05-19  Jim Meyering  <meyering@redhat.com>
48519
48520         avoid a warning from gcc
48521         * lib/trim.c (IF_LINT): Define.
48522         (trim2): Use it to avoid a "may be used uninitialized" warning.
48523
48524         Fix doc typo.
48525         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
48526
48527 2008-05-19  Bruno Haible  <bruno@clisp.org>
48528
48529         * doc/glibc-functions/getpass.texi: Document limits of other
48530         implementations.
48531
48532 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48533             Bruno Haible <bruno@clisp.org>
48534
48535         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
48536
48537 2008-05-18  Bruno Haible  <bruno@clisp.org>
48538
48539         * modules/propername: New file, from GNU gettext.
48540         * lib/propername.h: New file, from GNU gettext.
48541         * lib/propername.c: New file, from GNU gettext.
48542         * MODULES.html.sh (Internationalization functions): Add propername.
48543
48544 2008-05-16  Jim Meyering  <meyering@redhat.com>
48545             Bruno Haible  <bruno@clisp.org>
48546
48547         Avoid some warnings from "gcc -Wshadow".
48548         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
48549
48550 2008-05-15  Eric Blake  <ebb9@byu.net>
48551
48552         Extend previous patch to cygwin 1.7.0.
48553         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
48554         fast implementation in cygwin >= 1.7.0.
48555         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48556         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48557
48558 2008-05-15  Bruno Haible  <bruno@clisp.org>
48559
48560         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
48561         implementation in glibc >= 2.9.
48562         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48563         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48564
48565 2008-05-15  Bruno Haible  <bruno@clisp.org>
48566
48567         * MODULES.html.sh (Internationalization functions): Remove linebreak.
48568         (Unicode string functions): Add unilbrk/*.
48569         Reported by Karl Berry.
48570
48571 2008-05-15  Eric Blake  <ebb9@byu.net>
48572
48573         Fix violation of <stdbool.h> replacement in regex.
48574         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
48575         * lib/regexec.c (re_search_internal): Likewise.
48576         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
48577
48578 2008-05-15  Jim Meyering  <meyering@redhat.com>
48579
48580         avoid distracting test output when git or cvs is not found
48581         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
48582         * tests/test-vc-list-files-git.sh: Likewise.
48583
48584 2008-05-15  Eric Blake  <ebb9@byu.net>
48585
48586         Glibc finally accepted the memmem speedup code, bugzilla #5514.
48587         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
48588         glibc version.
48589         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48590         * doc/posix-functions/strstr.texi (strstr): Likewise.
48591         * lib/str-two-way.h (MAX): Sychronize with glibc.
48592
48593 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
48594
48595         * lib/regcomp.c (optimize_utf8): Add a note on why we test
48596         opr.ctx_type.
48597         (calc_first): Initialize constraint field.
48598         (duplicate_node_closure): Use it instead of special casing ANCHORS.
48599         Fix grammar.
48600         (duplicate_node): Merge constraint field for all node types.
48601         (calc_eclosure_iter): Look at constraint field for all node types.
48602         * lib/regex_internal.c (create_cd_newstate): Don't look at
48603         opr.ctx_type.
48604
48605 2008-05-14  Bruno Haible  <bruno@clisp.org>
48606
48607         Help GCC to do better code generation.
48608         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
48609         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
48610         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
48611         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
48612         Declare with attribute 'malloc' if supported.
48613
48614 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
48615
48616         use "echo STR|wc -c" rather than unportable "expr length STR"
48617         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
48618         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
48619
48620 2008-05-14  Jim Meyering  <meyering@redhat.com>
48621
48622         use dd ibs=$n count=1 ... rather than less-portable head -c$n
48623         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
48624         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
48625         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
48626         via Collin Lasse.
48627
48628 2008-05-14  Eric Blake  <ebb9@byu.net>
48629
48630         Avoid quadratic growth in gl_LIBSOURCES.
48631         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
48632         Suggested by Bruno Haible.
48633
48634         Test xmemdup0.
48635         * modules/xmemdup0-tests: New file.
48636         * tests/test-xmemdup0.c: Likewise.
48637
48638 2008-05-13  Eric Blake  <ebb9@byu.net>
48639
48640         Split xmemdup0 into its own module.
48641         * modules/xmemdup0: New file.
48642         * lib/xmemdup0.h: Likewise.
48643         * lib/xmemdup0.c: Likewise.
48644         * MODULES.html.sh (Memory management functions): Add xmemdup0.
48645         * lib/xalloc.h (xmemdup0): Remove.
48646         * lib/xmalloc.c (xmemdup0): Likewise.
48647
48648 2008-05-13  Eric Blake  <ebb9@byu.net>
48649             Bruno Haible  <bruno@clisp.org>
48650
48651         Reduce number of forks required during autoconf.
48652         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
48653         and gl_LIBSOURCES_DIR.
48654         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
48655         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
48656         m4_syscmd per file.
48657         <m4_foreach_w>: Move...
48658         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
48659
48660 2008-05-13  Eric Blake  <ebb9@byu.net>
48661
48662         * gnulib-tool: Fix various comment typos.
48663
48664 2008-05-12  Bruno Haible  <bruno@clisp.org>
48665
48666         Tailor the linebreaking algorithm.
48667         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
48668
48669 2008-05-12  Bruno Haible  <bruno@clisp.org>
48670
48671         Update to Unicode 5.0.0.
48672         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
48673         LBP_JV, LBP_JT. Redistribute values.
48674         (unilbrk_table): Change size.
48675         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
48676         Unicode TR#14 rev. 22.
48677         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
48678         LBP_JV, LBP_JT. Redistribute values.
48679         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
48680         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
48681         Update.
48682         * lib/unilbrk/lbrkprop1.h: Regenerated.
48683         * lib/unilbrk/lbrkprop2.h: Regenerated.
48684         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
48685         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
48686         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
48687         Likewise.
48688         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
48689         Likewise.
48690         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
48691         result.
48692         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
48693         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
48694         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
48695         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
48696         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
48697         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
48698
48699 2008-05-11  Bruno Haible  <bruno@clisp.org>
48700
48701         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
48702
48703 2008-05-11  Bruno Haible  <bruno@clisp.org>
48704
48705         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
48706         * modules/unilbrk/gen-lbrk: New file.
48707
48708 2008-05-11  Bruno Haible  <bruno@clisp.org>
48709
48710         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
48711         * m4/sha512.m4 (gl_SHA512): Likewise.
48712
48713 2008-05-11  Jim Meyering  <meyering@redhat.com>
48714
48715         New modules: crypto/sha256, crypto/sha512 (from coreutils)
48716         * modules/crypto/sha256: New file.
48717         * modules/crypto/sha512: Likewise.
48718         * lib/sha256.c: Likewise.
48719         * lib/sha256.h: Likewise.
48720         * lib/sha512.c: Likewise.
48721         * lib/sha512.h: Likewise.
48722         * lib/u64.h: Likewise.
48723         * m4/sha256.m4: Likewise.
48724         * m4/sha512.m4: Likewise.
48725         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
48726
48727 2008-05-10  Bruno Haible  <bruno@clisp.org>
48728
48729         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
48730         (Input/Output <stdio.h>): Add xprintf.
48731         (Signal handling <signal.h>): Add strsignal.
48732         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
48733         (Core language properties): Add func.
48734         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
48735         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
48736         strings.
48737         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
48738         (Input/output): New section.
48739         (File system functions): Add openat-die, stat-macros.
48740         (Networking functions): Add sockets.
48741         (Unicode string functions): Add unictype/*.
48742         (Support for building libraries and executables): Add gperf.
48743         (Support for building documentation): Add agpl-3.0.
48744         (Misc): Add nocrash.
48745
48746 2008-05-10  Bruno Haible  <bruno@clisp.org>
48747
48748         * modules/unictype/gen-ctype: New file.
48749
48750 2008-05-10  Jim Meyering  <meyering@redhat.com>
48751
48752         Make chdir-safer.c more efficient on a system with no symlinks.
48753         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
48754         also if ELOOP is zero.  Suggested by Bruno Haible.
48755
48756         Make chdir-safer.c slightly safer.
48757         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
48758         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
48759
48760         Avoid compile failure on systems without ELOOP (like mingw).
48761         * lib/chdir-safer.c (ELOOP): Define if not already defined.
48762         Reported by Bruno Haible.
48763
48764 2008-05-10  Bruno Haible  <bruno@clisp.org>
48765
48766         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
48767         (is_utf8_encoding): Use a case-insensitive comparison.
48768         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
48769         streq.
48770
48771 2008-05-10  Bruno Haible  <bruno@clisp.org>
48772
48773         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
48774         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
48775         * lib/unilbrk/ulc-common.h (iconv_string_length,
48776         iconv_string_keeping_offsets): Remove declarations.
48777         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
48778         Don't include <iconv.h>, streq.h, xsize.h.
48779         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
48780         conversion.
48781         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
48782         <iconv.h>, streq.h, xsize.h.
48783         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
48784         conversion.
48785         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
48786         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
48787         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
48788         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
48789
48790 2008-05-10  Bruno Haible  <bruno@clisp.org>
48791
48792         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
48793         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
48794
48795         * modules/unilbrk/u32-width-linebreaks-tests: New file.
48796         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
48797
48798         * modules/unilbrk/u16-width-linebreaks-tests: New file.
48799         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
48800
48801         * modules/unilbrk/u8-width-linebreaks-tests: New file.
48802         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
48803
48804         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
48805         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
48806
48807         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
48808         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
48809
48810         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
48811         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
48812
48813         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
48814         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
48815
48816 2008-05-10  Bruno Haible  <bruno@clisp.org>
48817
48818         Split up 'linebreak' module.
48819         * lib/unilbrk.h: New file, based on lib/linebreak.h.
48820         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
48821         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
48822         modifications.
48823         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
48824         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
48825         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
48826         lib/linebreak.c.
48827         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
48828         lib/linebreak.c.
48829         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
48830         lib/linebreak.c.
48831         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
48832         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
48833         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
48834         lib/linebreak.c.
48835         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
48836         lib/linebreak.c.
48837         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
48838         lib/linebreak.c.
48839         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
48840         lib/linebreak.c.
48841         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
48842         lib/linebreak.c.
48843         * modules/unilbrk/base: New file.
48844         * modules/unilbrk/tables: New file.
48845         * modules/unilbrk/u8-possible-linebreaks: New file.
48846         * modules/unilbrk/u16-possible-linebreaks: New file.
48847         * modules/unilbrk/u32-possible-linebreaks: New file.
48848         * modules/unilbrk/ulc-common: New file.
48849         * modules/unilbrk/ulc-possible-linebreaks: New file.
48850         * modules/unilbrk/u8-width-linebreaks: New file.
48851         * modules/unilbrk/u16-width-linebreaks: New file.
48852         * modules/unilbrk/u32-width-linebreaks: New file.
48853         * modules/unilbrk/ulc-width-linebreaks: New file.
48854         * lib/linebreak.h: Remove file.
48855         * lib/linebreak.c: Remove file.
48856         * m4/linebreak.m4: Remove file.
48857         * modules/linebreak: Remove file.
48858         * NEWS: Mention the changes.
48859
48860 2008-05-09  Eric Blake  <ebb9@byu.net>
48861
48862         Add xmemdup0.
48863         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
48864         implementation.
48865         * lib/xmalloc.c (xmemdup0): New C implementation.
48866
48867 2008-05-08  Bruno Haible  <bruno@clisp.org>
48868
48869         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
48870
48871 2008-05-07  Eric Blake  <ebb9@byu.net>
48872
48873         Support cross-compilation of <wctype.h>.
48874         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
48875         AC_CACHE_CHECK.
48876
48877 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
48878
48879         * build-aux/vc-list-files: Add support for bzr.
48880
48881 2008-05-03  Jim Meyering  <meyering@redhat.com>
48882
48883         avoid failed assertion with tight malloc
48884         * tests/test-getndelim2.c: Correct an off-by-one assertion.
48885
48886 2008-05-03  Simon Josefsson  <simon@josefsson.org>
48887
48888         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
48889         are needed from arpa/inet.h.
48890         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
48891         Reported by Bruno Haible.
48892
48893 2008-05-02  Jim Meyering  <meyering@redhat.com>
48894
48895         avoid compilation error on FreeBSD 6
48896         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
48897
48898 2008-05-01  Jim Meyering  <meyering@redhat.com>
48899
48900         useless-if-before-free: correct --help's exit status description
48901         * build-aux/useless-if-before-free (usage): Like grep, exit 0
48902         for one or more matches, etc.  Reported by Bruno Haible.
48903
48904         vc-list-files: make the stand-alone gnulib test work
48905         * modules/vc-list-files-tests (configure.ac):
48906         Define and AC_SUBST abs_aux_dir.
48907         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
48908         $(abs_top_srcdir) to each script and having each of them
48909         duplicate the work of setting PATH, set PATH here, using
48910         the new variable, abs_aux_dir instead.
48911         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
48912         * tests/test-vc-list-files-git.sh: Likewise.
48913         Reported by Bruno Haible.
48914
48915 2008-05-01  Bruno Haible  <bruno@clisp.org>
48916
48917         * lib/getndelim2.c (getndelim2): Fix newsize computation during
48918         reallocation. Rename 'done' to 'found_delimiter'.
48919
48920 2008-05-01  Jim Meyering  <meyering@redhat.com>
48921
48922         vc-list-files: accommodate /bin/sh like the one from Solaris 10
48923         * build-aux/vc-list-files: Use `...`, not $(...).
48924
48925 2008-04-30  Jim Meyering  <meyering@redhat.com>
48926
48927         add tests for vc-list-files
48928         * modules/vc-list-files-tests: New module.
48929         * tests/test-vc-list-files-cvs.sh: New file.
48930         * tests/test-vc-list-files-git.sh: New file.
48931
48932         avoid a warning from gcc
48933         * lib/getndelim2.c (IF_LINT): Define.
48934         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
48935
48936         vc-list-files: work properly with build-aux/cvsu, too
48937         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
48938         to all cvs-based clauses.
48939
48940         vc-list-files: work properly in the CVS+awk case, too
48941         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
48942
48943         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
48944         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
48945         take more than one file argument, so .  Add quotes, just in case $dir
48946         ever contains a shell meta-character.  Prompted by Soren Hansen in
48947         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
48948
48949 2008-04-29  Eric Blake  <ebb9@byu.net>
48950
48951         Optimize getndelim2 to use block operations when possible.
48952         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
48953         freadseek, and memchr2.
48954         * lib/getndelim2.c (getndelim2): Use them for block reads.
48955
48956 2008-04-29  Bruno Haible  <bruno@clisp.org>
48957
48958         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
48959         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
48960         * modules/inet_ntop (Depends-on): Add extensions.
48961         * modules/inet_pton (Depends-on): Likewise.
48962         Reported by Simon Josefsson.
48963
48964 2008-04-29  Jim Meyering  <meyering@redhat.com>
48965
48966         When the is more than one match in a block, match all of them.
48967         * build-aux/useless-if-before-free: Iterate through each block
48968         until there are no more matches.
48969
48970         Fix broken useless-if-before-free script.
48971         * build-aux/useless-if-before-free: Fix typo: missing "?" after
48972         the expression to match cast of argument to free-like function.
48973
48974 2008-04-29  Eric Blake  <ebb9@byu.net>
48975
48976         Use new header.
48977         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
48978
48979 2008-04-29  Jim Meyering  <meyering@redhat.com>
48980
48981         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
48982         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
48983         by gnulib to exist and to declare e.g., inet_ntop.
48984         Don't include "inet_ntop.h", now removed.
48985
48986         * m4/arpa_inet_h.m4: Remove trailing blanks.
48987
48988 2008-04-29  Eric Blake  <ebb9@byu.net>
48989
48990         Silence valgrind on safe reads beyond potential array bounds.
48991         * lib/rawmemchr.valgrind: New file.
48992         * lib/strchrnul.valgrind: Likewise.
48993         * modules/rawmemchr (Files): Distribute new file.
48994         * modules/strchrnul (Files): Likewise.
48995         Suggested by Bruno Haible.
48996
48997 2008-04-29  Bruno Haible  <bruno@clisp.org>
48998
48999         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
49000         (inet_ntop, inet_pton): Change portability warning's wording.
49001         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
49002         Invoke gl_CHECK_NEXT_HEADERS.
49003         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
49004         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
49005         set ARPA_INET_H.
49006         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49007         * modules/arpa_inet (Description): No longer only for systems that
49008         lack it.
49009         (Depends-on): Add include_next.
49010         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
49011         HAVE_ARPA_INET_H.
49012
49013 2008-04-29  Jim Meyering  <meyering@redhat.com>
49014
49015         * modules/mkdir (License): Re-license as LGPLv2+.
49016
49017 2008-04-29  Bruno Haible  <bruno@clisp.org>
49018
49019         * modules/rawmemchr (Maintainer): Set to Eric.
49020         * modules/strchrnul (Maintainer): Likewise.
49021
49022 2008-04-29  Simon Josefsson  <simon@josefsson.org>
49023
49024         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
49025         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
49026
49027         * modules/arpa_inet (arpa/inet.h): Use them.
49028
49029 2008-04-28  Eric Blake  <ebb9@byu.net>
49030
49031         Test getndelim2.
49032         * modules/getndelim2-tests: New file.
49033         * tests/test-getndelim2.c: Likewise.
49034         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
49035         stream.
49036         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
49037
49038         * MODULES.html.sh: Document new module.
49039
49040 2008-04-20  Bruno Haible  <bruno@clisp.org>
49041
49042         * lib/c-stack.c (die): Use raise.
49043         * modules/c-stack (Depends-on): Add raise.
49044
49045 2008-04-28  Bruno Haible  <bruno@clisp.org>
49046
49047         Expect rpmatch to be declared.
49048         * lib/yesno.c (rpmatch): Remove declaration.
49049
49050         Declare rpmatch.
49051         * lib/stdlib.in.h (rpmatch): New declaration.
49052         * lib/rpmatch.c: Include <stdlib.h> first.
49053         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
49054         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
49055         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
49056         HAVE_RPMATCH.
49057         * modules/rpmatch (Depends-on): Add stdlib, extensions.
49058         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49059         (Include): Set to <stdlib.h>.
49060         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
49061         HAVE_RPMATCH.
49062         * NEWS: Document the change.
49063
49064 2008-04-28  Bruno Haible  <bruno@clisp.org>
49065
49066         Change rpmatch to use nl_langinfo when appropriate.
49067         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
49068         (N_): New macro.
49069         (localized_pattern): New function/macro.
49070         (try): Remove match, nomatch arguments. Copy the pattern into safe
49071         memory before caching it.
49072         (rpmatch): Use localized_pattern. Add translator comments.
49073         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
49074         Suggested by Eric Blake.
49075         * modules/rpmatch (Depends-on): Add stdbool.
49076
49077 2008-04-28  Eric Blake  <ebb9@byu.net>
49078
49079         Add rawmemchr module, matching glibc.
49080         * modules/string (Makefile.am): New indicator.
49081         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
49082         * lib/string.in.h (rawmemchr): Declare when appropriate.
49083         * modules/rawmemchr: New file.
49084         * m4/rawmemchr.m4: Likewise.
49085         * lib/rawmemchr.c: Likewise.
49086         * modules/rawmemchr-tests: Likewise.
49087         * tests/test-rawmemchr.c: Likewise.
49088         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
49089         module.
49090         * modules/strchrnul (Depends-on): Add rawmemchr.
49091         * lib/strchrnul.c (strchrnul): Optimize a corner case.
49092
49093         Whitespace cleanup.
49094         * tests/test-strchrnul.c: Reindent.
49095         * lib/strchrnul.c: Likewise.
49096
49097         Optimize and test strchrnul.
49098         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
49099         * modules/strchrnul-tests: New file.
49100         * tests/test-strchrnul.c: Likewise.
49101
49102         Remove intprops dependency.
49103         * modules/memchr (Depends-on): Remove intprops.
49104         * modules/memrchr (Depends-on): Likewise.
49105         * modules/memchr2 (Depends-on): Likewise.
49106         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
49107         * lib/memrchr.c (__memrchr): Likewise.
49108         * lib/memrchr2.c (memchr2): Likewise.
49109         Reported by Simon Josefsson.
49110
49111 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49112
49113         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
49114         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49115
49116 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49117
49118         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
49119
49120         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
49121
49122         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
49123
49124         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
49125         declarations.
49126         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
49127
49128         * m4/inet_pton.m4: Don't check for header files.
49129
49130         * m4/inet_ntop.m4: Don't check for header files.
49131
49132 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49133
49134         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
49135         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
49136         trigger for cygwin).
49137         Reported by Bruno Haible  <bruno@clisp.org>.
49138
49139 2008-04-28  Bruno Haible  <bruno@clisp.org>
49140
49141         * doc/posix-functions/strdup.texi: Mention mingw problem.
49142
49143 2008-04-27  Bruno Haible  <bruno@clisp.org>
49144
49145         * modules/stat-time-tests (Depends-on): Add sleep.
49146         * tests/test-stat-time.c (force_unlink): New function.
49147         (cleanup): Use it.
49148         (test_mtime): Remove the ctime related tests.
49149         (test_ctime): New function, containing the ctime related tests.
49150         (main): Call test_ctime, except on native Windows platforms.
49151
49152 2008-04-27  Bruno Haible  <bruno@clisp.org>
49153
49154         * lib/rpmatch.c (rpmatch): Add some comments.
49155         Reported by James Youngman <jay@gnu.org>.
49156
49157 2008-04-27  Bruno Haible  <bruno@clisp.org>
49158
49159         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
49160         quiet NaNs.
49161
49162 2008-04-27  Bruno Haible  <bruno@clisp.org>
49163
49164         Make test-yesno.sh work on mingw.
49165         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
49166         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
49167         (main): Set stdin to binary mode.
49168         * modules/yesno-tests (Depends-on): Add binary-io.
49169
49170 2008-04-27  Bruno Haible  <bruno@clisp.org>
49171
49172         Fix 'isfinite' on x86, x86_64, ia64 platforms.
49173         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
49174         argument that lie outside the IEEE 854 domain.
49175         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
49176         (gl_ISFINITE): Use it.
49177         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
49178
49179 2008-04-27  Bruno Haible  <bruno@clisp.org>
49180
49181         Allow local renaming in config.h.
49182         * lib/memrchr.c (memrchr): Don't undefine outside libc.
49183
49184 2008-04-27  Bruno Haible  <bruno@clisp.org>
49185
49186         * lib/memchr.c (__memchr): Change type of 'i'.
49187         * lib/memchr2.c (memchr2): Likewise.
49188
49189 2008-04-26  Eric Blake  <ebb9@byu.net>
49190         and Bruno Haible  <bruno@clisp.org>
49191
49192         Optimize and test memrchr.
49193         * modules/memrchr (Depends-on): Add intprops.
49194         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
49195         * modules/memrchr-tests: New file.
49196         * tests/test-memrchr.c: New file.
49197
49198 2008-04-26  Bruno Haible  <bruno@clisp.org>
49199
49200         Add tentative support for DragonFly BSD.
49201         * lib/stdio-impl.h: Add macros for DragonFly BSD.
49202         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
49203         fp.
49204         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49205         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
49206         * lib/fpurge.c (fpurge): Likewise.
49207         * lib/freadable.c (freaadable): Likewise.
49208         * lib/freadahead.c (freadahead): Likewise.
49209         * lib/freading.c (freading): Likewise.
49210         * lib/freadptr.c (freadptr): Likewise.
49211         * lib/freadseek.c (freadptrinc): Likewise.
49212         * lib/fseeko.c (fseeko): Likewise.
49213         * lib/fseterr.c (fseterr): Likewise.
49214         * lib/fwritable.c (fwritable): Likewise.
49215         * lib/fwriting.c (fwriting): Likewise.
49216
49217 2008-04-26  Bruno Haible  <bruno@clisp.org>
49218
49219         * lib/stdio-impl.h: New file.
49220         * lib/fbufmode.c: Include stdio-impl.h.
49221         (fbufmode): Use fp_, remove redundant #defines.
49222         * lib/fflush.c: Include stdio-impl.h.
49223         (clear_ungetc_buffer): Remove redundant #defines.
49224         * lib/fpurge.c: Include stdio-impl.h.
49225         (fpurge): Remove redundant #defines.
49226         * lib/freadable.c: Include stdio-impl.h.
49227         (freadable): Remove redundant #defines.
49228         * lib/freadahead.c: Include stdio-impl.h.
49229         (freadahead): Remove redundant #defines.
49230         * lib/freading.c: Include stdio-impl.h.
49231         (freading): Remove redundant #defines.
49232         * lib/freadptr.c: Include stdio-impl.h.
49233         (freadptr): Remove redundant #defines.
49234         * lib/freadseek.c: Include stdio-impl.h.
49235         (freadptrinc): Remove redundant #defines.
49236         * lib/fseeko.c: Include stdio-impl.h.
49237         (rpl_fseeko): Remove redundant #defines.
49238         * lib/fseterr.c: Include stdio-impl.h.
49239         (fseterr): Remove redundant #defines.
49240         * lib/fwritable.c: Include stdio-impl.h.
49241         (fwritable: Remove redundant #defines.
49242         * lib/fwriting.c: Include stdio-impl.h.
49243         (fwriting): Remove redundant #defines.
49244         * modules/fbufmode (Files): Add lib/stdio-impl.h.
49245         * modules/fflush (Files): Likewise.
49246         * modules/fpurge (Files): Likewise.
49247         * modules/freadable (Files): Likewise.
49248         * modules/freadahead (Files): Likewise.
49249         * modules/freading (Files): Likewise.
49250         * modules/freadptr (Files): Likewise.
49251         * modules/freadseek (Files): Likewise.
49252         * modules/fseeko (Files): Likewise.
49253         * modules/fseterr (Files): Likewise.
49254         * modules/fwritable (Files): Likewise.
49255         * modules/fwriting (Files): Likewise.
49256
49257 2008-04-26  Bruno Haible  <bruno@clisp.org>
49258
49259         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49260         restore_seek_optimization, update_fpos_cache): New functions, extracted
49261         from rpl_fflush.
49262         (rpl_fflush): Use them.
49263         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
49264         (gl_REPLACE_FFLUSH): Use it.
49265
49266 2008-04-26  Bruno Haible  <bruno@clisp.org>
49267
49268         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
49269         on Solaris.
49270         * tests/test-xstrtoimax.sh: Likewise.
49271         * tests/test-xstrtoumax.sh: Likewise.
49272         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49273
49274 2008-04-26  Bruno Haible  <bruno@clisp.org>
49275
49276         * modules/memchr-tests: New file.
49277         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
49278
49279 2008-04-26  Eric Blake  <ebb9@byu.net>
49280             Bruno Haible  <bruno@clisp.org>
49281
49282         * lib/memchr.c: Include intprops.h.
49283         (__memchr): Optimize parallel detection of matching bytes. Rename local
49284         variables. Add explanatory comments.
49285
49286 2008-04-26  Bruno Haible  <bruno@clisp.org>
49287
49288         Fix module 'memchr', broken since 2000-10-28.
49289         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
49290
49291 2008-04-26  Bruno Haible  <bruno@clisp.org>
49292
49293         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
49294         comments.
49295
49296 2008-04-25  Eric Blake  <ebb9@byu.net>
49297
49298         Use native fstatat on cygwin 1.7.0.
49299         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
49300         first.
49301
49302 2008-04-23  Eric Blake  <ebb9@byu.net>
49303
49304         Improve memchr2 performance.
49305         * lib/memchr2.c (memchr2): Further optimize parallel detection of
49306         NUL bytes.
49307         * modules/memchr2 (Depends-on): Use intprops.h.
49308
49309 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49310
49311         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
49312         an inline function instead of a CPP macro.  Patch by Ben Pfaff
49313         <blp@cs.stanford.edu>.
49314
49315 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49316
49317         * lib/arpa_inet.in.h: New file.
49318
49319         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
49320         (Makefile.am): Sed in substitute header file.
49321
49322         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
49323         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
49324
49325         * modules/inet_ntop (configure.ac): Use
49326         gl_ARPA_INET_MODULE_INDICATOR.
49327
49328         * modules/inet_pton (configure.ac): Use
49329         gl_ARPA_INET_MODULE_INDICATOR.
49330
49331 2008-04-22  Jim Meyering  <meyering@redhat.com>
49332
49333         * modules/verify (License): Re-license as LGPLv2+.
49334
49335 2008-04-22  Simon Josefsson  <simon@josefsson.org>
49336
49337         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
49338         parameter to void* as per POSIX standard (MinGW uses char*).
49339
49340 2008-04-21  Bruno Haible  <bruno@clisp.org>
49341
49342         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
49343         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
49344         Define to replacements if REPLACE_ISWCNTRL is 1.
49345         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
49346         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
49347         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
49348         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
49349         what it fixes.
49350         * doc/posix-functions/iswalpha.texi: Likewise.
49351         * doc/posix-functions/iswblank.texi: Likewise.
49352         * doc/posix-functions/iswcntrl.texi: Likewise.
49353         * doc/posix-functions/iswdigit.texi: Likewise.
49354         * doc/posix-functions/iswgraph.texi: Likewise.
49355         * doc/posix-functions/iswlower.texi: Likewise.
49356         * doc/posix-functions/iswprint.texi: Likewise.
49357         * doc/posix-functions/iswpunct.texi: Likewise.
49358         * doc/posix-functions/iswspace.texi: Likewise.
49359         * doc/posix-functions/iswupper.texi: Likewise.
49360         * doc/posix-functions/iswxdigit.texi: Likewise.
49361         Reported by Alain Guibert.
49362
49363 2008-04-21  Bruno Haible  <bruno@clisp.org>
49364
49365         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
49366         Patch by Alain Guibert.
49367
49368 2008-04-21  Bruno Haible  <bruno@clisp.org>
49369
49370         Fix test failures on mingw.
49371         * tests/test-xstrtol.c (print_no_progname): New function.
49372         (main): Install it in error_print_progname hook.
49373         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
49374         * tests/test-xstrtoimax.sh: Likewise.
49375         * tests/test-xstrtoumax.sh: Likewise.
49376
49377 2008-04-21  Bruno Haible  <bruno@clisp.org>
49378
49379         Fix test failure on mingw.
49380         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
49381
49382 2008-04-21  Bruno Haible  <bruno@clisp.org>
49383
49384         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
49385         Actually assign a value.
49386
49387 2008-04-20  Bruno Haible  <bruno@clisp.org>
49388
49389         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
49390         take 2.
49391         * lib/canonicalize.c (canonicalize_file_name): Elide if the
49392         'canonicalize-lgpl' module is also used.
49393         * lib/canonicalize-lgpl.c: Undo last change.
49394         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
49395
49396 2008-04-20  Bruno Haible  <bruno@clisp.org>
49397
49398         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
49399         config.h. Provide _mkdir based fallback for mingw.
49400         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
49401         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
49402         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
49403         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
49404         rather than defining mkdir in config.h.
49405         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
49406         (gl_SYS_STAT_H_DEFAULTS): New macro.
49407         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
49408         HAVE_IO_H any more.
49409         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
49410         HAVE_DECL_MKDIR and HAVE_IO_H.
49411
49412 2008-04-20  Bruno Haible  <bruno@clisp.org>
49413
49414         * lib/isapipe.c: Port to native Windows platforms.
49415
49416 2008-04-20  Bruno Haible  <bruno@clisp.org>
49417
49418         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
49419
49420 2008-04-21  Eric Blake  <ebb9@byu.net>
49421
49422         Work around preprocessors that don't handle UINTMAX_MAX.
49423         * lib/memchr2.c (memchr2): Avoid embedded #if.
49424         Reported by Alain Guibert, fix suggested by Bruno Haible.
49425
49426 2008-04-21  Simon Josefsson  <simon@josefsson.org>
49427
49428         * doc/posix-functions/strftime.texi (strftime): Explain better
49429         Windows incompatibility.  Suggested by Micah Cowan
49430         <micah@cowan.name>.
49431
49432 2008-04-20  Bruno Haible  <bruno@clisp.org>
49433
49434         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
49435         unistr/u8-mblen.
49436
49437 2008-04-20  Bruno Haible  <bruno@clisp.org>
49438
49439         Fix test failure on platforms with non-GNU iconv.
49440         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
49441         (U_TO_U8): Use it, rather than u16_to_u8.
49442         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
49443         units at the end of the input string.
49444         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
49445
49446 2008-04-20  Bruno Haible  <bruno@clisp.org>
49447
49448         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
49449         when the resulting length is 0.
49450         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
49451
49452 2008-04-20  Bruno Haible  <bruno@clisp.org>
49453
49454         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
49455         works.
49456         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
49457
49458 2008-04-20  Bruno Haible  <bruno@clisp.org>
49459
49460         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
49461         * modules/tsearch-tests (configure.ac): Test for initstate function.
49462
49463 2008-04-20  Bruno Haible  <bruno@clisp.org>
49464
49465         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
49466         for nlink_t if missing.
49467         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
49468
49469 2008-04-19  Bruno Haible  <bruno@clisp.org>
49470
49471         Work around snprintf bug on Linux libc5.
49472         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
49473         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49474         gl_SNPRINTF_SIZE1.
49475         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49476         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
49477         that test failed.
49478         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
49479         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
49480         * modules/snprintf (Files): Add m4/printf.m4.
49481         * modules/vsnprintf (Files): Likewise.
49482         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
49483         * doc/posix-functions/vsnprintf.texi: Likewise.
49484
49485 2008-04-19  Bruno Haible  <bruno@clisp.org>
49486
49487         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
49488         from 0.0058 to less than 10^-7.
49489
49490 2008-04-19  Bruno Haible  <bruno@clisp.org>
49491
49492         Fix rounding when a precision is given.
49493         * lib/vasnprintf.c (is_borderline): New function.
49494         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
49495         9...9x.
49496         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
49497         %e, %g.
49498         * tests/test-vasprintf-posix.c (test_function): Likewise.
49499         * tests/test-snprintf-posix.h (test_function): Likewise.
49500         * tests/test-sprintf-posix.h (test_function): Likewise.
49501         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
49502         * tests/test-printf-posix.h (test_function): Likewise.
49503         * tests/test-printf-posix.output: Update.
49504         Reported by John Darrington <john@darrington.wattle.id.au> via
49505         Ben Pfaff <blp@cs.stanford.edu>.
49506
49507 2008-04-18  Simon Josefsson  <simon@josefsson.org>
49508
49509         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
49510         Suggested by Bruno Haible <bruno@clisp.org>.
49511
49512 2008-04-17  Bruno Haible  <bruno@clisp.org>
49513
49514         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
49515         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
49516         implementation.
49517         Patch by Bruce Merry <bmerry@gmail.com>.
49518
49519 2008-04-17  Simon Josefsson  <simon@josefsson.org>
49520
49521         * doc/posix-functions/strftime.texi (strftime): Mention that %e
49522         doesn't work under Windows.
49523
49524 2008-04-16  Bruno Haible  <bruno@clisp.org>
49525
49526         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
49527         New macros.
49528         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
49529         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
49530         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
49531         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
49532         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
49533         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
49534         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
49535         macros.
49536         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
49537         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
49538         Northern Sotho, Uighur.
49539
49540 2008-04-16  Bruno Haible  <bruno@clisp.org>
49541
49542         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
49543         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
49544         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
49545         Reported by Daniel Bergström <daniel@octocode.com>.
49546
49547 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
49548             Bruno Haible  <bruno@clisp.org>
49549
49550         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
49551         function.
49552         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
49553         New functions, mostly extracted from gl_locale_name_default.
49554         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
49555
49556 2008-04-16  Eric Blake  <ebb9@byu.net>
49557
49558         Adjust strtod detection to catch glibc 2.7 bug.
49559         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
49560         Reported by John Gatewood Ham.
49561
49562 2008-04-16  Bruno Haible  <bruno@clisp.org>
49563
49564         Add tentative support for Linux libc5.
49565         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
49566         * lib/fpurge.c (fpurge): Likewise.
49567         * lib/freadable.c (freadable): Likewise.
49568         * lib/freadahead.c (freadahead): Likewise.
49569         * lib/freading.c (freading): Likewise.
49570         * lib/freadptr.c (freadptr): Likewise.
49571         * lib/freadseek.c (freadptrinc): Likewise.
49572         * lib/fseeko.c (rpl_fseeko): Likewise.
49573         * lib/fseterr.c (fseterr): Likewise.
49574         * lib/fwritable.c (fwritable): Likewise.
49575         * lib/fwriting.c (fwriting): Likewise.
49576         Reported by Alain Guibert <alguibert+bts@free.fr>.
49577
49578 2008-04-15  Bruno Haible  <bruno@clisp.org>
49579
49580         * modules/mathl (configure.ac): Define module indicator.
49581
49582 2008-04-15  Bruno Haible  <bruno@clisp.org>
49583
49584         * lib/logl.c (logl): Remove unused variables.
49585
49586 2008-04-15  Bruno Haible  <bruno@clisp.org>
49587
49588         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
49589         fails.
49590
49591 2008-04-15  Bruno Haible  <bruno@clisp.org>
49592
49593         * lib/trim.c (trim2): Fix argument of isspace() macro.
49594
49595 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
49596
49597         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
49598         to 0.
49599         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
49600
49601 2008-04-14  Bruno Haible  <bruno@clisp.org>
49602
49603         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
49604         AC_LANG_PROGRAM argument.
49605         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
49606         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
49607         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
49608         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
49609         * m4/math_h.m4 (gl_MATH_H): Likewise.
49610         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
49611         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
49612         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
49613         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
49614         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
49615         * m4/regex.m4 (gl_REGEX): Likewise.
49616         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
49617         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
49618         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49619         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
49620         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
49621         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49622         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49623         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
49624
49625 2008-04-14  Jim Meyering  <meyering@redhat.com>
49626
49627         test-strtod: fix typos: s/abs/fabs/
49628         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
49629
49630 2008-04-13  Bruno Haible  <bruno@clisp.org>
49631
49632         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
49633         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
49634         module is also used and while not building the reloc-wrapper.
49635
49636 2008-04-13  Bruno Haible  <bruno@clisp.org>
49637
49638         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
49639
49640 2008-04-13  Bruno Haible  <bruno@clisp.org>
49641
49642         Fix AIX compilation failure introduced on 2008-04-02.
49643         * tests/test-frexp.c (exp): Undefine before redefining.
49644         * tests/test-frexpl.c (exp): Likewise.
49645
49646 2008-04-13  Bruno Haible  <bruno@clisp.org>
49647
49648         Work around a HP-UX stdio bug.
49649         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
49650         * tests/test-ftello.c (main): Likewise.
49651         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
49652         * doc/posix-functions/ftello.texi: Likewise.
49653
49654 2008-04-13  Bruno Haible  <bruno@clisp.org>
49655
49656         Make test-signbit pass on HP-UX/hppa.
49657         * tests/test-signbit.c (minus_zerol): New variable.
49658         (test_signbitl): Use it.
49659
49660 2008-04-13  Bruno Haible  <bruno@clisp.org>
49661
49662         Make truncl work on OSF/1 4.0.
49663         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
49664         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
49665         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
49666         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
49667         HAVE_DECL_TRUNCL.
49668         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
49669         HAVE_DECL_TRUNCL.
49670         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
49671
49672 2008-04-13  Bruno Haible  <bruno@clisp.org>
49673
49674         * lib/unictype.h: Remove trailing comma from enumeration definitions.
49675
49676 2008-04-13  Bruno Haible  <bruno@clisp.org>
49677
49678         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
49679         expression, so as to avoid HP-UX 11 cc compiler bug.
49680
49681 2008-04-13  Bruno Haible  <bruno@clisp.org>
49682
49683         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
49684
49685 2008-04-13  Bruno Haible  <bruno@clisp.org>
49686
49687         * lib/git-merge-changelog.c: Remove empty declaration outside of
49688         functions.
49689
49690 2008-04-13  Bruno Haible  <bruno@clisp.org>
49691
49692         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
49693
49694 2008-04-13  Bruno Haible  <bruno@clisp.org>
49695
49696         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
49697         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
49698         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
49699         also if it exists but lacks definitions of the SHUT_* macros.
49700         * modules/sys_socket (Description): Update.
49701         Reported by Elbert Pol <e.pol@chello.nl>.
49702
49703 2008-04-13  Bruno Haible  <bruno@clisp.org>
49704
49705         * lib/localcharset.c (OS2): Don't redefine if already defined.
49706         Reported by Elbert Pol <e.pol@chello.nl>.
49707
49708 2008-04-13  Bruno Haible  <bruno@clisp.org>
49709
49710         * lib/binary-io.h [__EMX__]: Include <io.h>.
49711         Reported by Elbert Pol <e.pol@chello.nl>.
49712
49713 2008-04-12  Bruno Haible  <bruno@clisp.org>
49714
49715         * lib/fpucw.h: Enable the definitions also for x86_64.
49716         Needed for NetBSD/x86_64.
49717         Reported by Thomas Klausner <tk@giga.or.at>.
49718
49719 2008-04-12  Bruno Haible  <bruno@clisp.org>
49720
49721         * tests/test-strtod.c: Include isnand.h.
49722         (main): Use isnand instead of isnan.
49723         Reported by Jim Meyering.
49724
49725 2008-04-12  Bruno Haible  <bruno@clisp.org>
49726
49727         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
49728         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
49729
49730 2008-04-12  Jim Meyering  <meyering@redhat.com>
49731
49732         * m4/math_h.m4 (gl_MATH_H): Fix typos.
49733
49734 2008-04-12  Bruno Haible  <bruno@clisp.org>
49735
49736         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
49737         Reported by Elbert Pol <e.pol@chello.nl>.
49738
49739 2008-04-12  Eric Blake  <ebb9@byu.net>
49740
49741         Work around Solaris 10 math.h bug.
49742         * m4/math_h.m4 (gl_MATH_H): Check for bug.
49743         (gl_MATH_H_DEFAULTS): Set up default.
49744         * modules/math (Makefile.am): Replace new indicators.
49745         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
49746         * tests/test-math.c (main): Test this.
49747         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
49748         * doc/posix-headers/math.texi (math.h): Mention bug.
49749         Reported by Nelson H. F. Beebe and Jim Meyering.
49750
49751 2008-04-11  Bruno Haible  <bruno@clisp.org>
49752
49753         Adapt to future versions of Apple GCC.
49754         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
49755         Reported by Peter O'Gorman <peter@pogma.com>.
49756
49757 2008-04-11  Bruno Haible  <bruno@clisp.org>
49758
49759         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
49760
49761 2008-04-11  Bruno Haible  <bruno@clisp.org>
49762
49763         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
49764
49765         * modules/getaddrinfo-tests (Makefile.am): Define
49766         test_getaddrinfo_LDADD.
49767
49768 2008-04-11  Bruno Haible  <bruno@clisp.org>
49769
49770         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
49771         (init): Fix syntax error.
49772         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
49773         is declared.
49774
49775 2008-04-11  Bruno Haible  <bruno@clisp.org>
49776
49777         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
49778         * modules/glob (Depends-on): Add stdbool.
49779
49780 2008-04-11  Bruno Haible  <bruno@clisp.org>
49781
49782         * lib/trim.c: Include <string.h>.
49783
49784 2008-04-11  Eric Blake  <ebb9@byu.net>
49785
49786         Avoid compile failure on OS/2.
49787         * lib/regex_internal.h (internal_function): Disable optimization
49788         on OS/2 (__EMX__), where it caused compiler error.
49789         Reported by Elbert Pol.
49790
49791 2008-04-11  Bruno Haible  <bruno@clisp.org>
49792
49793         Flush the standard error stream before aborting. Needed on mingw.
49794         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
49795         * tests/test-array_list.c (ASSERT): Likewise.
49796         * tests/test-array_oset.c (ASSERT): Likewise.
49797         * tests/test-avltree_list.c (ASSERT): Likewise.
49798         * tests/test-avltree_oset.c (ASSERT): Likewise.
49799         * tests/test-avltreehash_list.c (ASSERT): Likewise.
49800         * tests/test-binary-io.c (ASSERT): Likewise.
49801         * tests/test-byteswap.c (ASSERT): Likewise.
49802         * tests/test-c-ctype.c (ASSERT): Likewise.
49803         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
49804         * tests/test-c-strcasestr.c (ASSERT): Likewise.
49805         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
49806         * tests/test-c-strstr.c (ASSERT): Likewise.
49807         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
49808         * tests/test-canonicalize.c (ASSERT): Likewise.
49809         * tests/test-carray_list.c (ASSERT): Likewise.
49810         * tests/test-ceilf1.c (ASSERT): Likewise.
49811         * tests/test-ceilf2.c (ASSERT): Likewise.
49812         * tests/test-ceill.c (ASSERT): Likewise.
49813         * tests/test-count-one-bits.c (ASSERT): Likewise.
49814         * tests/test-fbufmode.c (ASSERT): Likewise.
49815         * tests/test-fflush2.c (ASSERT): Likewise.
49816         * tests/test-floorf1.c (ASSERT): Likewise.
49817         * tests/test-floorf2.c (ASSERT): Likewise.
49818         * tests/test-floorl.c (ASSERT): Likewise.
49819         * tests/test-fopen.c (ASSERT): Likewise.
49820         * tests/test-fpending.c (ASSERT): Likewise.
49821         * tests/test-fprintf-posix.c (ASSERT): Likewise.
49822         * tests/test-fpurge.c (ASSERT): Likewise.
49823         * tests/test-freadable.c (ASSERT): Likewise.
49824         * tests/test-freadahead.c (ASSERT): Likewise.
49825         * tests/test-freading.c (ASSERT): Likewise.
49826         * tests/test-freadptr.c (ASSERT): Likewise.
49827         * tests/test-freadptr2.c (ASSERT): Likewise.
49828         * tests/test-freadseek.c (ASSERT): Likewise.
49829         * tests/test-freopen.c (ASSERT): Likewise.
49830         * tests/test-frexp.c (ASSERT): Likewise.
49831         * tests/test-frexpl.c (ASSERT): Likewise.
49832         * tests/test-fseek.c (ASSERT): Likewise.
49833         * tests/test-fseeko.c (ASSERT): Likewise.
49834         * tests/test-fstrcmp.c (ASSERT): Likewise.
49835         * tests/test-ftell.c (ASSERT): Likewise.
49836         * tests/test-ftello.c (ASSERT): Likewise.
49837         * tests/test-func.c (ASSERT): Likewise.
49838         * tests/test-fwritable.c (ASSERT): Likewise.
49839         * tests/test-fwriting.c (ASSERT): Likewise.
49840         * tests/test-getdelim.c (ASSERT): Likewise.
49841         * tests/test-getline.c (ASSERT): Likewise.
49842         * tests/test-i-ring.c (ASSERT): Likewise.
49843         * tests/test-iconv-utf.c (ASSERT): Likewise.
49844         * tests/test-iconv.c (ASSERT): Likewise.
49845         * tests/test-isfinite.c (ASSERT): Likewise.
49846         * tests/test-isnand.c (ASSERT): Likewise.
49847         * tests/test-isnanf.c (ASSERT): Likewise.
49848         * tests/test-isnanl.h (ASSERT): Likewise.
49849         * tests/test-ldexpl.c (ASSERT): Likewise.
49850         * tests/test-linked_list.c (ASSERT): Likewise.
49851         * tests/test-linkedhash_list.c (ASSERT): Likewise.
49852         * tests/test-localename.c (ASSERT): Likewise.
49853         * tests/test-lseek.c (ASSERT): Likewise.
49854         * tests/test-mbscasecmp.c (ASSERT): Likewise.
49855         * tests/test-mbscasestr1.c (ASSERT): Likewise.
49856         * tests/test-mbscasestr2.c (ASSERT): Likewise.
49857         * tests/test-mbscasestr3.c (ASSERT): Likewise.
49858         * tests/test-mbscasestr4.c (ASSERT): Likewise.
49859         * tests/test-mbschr.c (ASSERT): Likewise.
49860         * tests/test-mbscspn.c (ASSERT): Likewise.
49861         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
49862         * tests/test-mbspbrk.c (ASSERT): Likewise.
49863         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
49864         * tests/test-mbsrchr.c (ASSERT): Likewise.
49865         * tests/test-mbsspn.c (ASSERT): Likewise.
49866         * tests/test-mbsstr1.c (ASSERT): Likewise.
49867         * tests/test-mbsstr2.c (ASSERT): Likewise.
49868         * tests/test-mbsstr3.c (ASSERT): Likewise.
49869         * tests/test-memchr2.c (ASSERT): Likewise.
49870         * tests/test-memmem.c (ASSERT): Likewise.
49871         * tests/test-open.c (ASSERT): Likewise.
49872         * tests/test-printf-frexp.c (ASSERT): Likewise.
49873         * tests/test-printf-frexpl.c (ASSERT): Likewise.
49874         * tests/test-printf-posix.c (ASSERT): Likewise.
49875         * tests/test-quotearg.c (ASSERT): Likewise.
49876         * tests/test-rbtree_list.c (ASSERT): Likewise.
49877         * tests/test-rbtree_oset.c (ASSERT): Likewise.
49878         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
49879         * tests/test-round1.c (ASSERT): Likewise.
49880         * tests/test-roundf1.c (ASSERT): Likewise.
49881         * tests/test-roundl.c (ASSERT): Likewise.
49882         * tests/test-signbit.c (ASSERT): Likewise.
49883         * tests/test-sleep.c (ASSERT): Likewise.
49884         * tests/test-snprintf-posix.c (ASSERT): Likewise.
49885         * tests/test-snprintf.c (ASSERT): Likewise.
49886         * tests/test-sprintf-posix.c (ASSERT): Likewise.
49887         * tests/test-stat-time.c (ASSERT): Likewise.
49888         * tests/test-strcasestr.c (ASSERT): Likewise.
49889         * tests/test-strerror.c (ASSERT): Likewise.
49890         * tests/test-striconv.c (ASSERT): Likewise.
49891         * tests/test-striconveh.c (ASSERT): Likewise.
49892         * tests/test-striconveha.c (ASSERT): Likewise.
49893         * tests/test-strsignal.c (ASSERT): Likewise.
49894         * tests/test-strstr.c (ASSERT): Likewise.
49895         * tests/test-strtod.c (ASSERT): Likewise.
49896         * tests/test-trunc1.c (ASSERT): Likewise.
49897         * tests/test-trunc2.c (ASSERT): Likewise.
49898         * tests/test-truncf1.c (ASSERT): Likewise.
49899         * tests/test-truncf2.c (ASSERT): Likewise.
49900         * tests/test-truncl.c (ASSERT): Likewise.
49901         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
49902         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
49903         * tests/test-vasnprintf.c (ASSERT): Likewise.
49904         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
49905         * tests/test-vasprintf.c (ASSERT): Likewise.
49906         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
49907         * tests/test-vprintf-posix.c (ASSERT): Likewise.
49908         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
49909         * tests/test-vsnprintf.c (ASSERT): Likewise.
49910         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
49911         * tests/test-wcwidth.c (ASSERT): Likewise.
49912         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
49913         * tests/test-xprintf-posix.c (ASSERT): Likewise.
49914         * tests/test-xvasprintf.c (ASSERT): Likewise.
49915         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
49916         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
49917         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
49918         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
49919         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
49920         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
49921         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
49922         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
49923         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
49924         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
49925         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
49926         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
49927         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
49928         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
49929         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
49930         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
49931         * tests/unictype/test-block_list.c (ASSERT): Likewise.
49932         * tests/unictype/test-block_of.c (ASSERT): Likewise.
49933         * tests/unictype/test-block_test.c (ASSERT): Likewise.
49934         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
49935         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
49936         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
49937         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
49938         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
49939         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
49940         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
49941         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
49942         * tests/unictype/test-combining.c (ASSERT): Likewise.
49943         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
49944         * tests/unictype/test-digit.c (ASSERT): Likewise.
49945         * tests/unictype/test-mirror.c (ASSERT): Likewise.
49946         * tests/unictype/test-numeric.c (ASSERT): Likewise.
49947         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
49948         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
49949         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
49950         * tests/unictype/test-scripts.c (ASSERT): Likewise.
49951         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
49952         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
49953         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
49954         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
49955         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
49956         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
49957         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
49958         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
49959         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
49960         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
49961         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
49962         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
49963         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
49964         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
49965         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
49966         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
49967         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
49968         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
49969         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
49970         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
49971         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
49972         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
49973         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
49974         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
49975         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
49976         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
49977         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
49978         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
49979         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
49980         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
49981         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
49982         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
49983         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
49984         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
49985         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
49986         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
49987         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
49988         Reported by Eric Blake.
49989
49990 2008-04-11  Bruno Haible  <bruno@clisp.org>
49991
49992         * lib/wchar.in.h: Tweak comment.
49993
49994 2008-04-11  Bruno Haible  <bruno@clisp.org>
49995
49996         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
49997         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
49998         gl_COMMON.
49999         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
50000
50001 2008-04-11  Bruno Haible  <bruno@clisp.org>
50002
50003         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
50004
50005 2008-04-11  Simon Josefsson  <simon@josefsson.org>
50006
50007         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
50008         of attempting to use non-existing /dev/*random.  Based on patch
50009         from Adam Strzelecki <ono@java.pl> in
50010         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
50011
50012 2008-04-08  Bruno Haible  <bruno@clisp.org>
50013
50014         Add tentative support for emx+gcc.
50015         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
50016         * lib/fpurge.c (fpurge): Likewise.
50017         * lib/freadable.c (freadable): Likewise.
50018         * lib/freadahead.c (freadahead): Likewise.
50019         * lib/freading.c (freading): Likewise.
50020         * lib/freadptr.c (freadptr): Likewise.
50021         * lib/freadseek.c (freadptrinc): Likewise.
50022         * lib/fseeko.c (rpl_fseeko): Likewise.
50023         * lib/fseterr.c (fseterr): Likewise.
50024         * lib/fwritable.c (fwritable): Likewise.
50025         * lib/fwriting.c (fwriting): Likewise.
50026         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
50027
50028 2008-04-09  Eric Blake  <ebb9@byu.net>
50029
50030         Avoid some autoconf warnings.
50031         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
50032         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
50033         * m4/afs.m4 (gl_AFS): Likewise.
50034         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
50035         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
50036         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50037         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
50038         (gl_INTEGER_TYPE_SUFFIX): Likewise.
50039         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
50040         (AC_CHECK_DECLS_ONCE): Likewise.
50041         Rename file...
50042         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
50043         gnulib-tool requires autoconf 2.59 or better.
50044         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
50045
50046 2008-04-08  Eric Blake  <ebb9@byu.net>
50047
50048         Use 'git describe --match' if present (added in git 1.5.5).
50049         * build-aux/git-version-gen: Limit result to tags that match 'v*'
50050         if possible.
50051
50052 2008-04-08  Bruno Haible  <bruno@clisp.org>
50053
50054         Add tentative support for OpenServer.
50055         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
50056         _ptr, _cnt.
50057         * lib/fpurge.c (fpurge): Likewise.
50058         * lib/freadable.c (freadable): Likewise.
50059         * lib/freadahead.c (freadahead): Likewise.
50060         * lib/freading.c (freading): Likewise.
50061         * lib/freadptr.c (freadptr): Likewise.
50062         * lib/freadseek.c (freadptrinc): Likewise.
50063         * lib/fseeko.c (rpl_fseeko): Likewise.
50064         * lib/fseterr.c (fseterr): Likewise.
50065         * lib/fwritable.c (fwritable): Likewise.
50066         * lib/fwriting.c (fwriting): Likewise.
50067         Reported by Roger Cornelius <rac@tenzing.org> and
50068         Brian K. White <brian@aljex.com>.
50069
50070 2008-04-06  Jim Meyering  <meyering@redhat.com>
50071
50072         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
50073
50074 2008-04-06  Bruno Haible  <bruno@clisp.org>
50075
50076         Avoid possible error with non-ASCII bytes in UTF-8 locales.
50077         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
50078         * tests/test-printf-posix.sh: Likewise.
50079         * tests/test-vfprintf-posix.sh: Likewise.
50080         * tests/test-vprintf-posix.sh: Likewise.
50081         * tests/test-xprintf-posix.sh: Likewise.
50082
50083 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50084
50085         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
50086         hide error from 'ls', needed on OS/2.
50087         Report by Elbert Pol <elbert.pol@gmail.com>.
50088
50089 2008-04-04  Eric Blake  <ebb9@byu.net>
50090
50091         Make test-fseeko.c failures meaningful.
50092         * tests/test-fseeko.c: Print line number on failure.
50093         * tests/test-fseek.c: Likewise.
50094         Reported by Nelson H. F. Beebe.
50095
50096         Improve strtod bug detection check.
50097         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
50098         required for Solaris 10.
50099         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
50100
50101 2008-04-04  Bruno Haible  <bruno@clisp.org>
50102
50103         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
50104         by m4/setenv.m4.
50105
50106 2008-04-03  Eric Blake  <ebb9@byu.net>
50107
50108         Ensure sane .version contents.
50109         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
50110         version string.
50111         * build-aux/git-version-gen: Improve documentation.
50112
50113         Make GNU make output nicer.
50114         * top/GNUmakefile [!_have-Makefile]: Add dependency on
50115         MAKECMDGOALS to enforce message for all command line targets.  Set
50116         srcdir for use in maint.mk.
50117
50118         Another maintainer tweak.
50119         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
50120         a target that regenerates version.
50121
50122 2008-04-03  Jim Meyering  <meyering@redhat.com>
50123
50124         vc-list-files: don't cause coreutils "make po-check" failure
50125         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
50126
50127 2008-04-03  Eric Blake  <ebb9@byu.net>
50128
50129         Allow VPATH usage of vc-list-files.
50130         * build-aux/vc-list-files (scriptversion): Add timestamp.
50131         (options): Add --help, --version, -C.
50132         (CVS): Support installed cvsu.
50133
50134 2008-04-02  Bruno Haible  <bruno@clisp.org>
50135
50136         Avoid some "statement with no effect" warnings from gcc.
50137         * tests/test-wctype.c (main): Explicitly ignore unused values.
50138         Reported by Jim Meyering.
50139
50140 2008-04-02  Jim Meyering  <meyering@redhat.com>
50141
50142         Avoid some warnings from "gcc -Wshadow".
50143         * tests/test-frexp.c (exp): Define to a different identifier.
50144         * tests/test-frexpl.c (exp): Likewise.
50145
50146 2008-04-03  Jim Meyering  <meyering@redhat.com>
50147
50148         bootstrap: remove dangling *.[ch] symlinks from lib
50149         * build-aux/bootstrap [dangling symlink removal]: Move find's
50150         -depth option to precede all others, to avoid a warning.
50151         Remove *.[ch] files too, and from "$source_base" (usually lib/).
50152
50153 2008-04-02  Bruno Haible  <bruno@clisp.org>
50154
50155         Avoid some warnings from "gcc -Wshadow".
50156         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
50157         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
50158         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
50159         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
50160         Reported by Jim Meyering.
50161
50162 2008-04-01  Bruno Haible  <bruno@clisp.org>
50163
50164         Fix test to work on IRIX 6.5 with cc.
50165         * tests/test-math.c (numeric_equal): New function.
50166         (main): Use it.
50167
50168 2008-04-01  Bruno Haible  <bruno@clisp.org>
50169
50170         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
50171
50172 2008-04-01  Bruno Haible  <bruno@clisp.org>
50173
50174         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
50175         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50176         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
50177         (Depends-on): Remove math.
50178
50179         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
50180         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50181         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
50182         (Depends-on): Remove math.
50183
50184         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
50185         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50186         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
50187         (Depends-on): Remove math.
50188         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
50189         (Depends-on): Remove math.
50190
50191         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
50192         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50193         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
50194         (Depends-on): Remove math.
50195         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
50196         (Depends-on): Remove math.
50197
50198         * tests/test-round1.c: Include nan.h.
50199         (main): Use NaNd instead of NAN.
50200         * modules/round-tests (Files): Add tests/nan.h.
50201
50202         * tests/test-trunc1.c: Include nan.h.
50203         (main): Use NaNd instead of NAN.
50204         * modules/trunc-tests (Files): Add tests/nan.h.
50205
50206         * tests/test-roundf1.c: Include nan.h.
50207         (main): Use NaNf instead of NAN.
50208         * modules/roundf-tests (Files): Add tests/nan.h.
50209
50210         * tests/test-truncf1.c: Include nan.h.
50211         (main): Use NaNf instead of NAN.
50212         * modules/truncf-tests (Files): Add tests/nan.h.
50213
50214         * tests/test-ceilf1.c: Include nan.h.
50215         (main): Use NaNf instead of NAN.
50216         * modules/ceilf-tests (Files): Add tests/nan.h.
50217
50218         * tests/test-floorf1.c: Include nan.h.
50219         (main): Use NaNf instead of NAN.
50220         * modules/floorf-tests (Files): Add tests/nan.h.
50221
50222         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
50223         (main): Use NaNf instead of NAN.
50224         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
50225
50226         * tests/test-isnand.c: Include nan.h instead of <math.h>.
50227         (main): Use NaNd instead of NAN.
50228         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
50229
50230         * tests/test-frexp.c: Include nan.h.
50231         (main): Use NaNd instead of NAN.
50232         * modules/frexp-tests (Files): Add tests/nan.h.
50233
50234         * lib/isnan.c: Don't include <math.h>.
50235         (FUNC): Don't use NAN macro.
50236         * modules/isnand-nolibm (Depends-on): Remove math.
50237         * modules/isnanf-nolibm (Depends-on): Remove math.
50238         * modules/isnanl (Depends-on): Remove math.
50239         * modules/isnanl-nolibm (Depends-on): Remove math.
50240
50241         * tests/nan.h: New file.
50242
50243 2008-04-01  Eric Blake  <ebb9@byu.net>
50244
50245         Fix typos.
50246         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
50247         values to be the right type.
50248
50249         For now, cater to gnulib strtod inaccuracies.
50250         * tests/test-strtod.c (main): Allow 1-ulp error on expected
50251         fractional results.  While not as nice from a QoI perspective, it
50252         is a quicker patch than correctly implementing decimal to binary
50253         rounding.
50254
50255 2008-03-31  Eric Blake  <ebb9@byu.net>
50256
50257         Guarantee a definition of NAN.
50258         * lib/math.in.h (NAN): Define if missing.
50259         * tests/test-math.c (main): Test it.
50260         * doc/posix-headers/math.texi (math.h): Document this.
50261         * lib/isnan.c (rpl_isnand): Use it.
50262         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
50263         * tests/test-floorf1.c (NaN): Likewise.
50264         * tests/test-frexp.c (NaN): Likewise.
50265         * tests/test-isnand.c (NaN): Likewise.
50266         * tests/test-isnanf.c (NaN): Likewise.
50267         * tests/test-round1.c (NaN): Likewise.
50268         * tests/test-roundf1.c (NaN): Likewise.
50269         * tests/test-snprintf-posix.h (NaN): Likewise.
50270         * tests/test-sprintf-posix.h (NaN): Likewise.
50271         * tests/test-trunc1.c (NaN): Likewise.
50272         * tests/test-truncf1.c (NaN): Likewise.
50273         * tests/test-vasnprintf-posix.c (NaN): Likewise.
50274         * tests/test-vasprintf-posix.c (NaN): Likewise.
50275         * modules/isnand-nolibm (Depends-on): Add math.
50276         * modules/isnanf-nolibm (Depends-on): Likewise.
50277         * modules/isnanl (Depends-on): Likewise.
50278         * modules/isnanl-nolibm (Depends-on): Likewise.
50279         * modules/snprintf-posix-tests (Depends-on): Likewise.
50280         * modules/sprintf-posix-tests (Depends-on): Likewise.
50281         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
50282         * modules/vsprintf-posix-tests (Depends-on): Likewise.
50283         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
50284         * modules/vasprintf-posix-tests (Depends-on): Likewise.
50285
50286 2008-03-31  Bruno Haible  <bruno@clisp.org>
50287
50288         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
50289         * doc/posix-functions/strtod.texi: Likewise.
50290
50291 2008-03-31  Bruno Haible  <bruno@clisp.org>
50292
50293         * tests/test-strtod.c (main): Don't use C99 syntax.
50294
50295 2008-03-31  Bruno Haible  <bruno@clisp.org>
50296
50297         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
50298         Reported by Eric Blake.
50299
50300 2008-03-31  Jim Meyering  <meyering@redhat.com>
50301
50302         Don't compare actual signbit return values.
50303         * tests/test-strtod.c (main): Rather, compare only their
50304         zero/non-zero nature.
50305
50306 2008-03-31  Eric Blake  <ebb9@byu.net>
50307
50308         More strtod documentation.
50309         * doc/posix-functions/strtod.texi (strtod): Interpret more test
50310         failures as distinct bugs.
50311
50312 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
50313
50314         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
50315         Problem reported by Erik Benada in
50316         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
50317
50318 2008-03-30  Bruno Haible  <bruno@clisp.org>
50319
50320         * tests/test-strtod.c: Add comments about which assertion fails on which
50321         platform.
50322         * doc/posix-functions/strtod.texi: Add info about many more platforms.
50323
50324 2008-03-30  Eric Blake  <ebb9@byu.net>
50325
50326         Test signbit behavior on zeros.
50327         * tests/test-signbit.c (test_signbitf): Add tests for zero.
50328         (test_signbitd, test_signbitl): Likewise.
50329
50330         More strtod touchups.
50331         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
50332         sign of negative underflow, for now.  Use .5, not .1.
50333         * doc/posix-functions/strtod.texi (strtod): Mention these
50334         limitations.
50335         Reported by Jim Meyering.
50336
50337 2008-03-30  Bruno Haible  <bruno@clisp.org>
50338
50339         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
50340         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
50341
50342 2008-03-30  Bruno Haible  <bruno@clisp.org>
50343
50344         Avoid failure when attempting to return empty iconv results on some
50345         platforms.
50346         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
50347         allocation, don't report ENOMEM when the resulting string is empty.
50348
50349 2008-03-30  Bruno Haible  <bruno@clisp.org>
50350
50351         Fix buffer overrun.
50352         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
50353         Don't consider the width for tmp_length. Check count against tmp_length
50354         before doing the padding. Ensure enough allocation during padding.
50355
50356 2008-03-30  Eric Blake  <ebb9@byu.net>
50357
50358         strtod touchups.
50359         * lib/strtod.c (strtod): Avoid compiler warnings.
50360         Reported by Jim Meyering.
50361
50362 2008-03-30  Bruno Haible  <bruno@clisp.org>
50363
50364         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
50365         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
50366         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
50367         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
50368         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
50369         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
50370         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
50371         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
50372
50373         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
50374         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
50375         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
50376         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
50377         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
50378         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
50379         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
50380         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
50381
50382         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
50383         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
50384         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
50385         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
50386         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
50387         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
50388         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
50389         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
50390
50391         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
50392         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
50393
50394         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
50395         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
50396
50397         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
50398         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
50399
50400         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
50401         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
50402         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
50403
50404         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
50405         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
50406         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
50407
50408         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
50409         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
50410         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
50411
50412         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
50413         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
50414         * modules/vasprintf (Depends-on): Add EOVERFLOW.
50415
50416         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
50417         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
50418         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
50419         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
50420         (Depends-on): Add EOVERFLOW.
50421         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
50422         (Depends-on): Add EOVERFLOW.
50423         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50424         (Depends-on): Add EOVERFLOW.
50425         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50426         (Depends-on): Add EOVERFLOW.
50427         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50428         (Depends-on): Add EOVERFLOW.
50429         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50430         (Depends-on): Add EOVERFLOW.
50431         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50432         (Depends-on): Add EOVERFLOW.
50433         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50434         (Depends-on): Add EOVERFLOW.
50435
50436         * lib/sprintf.c (EOVERFLOW): Remove fallback.
50437         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
50438         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
50439
50440         * lib/snprintf.c (EOVERFLOW): Remove fallback.
50441         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
50442         * modules/snprintf (Depends-on): Add EOVERFLOW.
50443
50444         * lib/poll.c (EOVERFLOW): Remove fallback.
50445         * modules/poll (Depends-on): Add EOVERFLOW.
50446
50447         * lib/getugroups.c (EOVERFLOW): Remove fallback.
50448         * modules/getugroups (Depends-on): Add EOVERFLOW.
50449
50450         * lib/getdelim.c (EOVERFLOW): Remove fallback.
50451         * modules/getdelim (Depends-on): Add EOVERFLOW.
50452
50453         * lib/ftell.c (EOVERFLOW): Remove fallback.
50454         * modules/ftell (Depends-on): Add EOVERFLOW.
50455
50456         * lib/fprintf.c (EOVERFLOW): Remove fallback.
50457         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
50458         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
50459
50460         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
50461
50462         * modules/EOVERFLOW-tests: New file.
50463         * tests/test-EOVERFLOW.c: New file.
50464
50465         * modules/EOVERFLOW: New file.
50466         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
50467
50468 2008-03-30  Bruno Haible  <bruno@clisp.org>
50469
50470         Fix bug introduced on 2007-06-10.
50471         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
50472         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
50473
50474 2008-03-30  Bruno Haible  <bruno@clisp.org>
50475
50476         Improve freadseek's efficiency after ungetc.
50477         * lib/freadseek.c: Include freadahead.h.
50478         (freadptrinc): New function, extracted from freadseek.
50479         (freadseek): Use it in a loop. Use freadahead to determine the number
50480         of loop iterations.
50481         * modules/freadseek (Depends-on): Add freadahead.
50482         (configure.ac): Require AC_C_INLINE.
50483
50484 2008-03-30  Bruno Haible  <bruno@clisp.org>
50485
50486         * lib/freadseek.c (freadseek): Don't ignore the return value of
50487         freadptr.
50488
50489 2008-03-29  Eric Blake  <ebb9@byu.net>
50490
50491         Add hex float support.
50492         * modules/strtod (Depends-on): Add c-ctype.
50493         (Link): Mention POW_LIB.
50494         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
50495         whitespace between 'e' and exponent.
50496         * tests/test-strtod.c (main): Enable hex float tests.
50497         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
50498         now provides.
50499
50500         Document various strtod bugs, with some fixes.
50501         * doc/posix-functions/strtod.texi (strtod): Document bugs with
50502         "-0x", "inf", "nan", and hex constants.
50503         * doc/posix-functions/atof.texi (atof): Likewise.
50504         * modules/stdlib (Makefile.am): Support strtod.
50505         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
50506         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
50507         detect additional strtod bugs.
50508         * lib/stdlib.in.h (rpl_strtod): Add declarations.
50509         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
50510         bool where appropriate.  Parse 'inf' and 'nan'.
50511         * tests/test-strtod.c: New file.
50512         * modules/strtod (Depends-on): Add stdbool, stdlib.
50513         (configure.ac): Turn on module indicator.
50514         * modules/strtod-tests: New module.
50515
50516 2008-03-29  Eric Blake  <ebb9@byu.net>
50517
50518         Fix ftell on mingw.
50519         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
50520         * modules/ftell-tests (Depends-on): Add binary-io.
50521         * modules/ftello-tests (Depends-on): Likewise.
50522         * tests/test-ftell.c (main): Enhance test to cover behavior after
50523         ungetc.  Enforce binary mode.
50524         * tests/test-ftello.c (main): Likewise.
50525
50526         Pass test-freadseek on cygwin.
50527         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
50528         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
50529         ungetc buffer.
50530
50531         * tests/test-fflush2.c (main): Fix typo.
50532
50533 2008-03-29  Bruno Haible  <bruno@clisp.org>
50534
50535         * tests/test-fflush2.c (main): Temporarily disable the contents of
50536         this test.
50537         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
50538         Reported by Eric Blake.
50539
50540 2008-03-28  Simon Josefsson  <simon@josefsson.org>
50541
50542         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
50543         (GC_SHA224_DIGEST_SIZE): Add.
50544
50545         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
50546         (gc_hash_digest_length): Likewise.
50547         (gc_hash_buffer): Likewise.
50548
50549 2008-03-25  Bruno Haible  <bruno@clisp.org>
50550
50551         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
50552         detail which gettext release to use.
50553         Reported by Simon Josefsson.
50554
50555 2008-03-26  Jim Meyering  <meyering@redhat.com>
50556
50557         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
50558         * modules/gnumakefile (clean-GNUmakefile): Also, use
50559         test ... && ... || : syntax rather than if-then ... fi.
50560
50561         gnumakefile: Don't double-quote-expand $(VPATH) value.
50562         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
50563
50564 2008-03-24  Eric Blake  <ebb9@byu.net>
50565
50566         Alter GNUmakefile to install into top directory.
50567         * modules/maintainer-makefile: Split, and add dependency...
50568         * modules/gnumakefile: to this new module.
50569         * build-aux/GNUmakefile: Move...
50570         * top/GNUmakefile: ...here.
50571         * build-aux/maint.mk: Move...
50572         * top/maint.mk: ...here.
50573         * MODULES.html.sh (Support for maintaining...): Document new
50574         module.
50575
50576 2008-03-23  Bruno Haible  <bruno@clisp.org>
50577
50578         * gnulib-tool: New options --vc-files, --no-vc-files.
50579         (func_usage): Document them.
50580         (vc_files): New variable.
50581         (func_import): Consider vc_files.
50582         (func_create_testdir): Set vc_files to empty.
50583         Suggested by Jim Meyering and Karl Berry.
50584
50585 2008-03-23  Bruno Haible  <bruno@clisp.org>
50586
50587         Fix regex compilation error on HP-UX 11.
50588         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
50589         * modules/regex (Files): Add m4/mbstate_t.m4.
50590         Reported by Ton Voon <ton.voon@altinity.com>.
50591
50592 2008-03-23  Bruno Haible  <bruno@clisp.org>
50593
50594         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
50595
50596 2008-03-23  Eric Blake  <ebb9@byu.net>
50597             Bruno Haible  <bruno@clisp.org>
50598
50599         Install files from top/ in the destination directory.
50600         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
50601         augmentation also for the files from top/.
50602         (func_import, func_create_testdir): Rewrite file names:
50603         top/filename -> filename.
50604
50605 2008-03-23  Bruno Haible  <bruno@clisp.org>
50606
50607         Tweak "gnulib --version" output.
50608         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
50609
50610 2008-03-23  Bruno Haible  <bruno@clisp.org>
50611
50612         Tweak "gnulib --version" output.
50613         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
50614         rather than contents of ChangeLog, when possible.
50615
50616 2008-03-21  Eric Blake  <ebb9@byu.net>
50617
50618         More --version tweaks.
50619         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
50620         date of last ChangeLog entry.
50621
50622 2008-03-21  Jim Meyering  <meyering@redhat.com>
50623
50624         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
50625
50626 2008-03-20  Eric Blake  <ebb9@byu.net>
50627
50628         VPATH fix.
50629         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
50630
50631 2008-03-20  Simon Josefsson  <simon@josefsson.org>
50632
50633         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
50634         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
50635
50636 2008-03-20  Eric Blake  <ebb9@byu.net>
50637
50638         Sync GNUmakefile with coreutils.
50639         * build-aux/GNUmakefile (have-Makefile): Rename...
50640         (_have-Makefile): ...to this, for namespace consideration.
50641         (GNUmakefile.cfg): Include, if present.
50642         (_autoreconf): Define a default.
50643         (_is-dist-target): New rule for rebuilds to pick up intra-release
50644         version.
50645         (maint-cfg.mk): Rename...
50646         (cfg.mk): ...to this.
50647
50648 2008-03-18  Jim Meyering  <meyering@redhat.com>
50649
50650         New script and module: mktempd
50651         * MODULES.html.sh (maint+release support): Add mktempd.
50652         * build-aux/mktempd: New file.
50653         * modules/mktempd: New file.
50654
50655 2008-03-15  Jim Meyering  <meyering@redhat.com>
50656
50657         Undo last change.
50658         * lib/sha1.c, lib/md5.c: 63 != ~63.
50659         Reported by Andreas Schwab.
50660
50661         sha1.c, md5.c: Hoist a redundant expression.
50662         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
50663         "ctx->buflen" only once, before calling *_process_block.
50664         * lib/md5.c (md5_process_bytes): Likewise.
50665
50666 2008-03-14  Eric Blake  <ebb9@byu.net>
50667
50668         Bump copyright year in files generated by gnulib-tool.
50669         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
50670         gnulib-tool, rather than hard-coding it.
50671
50672         Fix 'gnulib-tool --version' output to work with git.
50673         * gnulib-tool (func_gnulib_dir): New function, extracted from...
50674         (startup): ...here.
50675         (func_version): Use it to invoke git-version-gen, rather than
50676         relying on CVS keyword expansion.  Modernize wording.
50677         (cvsdatestamp, last_checkin_date, version): Kill unused
50678         variables.
50679
50680 2008-03-12  Jim Meyering  <meyering@redhat.com>
50681
50682         Recognize optional cast of the argument to free.
50683         * build-aux/useless-if-before-free: Update regexps.
50684
50685         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
50686
50687 2008-03-11  Bruno Haible  <bruno@clisp.org>
50688
50689         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
50690         by a single package.
50691         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
50692         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
50693         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
50694         Reported by Sam Steingold <sds@gnu.org>.
50695
50696 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
50697
50698         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
50699         repositories.
50700
50701 2008-03-11  Bruno Haible  <bruno@clisp.org>
50702
50703         Avoid conflicts between local macro definitions.
50704         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
50705         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
50706
50707 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
50708             Bruno Haible  <bruno@clisp.org>
50709
50710         Make va_copy work with some version of xlc on AIX 5.1.
50711         * lib/stdarg.in.h: New file.
50712         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
50713         On AIX, use a <stdarg.h> file substitute.
50714         * modules/stdarg (Files): Add lib/stdarg.in.h.
50715         (Depends-on): Add include_next.
50716         (Makefile.am): Build a stdarg.h substitute if requested.
50717         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
50718
50719 2008-03-10  Bruno Haible  <bruno@clisp.org>
50720
50721         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
50722         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50723         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
50724
50725 2008-03-10  Bruno Haible  <bruno@clisp.org>
50726
50727         * modules/stdlib (Depends-on): Add include_next, remove
50728         absolute-header.
50729
50730 2008-03-09  Bruno Haible  <bruno@clisp.org>
50731
50732         * lib/freadahead.h (freadahead): Document more precisely.
50733         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
50734         the sum of both buffer sizes.
50735         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
50736         * NEWS: Document the change.
50737
50738 2008-03-09  Bruno Haible  <bruno@clisp.org>
50739
50740         Extend freadptr to return also the buffer size.
50741         * lib/freadptr.h (freadptr): Add sizep argument.
50742         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
50743         (freadptr): Add sizep argument. Determine buffer size like freadahead
50744         does.
50745         * tests/test-freadptr.c: Don't include freadahead.h.
50746         (main): Adapt for new calling convention of freadptr.
50747         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
50748         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
50749         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
50750         tests/test-freadptr2.sh.
50751         (Depends): Remove freadahead.
50752         (TESTS): Add test-freadptr2.sh.
50753         (check_PROGRAMS): Add test-freadptr2.
50754
50755 2008-03-09  Bruno Haible  <bruno@clisp.org>
50756
50757         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
50758         Report and solution by Simon Josefsson.
50759
50760 2008-03-06  Bruno Haible  <bruno@clisp.org>
50761
50762         Make fflush after ungetc work on BSD platforms.
50763         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
50764         * tests/test-fflush2.c: New file.
50765         * tests/test-fflush2.sh: New file.
50766         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
50767         tests/test-fflush2.c.
50768         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
50769         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
50770
50771 2008-03-06  Eric Blake  <ebb9@byu.net>
50772
50773         Likewise for ftello.
50774         * modules/ftello (Dependencies): Add extensions.
50775         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
50776
50777 2008-03-06  Bruno Haible  <bruno@clisp.org>
50778
50779         * modules/fseeko (Dependencies): Add extensions.
50780         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
50781         Needed on glibc systems.
50782
50783 2008-03-06  Bruno Haible  <bruno@clisp.org>
50784
50785         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
50786         email address.
50787         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
50788
50789 2008-03-06  Bruno Haible  <bruno@clisp.org>
50790
50791         * users.txt: Add libgnupdf.
50792
50793 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
50794
50795         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
50796         (Header File Substitutes, Function Substitutes,
50797         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
50798         (Build robot for gnulib): Fix typo.
50799
50800 2008-03-06  Bruno Haible  <bruno@clisp.org>
50801
50802         * doc/gnulib-tool.texi (VCS Issues): Small updates.
50803         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
50804
50805 2008-03-06  Bruno Haible  <bruno@clisp.org>
50806
50807         * doc/func.texi: New file, extracted from doc/gnulib.texi.
50808         * doc/gnulib.texi: Include it.
50809
50810 2008-03-06  Simon Josefsson  <simon@josefsson.org>
50811
50812         * modules/func (License): Change license to unlimited; there was
50813         no LGPL parts in the module anyway.
50814
50815 2008-03-06  Simon Josefsson  <simon@josefsson.org>
50816
50817         * modules/__func__: Renamed to modules/func.
50818         * modules/__func__-tests: Renamed to modules/func-tests.
50819         * tests/test-__func__.c: Renamed to tests/test-func.c.
50820         * m4/__func__.m4: Renamed to m4/func.m4.
50821         * doc/gnulib.texi (__func__): Section renamed to func.
50822         Suggested by Eric Blake <ebb9@byu.net>.
50823
50824 2008-03-06  Simon Josefsson  <simon@josefsson.org>
50825
50826         * doc/gnulib.texi (__func__): Use C99 terminology when talking
50827         about __func__.  Make example self-contained.  Suggested by Eric
50828         Blake <ebb9@byu.net>.
50829
50830         * tests/test-__func__.c (main): Avoid extraneous () around __func.
50831         Suggested by Eric Blake <ebb9@byu.net>.
50832
50833 2008-03-06  Simon Josefsson  <simon@josefsson.org>
50834
50835         * modules/__func__: New file.
50836         * modules/__func__-tests: New file.
50837         * tests/test-__func__.c: New file.
50838         * m4/__func__.m4: New file.
50839         * doc/gnulib.texi (__func__): Document __func__ module.
50840
50841 2008-03-05  Simon Josefsson  <simon@josefsson.org>
50842
50843         * modules/byteswap (License): Re-license as LGPLv2+.
50844
50845 2008-03-05  Simon Josefsson  <simon@josefsson.org>
50846
50847         * doc/Makefile: Add pdf target.
50848
50849 2008-03-05  Simon Josefsson  <simon@josefsson.org>
50850
50851         * modules/inline (License): Use 'unlimited', since there are only
50852         *.m4 files in this module.
50853
50854 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
50855             Bruno Haible  <bruno@clisp.org>
50856
50857         Add support for HP C 7.1 on OpenVMS 8.3.
50858         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
50859
50860 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
50861
50862         Update VMS specifics.
50863         * lib/getopt.c [VMS]: Remove include of unixlib.h.
50864
50865 2008-03-02  Jim Meyering  <meyering@redhat.com>
50866
50867         Remove the last dependency on the "free" module.
50868         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
50869         Reported by Bob Proulx.
50870
50871         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
50872
50873         Remove useless "if" tests before free.  Deprecate "free" module.
50874         * doc/posix-functions/free.texi: Mention that this
50875         module is no longer useful.
50876         * modules/free (Notice): Say this module is obsolete.
50877         * modules/readutmp (Depends-on): Remove free.
50878         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
50879         * lib/putenv.c (putenv): Likewise.
50880         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
50881         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
50882         * tests/test-c-strcasestr.c (main): Likewise.
50883         * tests/test-c-strstr.c (main): Likewise.
50884         * tests/test-mbscasestr1.c (main): Likewise.
50885         * tests/test-mbscasestr2.c (main): Likewise.
50886         * tests/test-mbsstr1.c (main): Likewise.
50887         * tests/test-mbsstr2.c (main): Likewise.
50888         * tests/test-memmem.c (main): Likewise.
50889         * tests/test-strcasestr.c (main): Likewise.
50890         * tests/test-striconv.c (main): Likewise.
50891         * tests/test-striconveh.c (main): Likewise.
50892         * tests/test-striconveha.c (main): Likewise.
50893         * tests/test-strstr.c (main): Likewise.
50894
50895         * build-aux/git-version-gen: Adjust a comment and the Usage string.
50896
50897         bootstrap: sync from coreutils again
50898         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
50899
50900 2008-03-01  Jim Meyering  <meyering@redhat.com>
50901
50902         bootstrap: sync from coreutils
50903         * build-aux/bootstrap (update_po_files): Copy a .po file into place
50904         also when the target doesn't exist.
50905
50906 2008-03-01  Eric Blake  <ebb9@byu.net>
50907
50908         Fix bugs in last patch.
50909         * lib/memchr2.c (memchr2): Fix typo.
50910         * tests/test-memchr2.c: Test previous bug, and don't use GNU
50911         extension.
50912         Reported by Bruce Korb.
50913
50914         New module 'memchr2'.
50915         * modules/memchr2: New file.
50916         * modules/memchr2-tests: Likewise.
50917         * lib/memchr2.h: Likewise.
50918         * lib/memchr2.c: Likewise, based on memchr.c.
50919         * tests/test-memchr2.c: New test.
50920         * MODULES.html.sh (String handling): Add memchr2.
50921
50922 2008-02-29  Bruno Haible  <bruno@clisp.org>
50923
50924         * modules/freadseek-tests: New file.
50925         * tests/test-freadseek.sh: New file.
50926         * tests/test-freadseek.c: New file.
50927
50928         New module 'freadseek'.
50929         * modules/freadseek: New file.
50930         * lib/freadseek.h: New file.
50931         * lib/freadseek.c: New file.
50932         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
50933
50934 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
50935
50936         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
50937         wydawca.
50938
50939         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
50940         program_invocation_name and program_invocation_short_name are
50941         present.
50942
50943 2008-02-28  Bruno Haible  <bruno@clisp.org>
50944
50945         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
50946         * tests/test-freadptr.sh: Also test non-seekable stdin.
50947
50948 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
50949
50950         * build-aux/bootstrap (source_base, m4_base)
50951         (doc_base, tests_base): New variables.
50952         (gnulib_tool_options): Do not hardcode base directories, use
50953         the above variables instead.
50954
50955 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
50956
50957         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
50958
50959 2008-02-28  Bruno Haible  <bruno@clisp.org>
50960
50961         * modules/freadptr-tests: New file.
50962         * tests/test-freadptr.sh: New file.
50963         * tests/test-freadptr.c: New file.
50964
50965         New module 'freadptr'.
50966         * modules/freadptr: New file.
50967         * lib/freadptr.h: New file.
50968         * lib/freadptr.c: New file.
50969         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
50970
50971 2008-02-26  Karl Berry  <karl@freefriends.org>
50972
50973         Sync from Libtool:
50974         * libltdl/argz.c (argz_add, argz_count): New functions.
50975         * libltdl/argz.in.h: Declare them.
50976         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
50977
50978 2008-02-22  Bruno Haible  <bruno@clisp.org>
50979
50980         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
50981         is a pointer type.  Needed for HP-UX 10.
50982         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
50983         * doc/posix-functions/gmtime_r.texi: Likewise.
50984         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
50985
50986 2008-02-24  Bruno Haible  <bruno@clisp.org>
50987
50988         * modules/environ-tests: New file.
50989         * tests/test-environ.c: New file.
50990
50991         New module 'environ'.
50992         * modules/environ: New file.
50993         * lib/unistd.in.h (environ): New declaration.
50994         * m4/environ.m4: New file.
50995         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
50996         after use.
50997         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
50998         HAVE_DECL_ENVIRON.
50999         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
51000         HAVE_DECL_ENVIRON.
51001         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
51002         wrong claim that 'environ' is missing on some systems.
51003         * modules/execute (Depends-on): Add environ.
51004         * lib/execute.c (environ): Remove fallback declaration.
51005         * modules/pipe (Depends-on): Add environ.
51006         * lib/pipe.c (environ): Remove fallback declaration.
51007         * modules/setenv (Depends-on): Add environ.
51008         * lib/setenv.c (environ): Remove fallback declaration.
51009         * modules/unsetenv (Depends-on): Add environ.
51010         * lib/unsetenv.c (environ): Remove fallback declaration.
51011         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
51012         m4/environ.m4.
51013         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
51014         (gl_PREREQ_UNSETENV): Likewise.
51015
51016 2008-02-24  Bruno Haible  <bruno@clisp.org>
51017
51018         * doc/posix-functions/environ.texi: Document the MacOS X problem.
51019
51020 2008-02-20  Bob Proulx  <bob@proulx.com>
51021
51022         Enable use of older two part flavor 'git describe'.
51023         * build-aux/git-version-gen: If using the older two part flavor of
51024         git version then recreate the third part now present in the
51025         newer three part flavor of git describe.
51026
51027 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
51028
51029         * lib/fts.c (fts_build): Typo correction to comment.
51030
51031 2008-02-17  Bruno Haible  <bruno@clisp.org>
51032
51033         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
51034         generating no-op conflicts.
51035
51036 2008-02-17  Bruno Haible  <bruno@clisp.org>
51037
51038         Speed up by 10%.
51039         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
51040         result_entries, rather than an index-based loop.
51041
51042 2008-02-17  Bruno Haible  <bruno@clisp.org>
51043
51044         Speed up by 25%.
51045         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
51046         'hashcode_cached'.
51047         (entry_create): New function.
51048         (entry_hashcode): Use the cached hashcode if possible.
51049         (read_changelog_file, try_split_merged_entry): Use entry_create.
51050
51051 2008-02-17  Bruno Haible  <bruno@clisp.org>
51052
51053         Speed up from O(n^2) to O(n) for long ChangeLog files.
51054         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
51055         (read_changelog_file): Change implementation of entries_reversed list
51056         to rbtreehash.
51057         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
51058
51059 2008-02-17  Bruno Haible  <bruno@clisp.org>
51060
51061         New option --split-merged-entry.
51062         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
51063         (find_paragraph_end, try_split_merged_entry): New functions.
51064         (long_options): Add option --split-merged-entry.
51065         (usage): Document option --split-merged-entry.
51066         (main): Implement option --split-merged-entry.
51067         Reported by Eric Blake.
51068
51069 2008-02-17  Bruno Haible  <bruno@clisp.org>
51070
51071         * lib/git-merge-changelog.c: Include c-strstr.h.
51072         (main): Support the "git pull --rebase" situation.
51073         * modules/git-merge-changelog (Depends-on): Add c-strstr.
51074         Reported by Eric Blake.
51075
51076 2008-02-16  Eric Blake  <ebb9@byu.net>
51077
51078         Avoid doubling \ in common case of "c-maybe" quoting style.
51079         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
51080         eliding outer quotes.
51081         * lib/quotearg.h: Document this.
51082         * tests/test-quotearg.c (result_strings, inputs, results_g)
51083         (flag_results, locale_results): Test it by adding a new string to
51084         each test group.
51085         (compare_strings): Test new string.
51086
51087 2008-02-13  Eric Blake  <ebb9@byu.net>
51088
51089         Avoid trigraph quoting in default output.
51090         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
51091         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
51092         unless explicitly requested.
51093         * tests/test-quotearg.c (flag_results, main): Add additional tests.
51094
51095 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
51096
51097         Don't rely on signed integer overflowing to negative value.
51098         * lib/getugroups.c (getugroups): Include <limits.h>.
51099         Instead, compare against INT_MAX, and increment only if the test passes.
51100
51101 2008-02-13  Jim Meyering  <meyering@redhat.com>
51102         and Eric Blake  <ebb9@byu.net>
51103
51104         Avoid shadowing warning and compile errors on Linux.
51105         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
51106         forwarding macros on Linux.
51107         (dcgettext): Define a stub, for Linux.
51108         (results_g, main): Avoid warnings.
51109
51110 2008-02-12  Eric Blake  <ebb9@byu.net>
51111
51112         Silence warning in last patch.
51113         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
51114
51115         Quotearg part 4: add tests, fix c-maybe colon quoting.
51116         * lib/quotearg.h: Improve documentation.
51117         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
51118         escapes when adding outer quotes.  When quoting trigraphs, use
51119         valid C notation.  When quoting NUL, omit extra characters if next
51120         character is not digit.  Alter prototype.
51121         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
51122         callers.
51123         * modules/quotearg-tests: New module.
51124         * tests/test-quotearg.c: New test.
51125
51126 2008-02-07  Eric Blake  <ebb9@byu.net>
51127
51128         Quotearg part 3: add flag to control outer quote elision.
51129         * lib/quotearg.h (c_maybe_quoting_style): New style.
51130         (enum quoting_flags): Better documentation of flags.
51131         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
51132         c-maybe style.
51133         (quotearg_buffer_restyled): Handle new flag to elide outer
51134         quotes.
51135
51136         Quotearg part 2: add flag that can control NUL elision.
51137         * lib/quotearg.h (set_quoting_flags): New prototype.
51138         * lib/quotearg.c (struct quoting_options): Add flag field.
51139         (set_quoting_flags): New function.
51140         (quotearg_buffer_restyled): Add flags parameter.
51141         (quotearg_alloc_mem): Set the flag if length cannot be returned.
51142         (quotearg_n_options): Set the flag, since length cannot be
51143         returned.
51144         (quoting_options_from_style): Default flags correctly.
51145
51146         Quotearg part 1: more wrappers, restore quotearg_char state.
51147         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
51148         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
51149         (quotearg_colon_mem): New wrappers.
51150         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
51151         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
51152         functions.
51153         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
51154         (quotearg_colon_mem): New functions.
51155
51156 2008-02-11  Bruno Haible  <bruno@clisp.org>
51157
51158         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
51159         library in the current directory: it does not work with parallel make.
51160         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51161
51162 2008-02-11  Bruno Haible  <bruno@clisp.org>
51163
51164         * .gitattributes: New file.
51165
51166 2008-02-11  Jim Meyering  <meyering@redhat.com>
51167
51168         useless-if-before-free: Fix reversed exit values.
51169         * build-aux/useless-if-before-free: Use correct values
51170         for EXIT_MATCH and EXIT_NO_MATCH.
51171
51172         * build-aux/useless-if-before-free: Close stdout carefully.
51173
51174 2008-02-10  Bruno Haible  <bruno@clisp.org>
51175
51176         New module 'git-merge-changelog'.
51177         * modules/git-merge-changelog: New file.
51178         * lib/git-merge-changelog.c: New file.
51179
51180 2008-02-10  Jim Meyering  <meyering@redhat.com>
51181
51182         useless-if-before-free: New option: --list (-l).
51183
51184         useless-if-before-free: Don't exit immediately upon open failure.
51185         * build-aux/useless-if-before-free: Exit 2 for errors.
51186         Upon failure to open a file, don't exit immediately.
51187         Rather, just warn and continue with any remaining files.
51188
51189 2008-02-10  Bruno Haible  <bruno@clisp.org>
51190
51191         New abstract list operation 'node_set_value'.
51192         * lib/gl_list.h (gl_list_node_set_value): New function.
51193         (struct gl_list_implementation): New field node_set_value.
51194         * lib/gl_list.c (gl_list_node_set_value): New function.
51195         * lib/gl_array_list.c (gl_array_node_set_value): New function.
51196         (gl_array_list_implementation): Update.
51197         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
51198         (gl_carray_list_implementation): Update.
51199         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
51200         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
51201         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
51202         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
51203         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
51204         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
51205         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
51206         Update.
51207         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
51208         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
51209         (gl_sublist_list_implementation): Update.
51210
51211 2008-02-10  Bruno Haible  <bruno@clisp.org>
51212
51213         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
51214         Needed when ELEMENT is #defined to 'some_type *'.
51215
51216 2008-02-10  Jim Meyering  <meyering@redhat.com>
51217
51218         New script and module: useless-if-before-free
51219         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
51220         * build-aux/useless-if-before-free: New file.
51221         * modules/useless-if-before-free: New file.
51222
51223         * build-aux/gitlog-to-changelog: Use committer date, not author date.
51224
51225         xstrtol_error: Fix typo.
51226         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
51227         s/exit_failure/exit_status/.
51228
51229 2008-02-09  Jim Meyering  <meyering@redhat.com>
51230
51231         New script and module: gitlog-to-changelog
51232         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
51233         * modules/gitlog-to-changelog: New file.
51234         * build-aux/gitlog-to-changelog: New file.
51235
51236 2008-02-08  Jim Meyering  <meyering@redhat.com>
51237
51238         Avoid two "parameter unused" warnings.
51239         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
51240         Mark "st" as used.
51241
51242         Use "git COMMAND", not "git-COMMAND".
51243         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
51244         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
51245         * build-aux/git-version-gen: Use "git status", not "git-status".
51246
51247 2008-02-07  Bruno Haible  <bruno@clisp.org>
51248
51249         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
51250         Avoids a crash on Windows Vista.
51251         Reported by Adam Strzelecki <ono@java.pl> via
51252         Simon Josefsson <simon@josefsson.org>.
51253
51254 2008-02-06  Bruno Haible  <bruno@clisp.org>
51255
51256         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
51257         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
51258         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
51259         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
51260         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51261         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51262         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
51263         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
51264         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51265         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51266         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51267         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51268         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51269         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51270         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51271         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
51272         left-adjust flag.
51273         * tests/test-snprintf-posix.h (test_function): Likewise.
51274         * tests/test-sprintf-posix.h (test_function): Likewise.
51275         * tests/test-vasprintf-posix.c (test_function): Likewise.
51276         * doc/posix-functions/fprintf.texi: Update.
51277         * doc/posix-functions/printf.texi: Update.
51278         * doc/posix-functions/snprintf.texi: Update.
51279         * doc/posix-functions/sprintf.texi: Update.
51280         * doc/posix-functions/vfprintf.texi: Update.
51281         * doc/posix-functions/vprintf.texi: Update.
51282         * doc/posix-functions/vsnprintf.texi: Update.
51283         * doc/posix-functions/vsprintf.texi: Update.
51284         Reported by Peter Fales <psfales@alcatel-lucent.com>.
51285
51286 2008-02-06  Bruno Haible  <bruno@clisp.org>
51287
51288         Fix bug introduced on 2008-01-26.
51289         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
51290
51291 2008-02-06  Bruno Haible  <bruno@clisp.org>
51292
51293         Fix bug introduced on 2007-06-10.
51294         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
51295         !NEED_PRINTF_FLAG_ZERO.
51296
51297 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
51298
51299         getloadavg: use libperfstat on AIX5
51300         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
51301
51302 2008-02-03  Bruno Haible  <bruno@clisp.org>
51303
51304         * lib/diffseq.h: Add comments about required #includes.
51305         Reported by Michael Biggs <gnulib@doubleplum.net>.
51306
51307 2008-02-01  Bruno Haible  <bruno@clisp.org>
51308
51309         * users.txt: Add gnuit.
51310
51311 2008-01-31  Bruno Haible  <bruno@clisp.org>
51312
51313         * lib/md4.c (set_uint32): Mark as inline.
51314         * lib/md5.c (set_uint32): Likewise.
51315         * lib/sha1.c (set_uint32): Likewise.
51316         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
51317         * m4/md5.m4 (gl_MD5): Likewise.
51318         * m4/sha1.m4 (gl_SHA1): Likewise.
51319
51320 2008-01-31  Jim Meyering  <meyering@redhat.com>
51321
51322         Use "sizeof VAR", rather than a literal "4".
51323         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
51324         * lib/md4.c (md4_read_ctx): Likewise.
51325         * lib/sha1.c (sha1_read_ctx): Likewise.
51326
51327 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51328
51329         * tests/test-sha1.c: New file, based on test-md5.c.
51330
51331         * modules/crypto/sha1-tests: New file.
51332
51333 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51334
51335         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
51336
51337 2008-01-31  Jim Meyering  <meyering@redhat.com>
51338
51339         Prefer "sizeof v" over the equivalent "4".
51340         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
51341         * lib/md5.c (set_uint32): Likewise.
51342         * lib/sha1.c (set_uint32): Likewise.
51343
51344 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51345
51346         * lib/sha1.c (set_uint32): Mark function as static.
51347
51348 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51349
51350         md2: clarify comments to say that alignment is not required.
51351         * lib/md2.h: Remove warning about alignment in comment.
51352         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
51353         never been required.
51354
51355 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51356
51357         md4: adapt alignment constraint fix from sha1.
51358         * lib/md4.c (set_uint32): New function, from sha1.c
51359         (md4_read_ctx): Use it.
51360         (md4_finish_ctx): Doc fix.
51361         * lib/md4.h: Doc fix.
51362
51363 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51364
51365         md5: adapt alignment constraint fix from sha1.
51366         * lib/md5.c (set_uint32): New function, from sha1.c
51367         (md5_read_ctx): Use it.
51368         (md5_finish_ctx): Doc fix.
51369         * lib/md5.h: Doc fix.
51370
51371 2008-01-30  Peter Palfrader  <weasel@debian.org>
51372
51373         sha1: remove the result buffer alignment constraint
51374         * lib/sha1.c (set_uint32): New function.
51375         (sha1_read_ctx): Rewrite to remove the result buffer alignment
51376         constraint.
51377         (sha1_finish_ctx): Remove comment warning about alignment constraint.
51378         * lib/sha1.h: Likewise.
51379
51380 2008-01-30  Andreas Schwab  <schwab@suse.de>
51381             Bruno Haible  <bruno@clisp.org>
51382
51383         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
51384         correct definition of LDBL_MIN_EXP.
51385
51386 2008-01-30  Karl Berry  <karl@gnu.org>
51387
51388         * config/srclist-update: try to preserve x bit on updates.
51389         * config/srclistvars.sh: update for karl.
51390
51391 2008-01-29  Jim Meyering  <meyering@redhat.com>
51392
51393         vasnprintf.c: Avoid warning about unused label
51394         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
51395         "overflow" label definition and associated code with the
51396         same cpp condition that guards the sole use of that label.
51397
51398 2008-01-26  Bruno Haible  <bruno@clisp.org>
51399
51400         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
51401         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
51402         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
51403         * lib/isnanl-nolibm.h (isnanl): Likewise.
51404         Reported by Paul Eggert <eggert@cs.ucla.edu>.
51405
51406 2008-01-26  Bruno Haible  <bruno@clisp.org>
51407
51408         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
51409         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
51410
51411 2008-01-26  Bruno Haible  <bruno@clisp.org>
51412
51413         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
51414         GCC >= 4.0 built-in.
51415         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
51416
51417 2008-01-26  Bruno Haible  <bruno@clisp.org>
51418
51419         Rename isnan, applicable to 'double' only, to isnand.
51420         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
51421         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
51422         (configure.ac): Update.
51423         (Include): Replace "isnan.h" with "isnand.h".
51424         * m4/isnand.m4: Renamed from m4/isnan.m4.
51425         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
51426         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
51427         instead of isnan.c.
51428         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
51429         instead of HAVE_ISNAN_IN_LIBC.
51430         (isnand): Renamed from isnan.
51431         * lib/isnand.c: New file.
51432         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
51433         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
51434         (Makefile.am): Update.
51435         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
51436         Include isnand.h instead of isnan.h.
51437         (main): Test isnand instead of isnan.
51438         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
51439         isnan-nolibm.
51440         * modules/frexp (Depends-on): Likewise.
51441         * modules/frexp-tests (Depends-on): Likewise.
51442         * modules/frexp-nolibm (Depends-on): Likewise.
51443         * modules/frexp-nolibm-tests (Depends-on): Likewise.
51444         * modules/isfinite (Depends-on): Likewise.
51445         * modules/round-tests (Depends-on): Likewise.
51446         * modules/signbit (Depends-on): Likewise.
51447         * modules/signbit-tests (Depends-on): Likewise.
51448         * modules/snprintf-posix (Depends-on): Likewise.
51449         * modules/sprintf-posix (Depends-on): Likewise.
51450         * modules/trunc-tests (Depends-on): Likewise.
51451         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51452         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51453         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51454         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51455         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51456         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51457         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51458         * modules/vasnprintf-posix (Depends-on): Likewise.
51459         * modules/vasprintf-posix (Depends-on): Likewise.
51460         * modules/vfprintf-posix (Depends-on): Likewise.
51461         * modules/vsnprintf-posix (Depends-on): Likewise.
51462         * modules/vsprintf-posix (Depends-on): Likewise.
51463         * lib/frexp.c: Include isnand.h instead of isnan.h.
51464         (ISNAN): Set to isnand instead of isnan.
51465         * lib/isfinite.c: Include isnand.h instead of isnan.h.
51466         (gl_isfinited): Use isnand instead of isnan.
51467         * lib/signbitd.c: Include isnand.h instead of isnan.h.
51468         (gl_signbitd): Use isnand instead of isnan.
51469         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
51470         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
51471         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
51472         (main): Use isnand instead of isnan.
51473         * tests/test-round1.c: Include isnand.h.
51474         (main): Use isnand instead of isnan.
51475         * tests/test-round2.c: Include isnand.h instead of isnan.h.
51476         (ISNAN): Set to isnand instead of isnan.
51477         * tests/test-trunc1.c: Include isnand.h.
51478         (main): Use isnand instead of isnan.
51479         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
51480         (equal): Use isnand instead of isnan.
51481         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
51482         isnand-nolibm.
51483         * NEWS: Mention the change.
51484
51485 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
51486             Bruno Haible  <bruno@clisp.org>
51487
51488         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
51489         the GCC builtins for signbits are present and set
51490         REPLACE_SIGNBIT_USING_GCC if so.
51491         * lib/math.in.h (signbit): Define using GCC builtins if
51492         REPLACE_SIGNBIT_USING_GCC is set.
51493         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
51494         REPLACE_SIGNBIT_USING_GCC.
51495         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
51496
51497 2008-01-25  Jim Meyering  <meyering@redhat.com>
51498
51499         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
51500         * lib/poll.c: Include <config.h>, not "config.h".
51501         * tests/test-getaddrinfo.c: Likewise.
51502
51503 2008-01-25  Simon Josefsson  <simon@josefsson.org>
51504
51505         * modules/sockets-tests: New file.
51506
51507 2008-01-24  Simon Josefsson  <simon@josefsson.org>
51508
51509         * modules/sockets: New module, can be used to call WSA_Startup and
51510         WSA_Cleanup when needed.
51511
51512         * lib/sockets.h, lib/sockets.c: New files.
51513
51514         * m4/sockets.m4: New file.
51515
51516         * tests/test-sockets.c: New file.
51517
51518 2008-01-19  Bruno Haible  <bruno@clisp.org>
51519
51520         * doc/posix-headers: Renamed from doc/headers.
51521         * doc/posix-functions: Renamed from doc/functions.
51522         * doc/gnulib.texi: Update.
51523
51524 2008-01-19  Bruno Haible  <bruno@clisp.org>
51525
51526         * doc/glibc-functions/strcasestr.texi: Include contents of
51527         doc/functions/strcasestr.texi, fixing the list of platforms.
51528         * doc/functions/strcasestr.texi: Remove file.
51529
51530 2008-01-19  Bruno Haible  <bruno@clisp.org>
51531
51532         * doc/glibc-functions/memmem.texi: Include contents of
51533         doc/functions/memmem.texi.
51534         * doc/functions/memmem.texi: Remove file.
51535
51536 2008-01-18  Bruno Haible  <bruno@clisp.org>
51537
51538         * doc/glibc-functions/*.texi: New files.
51539         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
51540         to use the new files.
51541
51542 2008-01-17  Bruno Haible  <bruno@clisp.org>
51543
51544         * tests/test-gethostname.c (main): Fix printf statement.
51545
51546 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51547
51548         * modules/gethostname-tests: New file.
51549
51550         * tests/test-gethostname.c: New file.
51551
51552 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51553
51554         * lib/gethostname.c: Include string.h unconditionally, strncpy is
51555         used by the UNAME case.  Reported by Bruno Haible
51556         <bruno@clisp.org>.
51557
51558 2008-01-17  Eric Blake  <ebb9@byu.net>
51559
51560         Convert c-strcasestr to be more efficient.
51561         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
51562         (Depends-on): Add c-strcase, remove malloca, strnlen.
51563         * tests/test-c-strcasestr.c (main): Enhance test.
51564         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
51565
51566 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
51567
51568         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
51569         Use it in creating po/Makevars.
51570
51571 2008-01-15  Simon Josefsson  <simon@josefsson.org>
51572
51573         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
51574         Applications that requires it should initialize libgcrypt
51575         manually.
51576
51577 2008-01-16  Simon Josefsson  <simon@josefsson.org>
51578
51579         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
51580
51581 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
51582
51583         Fix problem with getdate on mingw32 reported by Simon Josefsson
51584         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
51585         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
51586         tzname", when deciding whether to declare tzname.
51587         * lib/strftime.c (tzname): Likewise.
51588
51589 2008-01-15  Bruno Haible  <bruno@clisp.org>
51590
51591         Work around a MacOS X 10.5 bug in frexpl().
51592         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
51593         * doc/functions/frexpl.texi: Document the bug.
51594         Reported by Elias Pipping <pipping@gentoo.org>.
51595
51596 2008-01-14  Eric Blake  <ebb9@byu.net>
51597
51598         Touch up previous patch.
51599         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
51600         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
51601
51602         Convert strcasestr module to use Two-Way algorithm.
51603         * modules/strcasestr-simple: New module, based on the old
51604         strcasestr, but with Two-Way rather than KMP.
51605         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
51606         * lib/string.in.h (rpl_strcasestr): Declare.
51607         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
51608         performance.
51609         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
51610         * modules/string (Makefile.am): Support strcasestr.
51611         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
51612         * modules/strcasestr-tests (Depends-on): Check for alarm.
51613         * tests/test-strcasestr.c: Augment test.
51614         * lib/str-two-way.h: Clean up stray macro.
51615         * NEWS: Document new module.
51616         * MODULES.html.sh (string handling): Likewise.
51617         * doc/functions/strcasestr.texi: New file.
51618         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
51619         here, since it is not a POSIX function.
51620
51621 2008-01-14  Colin Watson  <cjwatson@debian.org>
51622             Bruno Haible  <bruno@clisp.org>
51623
51624         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
51625         works fine; if not, set REPLACE_STRSIGNAL.
51626         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
51627         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51628         REPLACE_STRSIGNAL.
51629         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
51630         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
51631         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
51632
51633 2008-01-14  Bruno Haible  <bruno@clisp.org>
51634
51635         * modules/strsignal (Include): Change to <string.h>.
51636
51637 2008-01-14  Colin Watson  <cjwatson@debian.org>
51638
51639         * modules/argp (Notice): Add a notice recommending to change
51640         XGETTEXT_OPTIONS.
51641         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
51642
51643 2008-01-13  Colin Watson  <cjwatson@debian.org>
51644
51645         * modules/strsignal-tests: New file.
51646         * tests/test-strsignal.c: New file.
51647
51648         * lib/strsignal.c: New file, from glibc with modifications.
51649         * lib/siglist.h: New file, from glibc with modifications.
51650         * lib/string.in.h (strsignal): New declaration.
51651         * m4/strsignal.m4: New file.
51652         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51653         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
51654         * modules/strsignal: New file.
51655         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
51656         HAVE_DECL_STRSIGNAL.
51657
51658 2008-01-13  Bruno Haible  <bruno@clisp.org>
51659
51660         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
51661         locale encoding is not ASCII. Needed for OpenBSD 4.0.
51662         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
51663         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
51664
51665 2008-01-13  Bruno Haible  <bruno@clisp.org>
51666
51667         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
51668         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
51669         * lib/argp.h (__attribute__): Likewise.
51670         * lib/c-stack.c (__attribute__): Likewise.
51671         * lib/error.h (__attribute__): Likewise.
51672         * lib/fts.c (__attribute__): Likewise.
51673         * lib/openat.h (__attribute__): Likewise.
51674         * lib/stdio.in.h (__attribute__): Likewise.
51675         * lib/string.in.h (__attribute__): Likewise.
51676         * lib/utimens.c (__attribute__): Likewise.
51677         * lib/vasnprintf.h (__attribute__): Likewise.
51678         * lib/xalloc.h (__attribute__): Likewise.
51679         * lib/xprintf.h (__attribute__): Likewise.
51680         * lib/xstrtol.h (__attribute__): Likewise.
51681         * lib/xvasprintf.h (__attribute__): Likewise.
51682
51683 2008-01-12  Bruno Haible  <bruno@clisp.org>
51684
51685         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
51686         * doc/glibc-headers/a.out.texi: New file.
51687         * doc/glibc-headers/aliases.texi: New file.
51688         * doc/glibc-headers/alloca.texi: New file.
51689         * doc/glibc-headers/ar.texi: New file.
51690         * doc/glibc-headers/argp.texi: New file.
51691         * doc/glibc-headers/argz.texi: New file.
51692         * doc/glibc-headers/byteswap.texi: New file.
51693         * doc/glibc-headers/crypt.texi: New file.
51694         * doc/glibc-headers/endian.texi: New file.
51695         * doc/glibc-headers/envz.texi: New file.
51696         * doc/glibc-headers/err.texi: New file.
51697         * doc/glibc-headers/error.texi: New file.
51698         * doc/glibc-headers/execinfo.texi: New file.
51699         * doc/glibc-headers/fpu_control.texi: New file.
51700         * doc/glibc-headers/fstab.texi: New file.
51701         * doc/glibc-headers/fts.texi: New file.
51702         * doc/glibc-headers/getopt.texi: New file.
51703         * doc/glibc-headers/ieee754.texi: New file.
51704         * doc/glibc-headers/ifaddrs.texi: New file.
51705         * doc/glibc-headers/libintl.texi: New file.
51706         * doc/glibc-headers/mcheck.texi: New file.
51707         * doc/glibc-headers/mntent.texi: New file.
51708         * doc/glibc-headers/obstack.texi: New file.
51709         * doc/glibc-headers/paths.texi: New file.
51710         * doc/glibc-headers/printf.texi: New file.
51711         * doc/glibc-headers/pty.texi: New file.
51712         * doc/glibc-headers/resolv.texi: New file.
51713         * doc/glibc-headers/shadow.texi: New file.
51714         * doc/glibc-headers/sysexits.texi: New file.
51715         * doc/glibc-headers/ttyent.texi: New file.
51716
51717 2008-01-12  Jim Meyering  <meyering@redhat.com>
51718
51719         announce-gen: emit Gnulib's git-based version string.
51720         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
51721         New option --gnulib-version=V, where V is expected to be
51722         the output of running git describe in the gnulib directory.
51723         (get_tool_versions): Request feedback on xdelta.  I suspect it's
51724         not useful, and plan to stop publishing an xdelta file with each
51725         coreutils release.
51726
51727         * build-aux/announce-gen: Also check for lzma-compressed files.
51728
51729 2008-01-11  Bruno Haible  <bruno@clisp.org>
51730
51731         * tests/test-memmem.c (main): Increase maximum allowed time.
51732         * tests/test-strstr.c (main): Likewise.
51733
51734 2008-01-11  Bruno Haible  <bruno@clisp.org>
51735
51736         * doc/functions/memmem.texi: Add more precisions about platforms.
51737         * doc/functions/strstr.texi: Likewise.
51738
51739 2008-01-10  Eric Blake  <ebb9@byu.net>
51740
51741         * m4/strstr.m4: Delete cruft from copy-n-paste.
51742         Reported by Bruno Haible.
51743
51744 2008-01-10  Bruno Haible  <bruno@clisp.org>
51745
51746         Make c-strstr rely on strstr.
51747         * lib/c-strstr.c: Don't include str-kmp.h.
51748         (c_strstr): Define in terms of strstr.
51749         * modules/c-strstr (Files): Remove lib/str-kmp.h.
51750         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
51751
51752 2008-01-10  Bruno Haible  <bruno@clisp.org>
51753
51754         * doc/gnulib.texi (String Functions in C Locale): New section.
51755         * doc/c-ctype.texi: New file.
51756         * doc/c-strcase.texi: New file.
51757         * doc/c-strcaseeq.texi: New file.
51758         * doc/c-strcasestr.texi: New file.
51759         * doc/c-strstr.texi: New file.
51760         * doc/c-strtod.texi: New file.
51761         * doc/c-strtold.texi: New file.
51762
51763 2008-01-10  Eric Blake  <ebb9@byu.net>
51764
51765         * lib/relocatable.h: Fix a comment.
51766
51767 2008-01-10  Eric Blake  <ebb9@byu.net>
51768
51769         Share two-way algorithm.
51770         * lib/str-two-way.h: New file, merged from...
51771         * lib/memmem.c: ...here...
51772         * lib/strstr.c: ...and here.
51773         * modules/memmem (Files): Use it.
51774         * modules/strstr (Files): Likewise.
51775
51776         Avoid quadratic strstr implementations.
51777         * lib/strstr.c: New file.
51778         * m4/strstr.m4: Likewise.
51779         * modules/strstr: Likewise.
51780         * modules/strstr-tests: Likewise.
51781         * tests/test-strstr.c: Likewise.
51782         * lib/string.in.h (rpl_strstr): Declare.
51783         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
51784         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
51785         * modules/string (Makefile.am): Likewise.
51786         * MODULES.html.sh (string handling): Mention new module.
51787         * doc/functions/strstr.texi (strstr): Document the bug.
51788
51789 2008-01-10  Bruno Haible  <bruno@clisp.org>
51790
51791         * lib/relocatable.h (relocate): State whether result is freshly
51792         allocated or not.
51793         * lib/relocatable.c (relocate): Return a freshly allocated string
51794         instead of a pointer to a privately held string.
51795         Reported by Sylvain Beucler <beuc@gnu.org>.
51796
51797 2008-01-10  Colin Watson  <cjwatson@debian.org>
51798
51799         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
51800         s/S_ISNLK/S_ISLNK/.
51801
51802 2008-01-09  Bruno Haible  <bruno@clisp.org>
51803
51804         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
51805         and other files.
51806         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
51807         if it's only a guess.
51808         * modules/memmem: Simplify by depending on memmem-simple.
51809
51810 2008-01-09  Bruno Haible  <bruno@clisp.org>
51811
51812         Work around OpenBSD 4.0 tdelete() bug.
51813         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
51814         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
51815         macros and don't redefine the enum values.
51816         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
51817         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
51818         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
51819
51820 2008-01-09  Bruno Haible  <bruno@clisp.org>
51821
51822         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
51823         (main): Don't perform the tests if setlocale did not install a UTF-8
51824         locale. Needed on OpenBSD 4.0.
51825         * modules/wcwidth-tests (Depends-on): Add localcharset.
51826
51827 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51828
51829         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
51830         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
51831         * NEWS: announce this.
51832         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
51833
51834 2008-01-09  Simon Josefsson  <simon@josefsson.org>
51835         and Eric Blake  <ebb9@byu.net>
51836
51837         Add memmem-simple module.
51838         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
51839         (gl_FUNC_MEMMEM): Separate performance from presence checks.
51840         * modules/memmem-simple: New file.
51841         * modules/memmem (Description): Tweak.
51842         * MODULES.html.sh (string handling): Mention new module.
51843         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
51844         addressed by memmem-simple.
51845         * NEWS: Document the difference.
51846
51847 2008-01-09  Eric Blake  <ebb9@byu.net>
51848
51849         Give gcc some memmem optimization hints.
51850         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
51851         (strcasestr): Declare as pure.
51852         * modules/memmem (Maintainer): Claim my implementation.
51853
51854 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51855
51856         Support AIX 6.1 and higher.
51857         * build-aux/config.libpath: Likewise.
51858         * build-aux/config.rpath: Likewise.
51859
51860 2008-01-08  Jim Meyering  <meyering@redhat.com>
51861             Bruno Haible  <bruno@clisp.org>
51862
51863         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
51864         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
51865         Reported by Peter Fales in
51866         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
51867
51868 2008-01-08  Bruno Haible  <bruno@clisp.org>
51869
51870         * modules/unictype/category-of (Depends-on): Add
51871         unictype/category-none.
51872         * modules/unictype/category-and-tests (Depends-on): Add
51873         unictype/category-{L,N,Lu,Nd}.
51874         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
51875         * modules/unictype/category-or-tests (Depends-on): Add
51876         unictype/category-{L,N}.
51877         * modules/unictype/category-name-tests (Depends-on): Add
51878         unictype/category-{Z,Nl}.
51879         Reported by Simon Josefsson.
51880
51881 2008-01-08  Bruno Haible  <bruno@clisp.org>
51882
51883         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
51884         convention better.
51885         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
51886         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
51887         Reported by Peter Miller <millerp@canb.auug.org.au>.
51888
51889 2008-01-08  Eric Blake  <ebb9@byu.net>
51890
51891         Rewrite memmem to guarantee linear complexity without malloc.
51892         * lib/memmem.c (memmem): Use Two-Way rather than
51893         Knuth-Morris-Pratt, to allow O(1) space usage.
51894         (critical_factorization, two_way_short_needle)
51895         (two_way_long_needle): New functions.
51896         (knuth_morris_pratt): Delete.
51897         * modules/memmem (Depends-on): No longer need malloca or stdbool.
51898         Add stdint.
51899         * tests/test-memmem.c (main): Add tests for periodic needle and
51900         sublinear performance.
51901         * doc/functions/memmem.texi (memmem): Document other deficiencies
51902         in cygwin and older glibc.
51903
51904 2008-01-08  Bruno Haible  <bruno@clisp.org>
51905
51906         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
51907         augmentation.
51908
51909 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
51910
51911         Add a configure time option: --disable-acl.
51912         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
51913         AC_ARG_ENABLE(acl).
51914
51915 2008-01-06  Simon Josefsson  <simon@josefsson.org>
51916
51917         * tests/test-localename.c: Don't include obsolete "setenv.h".
51918
51919         * modules/localename-tests (Depends-on): Need unsetenv.
51920
51921 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51922
51923         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
51924
51925 2008-01-06  Colin Watson  <cjwatson@debian.org>
51926
51927         * users.txt: Add man-db.
51928
51929 2008-01-07  Bruno Haible  <bruno@clisp.org>
51930
51931         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
51932         previous section name.
51933
51934 2008-01-07  Bruno Haible  <bruno@clisp.org>
51935
51936         * lib/progname.c (set_program_name): Don't strip off a leading
51937         "lt-" prefix outside a .libs directory.
51938         Suggested by Paul Eggert.
51939
51940 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
51941             Bruno Haible  <bruno@clisp.org>
51942
51943         Improve memory cleanup in 'relocatable' module.
51944         * lib/relocatable.h (compute_curr_prefix): Change return type to
51945         'char *'.
51946         * lib/relocatable.c (compute_curr_prefix): Change return type to
51947         'char *'. Free curr_installdir after use.
51948         (relocate): Free curr_prefix_better after use.
51949         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
51950
51951 2008-01-01  Bruno Haible  <bruno@clisp.org>
51952
51953         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
51954         failure on older glibc systems.
51955         Reported by Peter Fales <psfales@alcatel-lucent.com>.
51956
51957 2008-01-05  Eric Blake  <ebb9@byu.net>
51958
51959         Avoid quadratic system memmem.
51960         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
51961         Reported by Ralf Wildenhues.
51962
51963         Fix memmem test for mingw.
51964         * modules/memmem-tests (configure.ac): Check for alarm.
51965         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
51966         it.
51967         * doc/functions/memmem.texi: New file.
51968         * doc/gnulib.texi (Function Substitutes): Add memmem.
51969         Reported by Bruno Haible.
51970
51971 2008-01-04  Bruno Haible  <bruno@clisp.org>
51972
51973         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
51974         Require gl_HEADER_STRINGS_H_DEFAULTS, not
51975         gl_HEADER_STRING_H_DEFAULTS.
51976
51977 2008-01-04  Eric Blake  <ebb9@byu.net>
51978
51979         Shorten duration of memmem test.
51980         * tests/test-memmem.c (main): Use alarm to declare failure if test
51981         is taking too long.
51982         Reported by Ralf Wildenhues.
51983
51984 2007-12-21  Simon Josefsson  <simon@josefsson.org>
51985
51986         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
51987         string, needed by strerror.
51988
51989 2008-01-03  Colin Watson  <cjwatson@debian.org>
51990             Bruno Haible  <bruno@clisp.org>
51991
51992         * doc/gnulib-tool.texi (Localization): New section.
51993
51994 2008-01-02  Bruno Haible  <bruno@clisp.org>
51995
51996         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
51997         variables to 'unsigned char *' type.
51998         Reported by Paul Eggert.
51999
52000 2008-01-02  Jim Meyering  <jim@meyering.net>
52001
52002         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
52003
52004 2007-12-31  Jim Meyering  <jim@meyering.net>
52005
52006         Avoid use of private FTS type name.
52007         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
52008
52009 2007-12-30  Karl Berry  <karl@gnu.org>
52010
52011         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
52012         work around defect in Texinfo and/or the standalone Info browser.
52013
52014 2007-12-30  Bruno Haible  <bruno@clisp.org>
52015
52016         Unify 5 copies of the KMP code.
52017         * lib/str-kmp.h: New file.
52018         * lib/c-strcasestr.c: Include str-kmp.h.
52019         (knuth_morris_pratt): Remove function.
52020         (c_strcasestr): Update.
52021         * lib/c-strstr.c: Include str-kmp.h.
52022         (knuth_morris_pratt): Remove function.
52023         (c_strcasestr): Update.
52024         * lib/mbscasestr.c: Include str-kmp.h.
52025         (knuth_morris_pratt_unibyte): Remove function.
52026         * lib/mbsstr.c: Include str-kmp.h.
52027         (knuth_morris_pratt_unibyte): Remove function.
52028         * lib/strcasestr.c: Include str-kmp.h.
52029         (knuth_morris_pratt): Remove function.
52030         (strcasestr): Update.
52031         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
52032         * modules/c-strstr (Files): Likewise.
52033         * modules/mbscasestr (Files): Likewise.
52034         * modules/mbsstr (Files): Likewise.
52035         * modules/strcasestr (Files): Likewise.
52036         Suggested by Paul Eggert.
52037
52038 2007-12-30  Bruno Haible  <bruno@clisp.org>
52039
52040         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
52041         defined.
52042
52043 2007-12-30  Bruno Haible  <bruno@clisp.org>
52044
52045         * lib/xmalloca.h: Include xalloc.h.
52046         (xnmalloca): New macro.
52047
52048 2007-12-30  Bruno Haible  <bruno@clisp.org>
52049
52050         * lib/malloca.h (nmalloca): New macro.
52051         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
52052         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
52053         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
52054         knuth_morris_pratt_multibyte): Likewise.
52055         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
52056         knuth_morris_pratt_multibyte): Likewise.
52057         * lib/memmem.c (knuth_morris_pratt): Likewise.
52058         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
52059
52060 2007-12-25  Bruno Haible  <bruno@clisp.org>
52061
52062         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
52063         * lib/glob.c: Don't include openat.h.
52064         (link_exists2_p): Add back the code that deals with the
52065         !GLOB_ALTDIRFUNC case.
52066         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
52067         let it do the filename concatenation.
52068         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
52069         * modules/glob (Depends-on): Remove openat.
52070
52071 2007-12-31  Bruno Haible  <bruno@clisp.org>
52072
52073         * modules/dirfd (License): Change to LGPLv2+.
52074         Approved by Jim Meyering.
52075
52076 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
52077
52078         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
52079         when multiplying M by sizeof (size_t).
52080
52081 2007-12-10  Martin Lambers  <marlam@marlam.de>
52082
52083         Override getpagesize on mingw.
52084         * lib/getpagesize.c: New file.
52085         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
52086         * modules/getpagesize (Files): Add lib/getpagesize.c.
52087         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
52088         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52089         REPLACE_GETPAGESIZE.
52090         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
52091
52092 2007-12-25  Bruno Haible  <bruno@clisp.org>
52093
52094         * modules/localcharset (Notice): New field.
52095         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
52096         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
52097
52098 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
52099             Bruno Haible  <bruno@clisp.org>
52100
52101         Avoid using the syntax symbol() in formatted documentation.
52102         * MODULES.html.sh (func_module): When replacing symbol() with a
52103         hyperlink, remove the parentheses. Show an error if some remain.
52104         Recognize and render the '...' syntax.
52105         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
52106         Rework. Add paragraph about GCC's inlining.
52107         * doc/alloca.texi: Likewise.
52108         * doc/error.texi: Remove parentheses from symbol reference.
52109         * doc/gnulib-intro.texi: Likewise.
52110         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
52111         * modules/fnmatch (Description): Reword to say "the ... function".
52112         * modules/full-read (Description): Likewise.
52113         * modules/full-write (Description): Likewise.
52114         * modules/safe-read (Description): Likewise.
52115         * modules/safe-write (Description): Likewise.
52116         * modules/strchrnul (Description): Likewise.
52117         * modules/trim (Description): Likewise.
52118         * modules/error (Description): Remove parentheses from symbol
52119         references.
52120         * modules/verror (Description): Likewise.
52121         Reported by Karl Berry.
52122
52123 2007-12-25  Bruno Haible  <bruno@clisp.org>
52124
52125         Fixup after 2007-10-16 commit.
52126         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
52127
52128 2007-12-24  Bruno Haible  <bruno@clisp.org>
52129
52130         Make --enable-relocatable work with DESTDIR.
52131         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
52132         to compute installdir from destprog.
52133         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
52134         also set the RELOC_DESTDIR variable.
52135         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52136
52137 2007-12-24  Bruno Haible  <bruno@clisp.org>
52138
52139         Fix link error due to xalloc_die().
52140         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
52141         of xreadlink.
52142         * lib/relocwrapper.c: Update comments.
52143         * build-aux/install-reloc: Remove xreadlink.c from file list.
52144         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
52145         xreadlink.c.
52146         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52147
52148 2007-12-24  Bruno Haible  <bruno@clisp.org>
52149
52150         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
52151         * lib/setenv.h: Remove file.
52152         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
52153         lib/setenv.h.
52154         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
52155         (Depends-on): Add stdlib.
52156         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
52157         gl_FUNC_UNSETENV.
52158         (Include): Replace setenv.h with <stdlib.h>.
52159         * modules/unsetenv: New file.
52160         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
52161         * lib/unsetenv.c: Include <stdlib.h> first.
52162         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
52163         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
52164         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
52165         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
52166         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
52167         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52168         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
52169         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52170         * doc/functions/unsetenv.texi: Update.
52171         * modules/xsetenv (Depends-on): Add unsetenv.
52172         * modules/getdate (Depends-on): Likewise.
52173         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
52174         * lib/xsetenv.c: Don't include setenv.h.
52175         * lib/getdate.y: Likewise.
52176         * lib/relocwrapper.c: Likewise.
52177         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
52178         (Depends-on): Add stdlib.
52179         * NEWS: Mention the changes.
52180         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52181
52182 2007-12-23  Bruno Haible  <bruno@clisp.org>
52183
52184         * lib/memmem.c (memmem): Use lowercase variable names. Tab
52185         indentation.
52186
52187 2007-12-23  Bruno Haible  <bruno@clisp.org>
52188
52189         * lib/c-strcasestr.c: Add more comments.
52190         * lib/c-strstr.c: Likewise.
52191         * lib/mbscasestr.c: Likewise.
52192         * lib/mbsstr.c: Likewise.
52193         * lib/strcasestr.c: Likewise.
52194         * lib/memmem.c: Likewise.
52195
52196 2007-12-23  Bruno Haible  <bruno@clisp.org>
52197
52198         * tests/test-memmem.c: Include <string.h> first.
52199
52200 2007-12-22  Bruno Haible  <bruno@clisp.org>
52201
52202         * gnulib-tool (func_create_testdir): Change $auxdir while generating
52203         the contents of $testsbase.
52204         Reported by Ralf Wildenhues.
52205
52206 2007-12-22  Bruno Haible  <bruno@clisp.org>
52207
52208         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
52209         two variables local_ldadd_before, local_ldadd_last.
52210
52211 2007-12-20  Eric Blake  <ebb9@byu.net>
52212
52213         Work around circular library issue when cross-compiling.
52214         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
52215         that progname.o does not need to pull in rpl_memcmp.
52216
52217 2007-12-19  Eric Blake  <ebb9@byu.net>
52218
52219         Fix memmem to avoid O(n^2) worst-case complexity.
52220         * lib/memmem.c (knuth_morris_pratt): New function.
52221         (memmem): Use it if first few naive iterations fail.
52222         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
52223         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
52224         * modules/memchr (License): Likewise.
52225         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
52226         malloca.
52227         * tests/test-memmem.c: Rewrite, borrowing ideas from
52228         test-mbsstr1.c; the old version wouldn't even compile!
52229         * modules/memmem-tests: New file.
52230         * lib/string.in.h (rpl_memmem): Add declaration.
52231         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
52232         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
52233         REPLACE_MEMMEM.
52234
52235 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
52236
52237         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
52238         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
52239         before any system include files, and undef after them all.  This
52240         should fix a problem on VMS reported by John E. Malmberg in
52241         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
52242
52243 2007-12-17  Eric Blake  <ebb9@byu.net>
52244
52245         Revert addition of verify, for BSD/OS.
52246         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
52247         can't handle large files, for the sake of obsolete platforms.
52248         * modules/fseeko (Depends-on): Remove verify.
52249         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
52250         * doc/functions/ftello.texi (ftello): Likewise.
52251         * doc/functions/fgetpos.texi (fgetpos): Likewise.
52252         Reported by Larry Jones.
52253
52254 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
52255
52256         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
52257         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
52258
52259 2007-12-17  Jim Meyering  <meyering@redhat.com>
52260
52261         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
52262         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
52263         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
52264         * modules/getcwd (Depends-on): Add openat.
52265         Reported by Petr Salinger.
52266
52267 2007-12-17  Bruno Haible  <bruno@clisp.org>
52268
52269         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
52270         avoid a segmentation fault of the configure test on x86_64 systems.
52271
52272 2007-12-15  Jim Meyering  <meyering@redhat.com>
52273
52274         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
52275
52276 2007-12-13  Eric Blake  <ebb9@byu.net>
52277
52278         Another fseek test.
52279         * tests/test-fseek.c (main): Also test ungetc handling.
52280         * tests/test-fseeko.c (main): Likewise.
52281         * modules/fseeko (Depends-on): Add verify.
52282         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
52283         large.
52284         Reported by Larry Jones.
52285
52286         Fix fseeko on mingw.
52287         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
52288         seek.
52289
52290         Beef up fseek tests.
52291         * tests/test-fseek.c (main): Also test eof handling.
52292         * tests/test-fseeko.c (main): Likewise.
52293         Reported by Larry Jones.
52294
52295 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
52296
52297         Fix fseeko on BSD-based platforms.
52298         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
52299         successful seek.
52300
52301 2007-12-12  Eric Blake  <ebb9@byu.net>
52302
52303         Allow circular dependency of separate libtests.a
52304         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
52305         when use_libtests.
52306
52307 2007-12-11  Eric Blake  <ebb9@byu.net>
52308
52309         Fix bug with -0.0L in previous patch.
52310         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
52311         * tests/test-isnan.c (main): Also test on zeroes.
52312         * tests/test-isnanf.c (main): Likewise.
52313         * tests/test-isnanl.h (main): Likewise.
52314
52315         Detect pseudo-denormals on x86 even when cross-compiling.
52316         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
52317         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
52318         invalid bit patterns that happen to satisfy ==.
52319
52320         Avoid link failures with separate libtests.a.
52321         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
52322         last, to satisfy circular dependencies.
52323
52324 2007-12-11  Eric Blake  <ebb9@byu.net>
52325         and Bruno Haible  <bruno@clisp.org>
52326
52327         Fix OpenBSD 4.0 <float.h> handling of long double.
52328         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
52329         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
52330         * doc/headers/float.texi (float.h): Document OpenBSD bug.
52331
52332 2007-12-11  Jim Meyering  <meyering@redhat.com>
52333
52334         * users.txt: Add libvirt.
52335
52336         Support versions of autoconf prior to 2.59c.
52337         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
52338         if it is not already defined.
52339
52340 2007-12-09  Bruno Haible  <bruno@clisp.org>
52341
52342         Let 'gnulib-tool --import' collect sources needed for the tests in
52343         tests/ rather than in lib/.
52344         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
52345         argument. If true, add rules to generate libtests.a, and put libtests.a
52346         into $(LDADD). Consider source files in subdirectories and set
52347         uses_subdirs.
52348         (func_emit_initmacro_start, func_emit_initmacro_end,
52349         func_emit_initmacro_done): Pass all arguments explicitly.
52350         (func_import): Determine two module lists main_modules,
52351         testsrelated_modules. Determine use_libtests. Determine two variables
52352         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
52353         instead of just sed_transform_lib_file. Determine two variables
52354         main_files and testsrelated_files. Compute 'files' as the union of
52355         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
52356         func_add_or_update. In the generated gnulib-comp.m4, collect the
52357         object files for tests/ in different variables than those for lib/.
52358         Substitute LIBTESTS_LIBDEPS.
52359         (func_create_testdir): Combine the uses_subdirs results from
52360         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
52361
52362 2007-12-09  Bruno Haible  <bruno@clisp.org>
52363
52364         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
52365         the build-aux directory.
52366
52367 2007-12-09  Bruno Haible  <bruno@clisp.org>
52368
52369         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
52370         introduced on 2006-09-09.
52371
52372 2007-12-07  Jim Meyering  <meyering@redhat.com>
52373
52374         Let these macros work also with autoconf-2.59.
52375         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
52376         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
52377         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
52378
52379 2007-12-06  Jim Meyering  <meyering@redhat.com>
52380
52381         Avoid a configure-time syntax error in gl_FUNC_ACL.
52382         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
52383         function in each branch, before testing the cache variable.
52384
52385 2007-12-04  Eric Blake  <ebb9@byu.net>
52386
52387         Make scripts executable.
52388         * build-aux/config.guess: Add execute permissions.
52389         * build-aux/config.sub: Likewise.
52390         * build-aux/gendocs.sh: Likewise.
52391
52392         Fix frexp on mingw.
52393         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
52394         cross-compiling.
52395         * doc/functions/frexp.texi (frexp): Document the bug.
52396
52397         Make cygwin fseeko check more reliable.
52398         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
52399         version numbers, rather than unrelated feature check.
52400         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
52401         * doc/functions/ftello.texi (ftello): Likewise.
52402         Reported by Bruno Haible.
52403
52404         * m4/strerror.m4: Bump version number.
52405
52406 2007-12-03  Bruno Haible  <bruno@clisp.org>
52407
52408         * doc/functions/mprotect.texi: Mention the mingw problem.
52409
52410 2007-12-03  Eric Blake  <ebb9@byu.net>
52411
52412         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
52413         REPLACE_STRERROR is initialized before this macro.
52414
52415 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
52416
52417         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
52418         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
52419         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
52420         put -lsec in even for programs other than 'ls'.  This fixes a problem
52421         for gettext reported by Bruno Haible in
52422         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
52423         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
52424         Add support for Solaris 10.  This isn't efficient, but should get the
52425         job done for now.
52426
52427 2007-12-03  James Youngman  <jay@gnu.org>
52428
52429         * doc/regexprops-generic.texi: change "an close-group" to "a
52430         close-group" and "illegal" to "not allowed".
52431
52432 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52433
52434         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
52435         pr_byname.h. Needed for the rare case when the maintainer has done
52436         "make maintainer-clean" in the source directory and then attempts a
52437         build outside the source directory.
52438         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
52439         scripts_byname.h.
52440
52441 2007-12-02  Martin Lambers <marlam@marlam.de>
52442             Bruno Haible  <bruno@clisp.org>
52443
52444         * lib/getpagesize.h: Remove file.
52445         * lib/unistd.in.h: Include declaration of getpagesize here.
52446         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
52447         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
52448         HAVE_SYS_PARAM_H.
52449         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
52450         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52451         * modules/getpagesize (Files): Remove lib/getpagesize.h.
52452         (Depends-on): Add unistd.
52453         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52454         (Include): Use <unistd.h> instead of getpagesize.h.
52455         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
52456         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52457         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
52458         gl_GETPAGESIZE invocation, already handled by module dependency.
52459         * lib/pagealign_alloc.c: Don't include getpagesize.h.
52460
52461 2007-12-02  Bruno Haible  <bruno@clisp.org>
52462
52463         * modules/strings-tests: New file.
52464         * tests/test-strings.c: New file.
52465
52466         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
52467         * lib/strings.in.h: New file.
52468         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
52469         * m4/strings_h.m4: New file.
52470         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
52471         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
52472         * modules/strings: New file.
52473         * modules/string (Makefile.am): Update.
52474         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
52475         Reported by Karl Berry.
52476
52477 2007-12-01  Eric Blake  <ebb9@byu.net>
52478
52479         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
52480         accomodate fix in cygwin 1.5.25.
52481
52482 2007-12-01  Jim Meyering  <meyering@redhat.com>
52483
52484         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
52485         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
52486         that would inhibit utf8-optimization of a regexp containing line-
52487         or buffer-anchors, e.g., `^', `$'.
52488
52489 2007-11-30  Bruno Haible  <bruno@clisp.org>
52490
52491         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
52492         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
52493         glthread_recursive_lock_init.
52494         * lib/lock.c (glthread_recursive_lock_init)
52495         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
52496         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52497
52498 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
52499
52500         New function qset_acl, like set_acl but with syscall semantics.
52501         * lib/acl.h (qset_acl): New decl.
52502         * lib/acl.c (qset_acl): New function.
52503         (set_acl): Use new function.  Use more-consistent diagnostics.
52504
52505 2007-11-28  Jim Meyering  <meyering@redhat.com>
52506
52507         * modules/physmem (License): Change from GPL to LGPLv2+.
52508
52509 2007-11-26  Bruno Haible  <bruno@clisp.org>
52510
52511         * lib/vasnprintf.c (decode_long_double): Don't abort if the
52512         'long double' type has excess precision.
52513         Reported by Jim Meyering in
52514         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
52515
52516 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52517
52518         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
52519         Sync from <http://gnu.org/licenses>.
52520         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
52521         with license text from same location.
52522         * doc/maintain.texi, doc/standards.texi:  Sync from
52523         <http://savannah.gnu.org/projects/gnustandards>.
52524
52525 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
52526         and Jim Meyering  <meyering@redhat.com>
52527
52528         Adjust getdate' grammar to accept a slightly more regular language.
52529         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
52530         Before, the former was rejected.
52531         * lib/getdate.y (digits_to_date_time): New function, factored
52532         out of ...
52533         (number): ...here.  Just call digits_to_date_time.
52534         (hybrid): New non-terminal to handle an <unsigned number,
52535         signed relative offset> sequence consistently.
52536
52537 2007-11-18  Jim Meyering  <meyering@redhat.com>
52538
52539         Pull my changes from coreutils:
52540         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
52541         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
52542         use of $gnulib_tool_option_extras, so that it's separated from the
52543         preceding argument.
52544
52545         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
52546         * build-aux/bootstrap (cp_mark_as_generated): Create any required
52547         parent destination directories before copying a file into place.
52548
52549 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
52550
52551         bootstrap: work also with 4-argument variant of AC_INIT
52552         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
52553
52554 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52555
52556         Port test-getaddrinfo to Solaris.
52557         Problem reported by Bruno Haible in
52558         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
52559         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
52560         explanation of setting 'hints'.
52561         Don't reject an implementation merely because it returns EAI_SERVICE.
52562         (EAI_SERVICE): Define to 0 if not defined.
52563
52564 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
52565
52566         The license of gnu-make and posix-shell is now "GPLed build tool".
52567         * modules/gnu-make (License): Likewise.
52568         * modules/posix-shell (License): Likewise.
52569
52570         New module posix-shell, for determining a POSIX shell
52571         or perhaps something that is close enough to a POSIX shell.
52572         * m4/posix-shell.m4: New file.
52573         * modules/posix-shell: New file.
52574
52575         * MODULES.html.sh: Mention new module.
52576
52577         New module gnu-make, for determining whether we're using GNU Make.
52578         * m4/gnu-make.m4: New file.
52579         * modules/gnu-make: New file.
52580         * MODULES.html.sh: Mention new module.
52581
52582 2007-11-14  Jim Meyering  <meyering@redhat.com>
52583
52584         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
52585         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
52586         use this macro to create a function _definition_.
52587         Remove useless "#undef ARGMATCH_DIE".
52588
52589 2007-11-14  Bruno Haible  <bruno@clisp.org>
52590
52591         * lib/config.charset: Update for OpenBSD 4.1.
52592         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
52593
52594 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
52595
52596         Document 64-bit #if problems in stdint.texi.
52597         * doc/headers/stdint.texi (stdint.h): Mention problems with
52598         64-bit-#if, and how to work around them.
52599
52600         Don't insist on 'long long int' support in the preprocessor.  It
52601         breaks too many things.  For example, PRIdMAX still uses a 'long
52602         long int' format with the latest Sun compiler, even though
52603         HAVE_LONG_LONG_INT isn't defined due to that compiler's
52604         preprocessor problem.  This causes the latest coreutils to dump
52605         core on Solaris 10 sparc with the Sun C compiler.
52606         Instead, fix the 2007-10-16 problem in a different way, by evaluating
52607         the troublesome expressions at configure-time, not at #if-time.
52608         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
52609         preprocessor.
52610         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
52611         compile-time C checks, done at 'configure'-time.
52612         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
52613         * modules/inttypes (Makefile): Substitute the new symbols that
52614         gl_INTTYPES_H now generates.
52615         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
52616
52617 2007-11-12  Bruno Haible  <bruno@clisp.org>
52618
52619         Tests for Unicode character classification functions.
52620
52621         * modules/unictype/bidicategory-byname-tests: New file.
52622         * modules/unictype/bidicategory-name-tests: New file.
52623         * modules/unictype/bidicategory-of-tests: New file.
52624         * modules/unictype/bidicategory-test-tests: New file.
52625         * modules/unictype/block-list-tests: New file.
52626         * modules/unictype/block-of-tests: New file.
52627         * modules/unictype/block-test-tests: New file.
52628         * modules/unictype/category-C-tests: New file.
52629         * modules/unictype/category-Cc-tests: New file.
52630         * modules/unictype/category-Cf-tests: New file.
52631         * modules/unictype/category-Cn-tests: New file.
52632         * modules/unictype/category-Co-tests: New file.
52633         * modules/unictype/category-Cs-tests: New file.
52634         * modules/unictype/category-L-tests: New file.
52635         * modules/unictype/category-Ll-tests: New file.
52636         * modules/unictype/category-Lm-tests: New file.
52637         * modules/unictype/category-Lo-tests: New file.
52638         * modules/unictype/category-Lt-tests: New file.
52639         * modules/unictype/category-Lu-tests: New file.
52640         * modules/unictype/category-M-tests: New file.
52641         * modules/unictype/category-Mc-tests: New file.
52642         * modules/unictype/category-Me-tests: New file.
52643         * modules/unictype/category-Mn-tests: New file.
52644         * modules/unictype/category-N-tests: New file.
52645         * modules/unictype/category-Nd-tests: New file.
52646         * modules/unictype/category-Nl-tests: New file.
52647         * modules/unictype/category-No-tests: New file.
52648         * modules/unictype/category-P-tests: New file.
52649         * modules/unictype/category-Pc-tests: New file.
52650         * modules/unictype/category-Pd-tests: New file.
52651         * modules/unictype/category-Pe-tests: New file.
52652         * modules/unictype/category-Pf-tests: New file.
52653         * modules/unictype/category-Pi-tests: New file.
52654         * modules/unictype/category-Po-tests: New file.
52655         * modules/unictype/category-Ps-tests: New file.
52656         * modules/unictype/category-S-tests: New file.
52657         * modules/unictype/category-Sc-tests: New file.
52658         * modules/unictype/category-Sk-tests: New file.
52659         * modules/unictype/category-Sm-tests: New file.
52660         * modules/unictype/category-So-tests: New file.
52661         * modules/unictype/category-Z-tests: New file.
52662         * modules/unictype/category-Zl-tests: New file.
52663         * modules/unictype/category-Zp-tests: New file.
52664         * modules/unictype/category-Zs-tests: New file.
52665         * modules/unictype/category-and-not-tests: New file.
52666         * modules/unictype/category-and-tests: New file.
52667         * modules/unictype/category-byname-tests: New file.
52668         * modules/unictype/category-name-tests: New file.
52669         * modules/unictype/category-none-tests: New file.
52670         * modules/unictype/category-of-tests: New file.
52671         * modules/unictype/category-or-tests: New file.
52672         * modules/unictype/category-test-withtable-tests: New file.
52673         * modules/unictype/combining-class-tests: New file.
52674         * modules/unictype/ctype-alnum-tests: New file.
52675         * modules/unictype/ctype-alpha-tests: New file.
52676         * modules/unictype/ctype-blank-tests: New file.
52677         * modules/unictype/ctype-cntrl-tests: New file.
52678         * modules/unictype/ctype-digit-tests: New file.
52679         * modules/unictype/ctype-graph-tests: New file.
52680         * modules/unictype/ctype-lower-tests: New file.
52681         * modules/unictype/ctype-print-tests: New file.
52682         * modules/unictype/ctype-punct-tests: New file.
52683         * modules/unictype/ctype-space-tests: New file.
52684         * modules/unictype/ctype-upper-tests: New file.
52685         * modules/unictype/ctype-xdigit-tests: New file.
52686         * modules/unictype/decimal-digit-tests: New file.
52687         * modules/unictype/digit-tests: New file.
52688         * modules/unictype/mirror-tests: New file.
52689         * modules/unictype/numeric-tests: New file.
52690         * modules/unictype/property-alphabetic-tests: New file.
52691         * modules/unictype/property-ascii-hex-digit-tests: New file.
52692         * modules/unictype/property-bidi-arabic-digit-tests: New file.
52693         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
52694         * modules/unictype/property-bidi-block-separator-tests: New file.
52695         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
52696         * modules/unictype/property-bidi-common-separator-tests: New file.
52697         * modules/unictype/property-bidi-control-tests: New file.
52698         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
52699         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
52700         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
52701         * modules/unictype/property-bidi-european-digit-tests: New file.
52702         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
52703         * modules/unictype/property-bidi-left-to-right-tests: New file.
52704         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
52705         * modules/unictype/property-bidi-other-neutral-tests: New file.
52706         * modules/unictype/property-bidi-pdf-tests: New file.
52707         * modules/unictype/property-bidi-segment-separator-tests: New file.
52708         * modules/unictype/property-bidi-whitespace-tests: New file.
52709         * modules/unictype/property-byname-tests: New file.
52710         * modules/unictype/property-combining-tests: New file.
52711         * modules/unictype/property-composite-tests: New file.
52712         * modules/unictype/property-currency-symbol-tests: New file.
52713         * modules/unictype/property-dash-tests: New file.
52714         * modules/unictype/property-decimal-digit-tests: New file.
52715         * modules/unictype/property-default-ignorable-code-point-tests: New file.
52716         * modules/unictype/property-deprecated-tests: New file.
52717         * modules/unictype/property-diacritic-tests: New file.
52718         * modules/unictype/property-extender-tests: New file.
52719         * modules/unictype/property-format-control-tests: New file.
52720         * modules/unictype/property-grapheme-base-tests: New file.
52721         * modules/unictype/property-grapheme-extend-tests: New file.
52722         * modules/unictype/property-grapheme-link-tests: New file.
52723         * modules/unictype/property-hex-digit-tests: New file.
52724         * modules/unictype/property-hyphen-tests: New file.
52725         * modules/unictype/property-id-continue-tests: New file.
52726         * modules/unictype/property-id-start-tests: New file.
52727         * modules/unictype/property-ideographic-tests: New file.
52728         * modules/unictype/property-ids-binary-operator-tests: New file.
52729         * modules/unictype/property-ids-trinary-operator-tests: New file.
52730         * modules/unictype/property-ignorable-control-tests: New file.
52731         * modules/unictype/property-iso-control-tests: New file.
52732         * modules/unictype/property-join-control-tests: New file.
52733         * modules/unictype/property-left-of-pair-tests: New file.
52734         * modules/unictype/property-line-separator-tests: New file.
52735         * modules/unictype/property-logical-order-exception-tests: New file.
52736         * modules/unictype/property-lowercase-tests: New file.
52737         * modules/unictype/property-math-tests: New file.
52738         * modules/unictype/property-non-break-tests: New file.
52739         * modules/unictype/property-not-a-character-tests: New file.
52740         * modules/unictype/property-numeric-tests: New file.
52741         * modules/unictype/property-other-alphabetic-tests: New file.
52742         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
52743         * modules/unictype/property-other-grapheme-extend-tests: New file.
52744         * modules/unictype/property-other-id-continue-tests: New file.
52745         * modules/unictype/property-other-id-start-tests: New file.
52746         * modules/unictype/property-other-lowercase-tests: New file.
52747         * modules/unictype/property-other-math-tests: New file.
52748         * modules/unictype/property-other-uppercase-tests: New file.
52749         * modules/unictype/property-paired-punctuation-tests: New file.
52750         * modules/unictype/property-paragraph-separator-tests: New file.
52751         * modules/unictype/property-pattern-syntax-tests: New file.
52752         * modules/unictype/property-pattern-white-space-tests: New file.
52753         * modules/unictype/property-private-use-tests: New file.
52754         * modules/unictype/property-punctuation-tests: New file.
52755         * modules/unictype/property-quotation-mark-tests: New file.
52756         * modules/unictype/property-radical-tests: New file.
52757         * modules/unictype/property-sentence-terminal-tests: New file.
52758         * modules/unictype/property-soft-dotted-tests: New file.
52759         * modules/unictype/property-space-tests: New file.
52760         * modules/unictype/property-terminal-punctuation-tests: New file.
52761         * modules/unictype/property-test-tests: New file.
52762         * modules/unictype/property-titlecase-tests: New file.
52763         * modules/unictype/property-unassigned-code-value-tests: New file.
52764         * modules/unictype/property-unified-ideograph-tests: New file.
52765         * modules/unictype/property-uppercase-tests: New file.
52766         * modules/unictype/property-variation-selector-tests: New file.
52767         * modules/unictype/property-white-space-tests: New file.
52768         * modules/unictype/property-xid-continue-tests: New file.
52769         * modules/unictype/property-xid-start-tests: New file.
52770         * modules/unictype/property-zero-width-tests: New file.
52771         * modules/unictype/scripts-tests: New file.
52772         * modules/unictype/syntax-c-ident-tests: New file.
52773         * modules/unictype/syntax-c-whitespace-tests: New file.
52774         * modules/unictype/syntax-java-ident-tests: New file.
52775         * modules/unictype/syntax-java-whitespace-tests: New file.
52776         * tests/unictype/test-bidi_byname.c: New file.
52777         * tests/unictype/test-bidi_name.c: New file.
52778         * tests/unictype/test-bidi_of.c: New file.
52779         * tests/unictype/test-bidi_test.c: New file.
52780         * tests/unictype/test-block_list.c: New file.
52781         * tests/unictype/test-block_of.c: New file.
52782         * tests/unictype/test-block_test.c: New file.
52783         * tests/unictype/test-categ_and.c: New file.
52784         * tests/unictype/test-categ_and_not.c: New file.
52785         * tests/unictype/test-categ_byname.c: New file.
52786         * tests/unictype/test-categ_name.c: New file.
52787         * tests/unictype/test-categ_none.c: New file.
52788         * tests/unictype/test-categ_of.c: New file.
52789         * tests/unictype/test-categ_or.c: New file.
52790         * tests/unictype/test-categ_test_withtable.c: New file.
52791         * tests/unictype/test-combining.c: New file.
52792         * tests/unictype/test-decdigit.c: New file.
52793         * tests/unictype/test-digit.c: New file.
52794         * tests/unictype/test-mirror.c: New file.
52795         * tests/unictype/test-numeric.c: New file.
52796         * tests/unictype/test-pr_byname.c: New file.
52797         * tests/unictype/test-pr_test.c: New file.
52798         * tests/unictype/test-predicate-part1.h: New file.
52799         * tests/unictype/test-predicate-part2.h: New file.
52800         * tests/unictype/test-scripts.c: New file.
52801         * tests/unictype/test-sy_c_ident.c: New file.
52802         * tests/unictype/test-sy_java_ident.c: New file.
52803
52804         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
52805         for Unicode 5.0.0.
52806         * tests/unictype/test-categ_Cc.c: Likewise.
52807         * tests/unictype/test-categ_Cf.c: Likewise.
52808         * tests/unictype/test-categ_Cn.c: Likewise.
52809         * tests/unictype/test-categ_Co.c: Likewise.
52810         * tests/unictype/test-categ_Cs.c: Likewise.
52811         * tests/unictype/test-categ_L.c: Likewise.
52812         * tests/unictype/test-categ_Ll.c: Likewise.
52813         * tests/unictype/test-categ_Lm.c: Likewise.
52814         * tests/unictype/test-categ_Lo.c: Likewise.
52815         * tests/unictype/test-categ_Lt.c: Likewise.
52816         * tests/unictype/test-categ_Lu.c: Likewise.
52817         * tests/unictype/test-categ_M.c: Likewise.
52818         * tests/unictype/test-categ_Mc.c: Likewise.
52819         * tests/unictype/test-categ_Me.c: Likewise.
52820         * tests/unictype/test-categ_Mn.c: Likewise.
52821         * tests/unictype/test-categ_N.c: Likewise.
52822         * tests/unictype/test-categ_Nd.c: Likewise.
52823         * tests/unictype/test-categ_Nl.c: Likewise.
52824         * tests/unictype/test-categ_No.c: Likewise.
52825         * tests/unictype/test-categ_P.c: Likewise.
52826         * tests/unictype/test-categ_Pc.c: Likewise.
52827         * tests/unictype/test-categ_Pd.c: Likewise.
52828         * tests/unictype/test-categ_Pe.c: Likewise.
52829         * tests/unictype/test-categ_Pf.c: Likewise.
52830         * tests/unictype/test-categ_Pi.c: Likewise.
52831         * tests/unictype/test-categ_Po.c: Likewise.
52832         * tests/unictype/test-categ_Ps.c: Likewise.
52833         * tests/unictype/test-categ_S.c: Likewise.
52834         * tests/unictype/test-categ_Sc.c: Likewise.
52835         * tests/unictype/test-categ_Sk.c: Likewise.
52836         * tests/unictype/test-categ_Sm.c: Likewise.
52837         * tests/unictype/test-categ_So.c: Likewise.
52838         * tests/unictype/test-categ_Z.c: Likewise.
52839         * tests/unictype/test-categ_Zl.c: Likewise.
52840         * tests/unictype/test-categ_Zp.c: Likewise.
52841         * tests/unictype/test-categ_Zs.c: Likewise.
52842         * tests/unictype/test-ctype_alnum.c: Likewise.
52843         * tests/unictype/test-ctype_alpha.c: Likewise.
52844         * tests/unictype/test-ctype_blank.c: Likewise.
52845         * tests/unictype/test-ctype_cntrl.c: Likewise.
52846         * tests/unictype/test-ctype_digit.c: Likewise.
52847         * tests/unictype/test-ctype_graph.c: Likewise.
52848         * tests/unictype/test-ctype_lower.c: Likewise.
52849         * tests/unictype/test-ctype_print.c: Likewise.
52850         * tests/unictype/test-ctype_punct.c: Likewise.
52851         * tests/unictype/test-ctype_space.c: Likewise.
52852         * tests/unictype/test-ctype_upper.c: Likewise.
52853         * tests/unictype/test-ctype_xdigit.c: Likewise.
52854         * tests/unictype/test-decdigit.h: Likewise.
52855         * tests/unictype/test-digit.h: Likewise.
52856         * tests/unictype/test-numeric.h: Likewise.
52857         * tests/unictype/test-pr_alphabetic.c: Likewise.
52858         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
52859         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
52860         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
52861         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
52862         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
52863         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
52864         * tests/unictype/test-pr_bidi_control.c: Likewise.
52865         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
52866         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
52867         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
52868         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
52869         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
52870         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
52871         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
52872         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
52873         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
52874         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
52875         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
52876         * tests/unictype/test-pr_combining.c: Likewise.
52877         * tests/unictype/test-pr_composite.c: Likewise.
52878         * tests/unictype/test-pr_currency_symbol.c: Likewise.
52879         * tests/unictype/test-pr_dash.c: Likewise.
52880         * tests/unictype/test-pr_decimal_digit.c: Likewise.
52881         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
52882         * tests/unictype/test-pr_deprecated.c: Likewise.
52883         * tests/unictype/test-pr_diacritic.c: Likewise.
52884         * tests/unictype/test-pr_extender.c: Likewise.
52885         * tests/unictype/test-pr_format_control.c: Likewise.
52886         * tests/unictype/test-pr_grapheme_base.c: Likewise.
52887         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
52888         * tests/unictype/test-pr_grapheme_link.c: Likewise.
52889         * tests/unictype/test-pr_hex_digit.c: Likewise.
52890         * tests/unictype/test-pr_hyphen.c: Likewise.
52891         * tests/unictype/test-pr_id_continue.c: Likewise.
52892         * tests/unictype/test-pr_id_start.c: Likewise.
52893         * tests/unictype/test-pr_ideographic.c: Likewise.
52894         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
52895         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
52896         * tests/unictype/test-pr_ignorable_control.c: Likewise.
52897         * tests/unictype/test-pr_iso_control.c: Likewise.
52898         * tests/unictype/test-pr_join_control.c: Likewise.
52899         * tests/unictype/test-pr_left_of_pair.c: Likewise.
52900         * tests/unictype/test-pr_line_separator.c: Likewise.
52901         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
52902         * tests/unictype/test-pr_lowercase.c: Likewise.
52903         * tests/unictype/test-pr_math.c: Likewise.
52904         * tests/unictype/test-pr_non_break.c: Likewise.
52905         * tests/unictype/test-pr_not_a_character.c: Likewise.
52906         * tests/unictype/test-pr_numeric.c: Likewise.
52907         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
52908         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
52909         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
52910         * tests/unictype/test-pr_other_id_continue.c: Likewise.
52911         * tests/unictype/test-pr_other_id_start.c: Likewise.
52912         * tests/unictype/test-pr_other_lowercase.c: Likewise.
52913         * tests/unictype/test-pr_other_math.c: Likewise.
52914         * tests/unictype/test-pr_other_uppercase.c: Likewise.
52915         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
52916         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
52917         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
52918         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
52919         * tests/unictype/test-pr_private_use.c: Likewise.
52920         * tests/unictype/test-pr_punctuation.c: Likewise.
52921         * tests/unictype/test-pr_quotation_mark.c: Likewise.
52922         * tests/unictype/test-pr_radical.c: Likewise.
52923         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
52924         * tests/unictype/test-pr_soft_dotted.c: Likewise.
52925         * tests/unictype/test-pr_space.c: Likewise.
52926         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
52927         * tests/unictype/test-pr_titlecase.c: Likewise.
52928         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
52929         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
52930         * tests/unictype/test-pr_uppercase.c: Likewise.
52931         * tests/unictype/test-pr_variation_selector.c: Likewise.
52932         * tests/unictype/test-pr_white_space.c: Likewise.
52933         * tests/unictype/test-pr_xid_continue.c: Likewise.
52934         * tests/unictype/test-pr_xid_start.c: Likewise.
52935         * tests/unictype/test-pr_zero_width.c: Likewise.
52936         * tests/unictype/test-sy_c_whitespace.c: Likewise.
52937         * tests/unictype/test-sy_java_whitespace.c: Likewise.
52938
52939 2007-11-12  Bruno Haible  <bruno@clisp.org>
52940
52941         Unicode character classification functions.
52942         * lib/unictype.h: New file.
52943         * modules/unictype/base: New file.
52944         * modules/unictype/category-L: New file.
52945         * modules/unictype/category-Lu: New file.
52946         * modules/unictype/category-Ll: New file.
52947         * modules/unictype/category-Lt: New file.
52948         * modules/unictype/category-Lm: New file.
52949         * modules/unictype/category-Lo: New file.
52950         * modules/unictype/category-M: New file.
52951         * modules/unictype/category-Mn: New file.
52952         * modules/unictype/category-Mc: New file.
52953         * modules/unictype/category-Me: New file.
52954         * modules/unictype/category-N: New file.
52955         * modules/unictype/category-Nd: New file.
52956         * modules/unictype/category-Nl: New file.
52957         * modules/unictype/category-No: New file.
52958         * modules/unictype/category-P: New file.
52959         * modules/unictype/category-Pc: New file.
52960         * modules/unictype/category-Pd: New file.
52961         * modules/unictype/category-Ps: New file.
52962         * modules/unictype/category-Pe: New file.
52963         * modules/unictype/category-Pi: New file.
52964         * modules/unictype/category-Pf: New file.
52965         * modules/unictype/category-Po: New file.
52966         * modules/unictype/category-S: New file.
52967         * modules/unictype/category-Sm: New file.
52968         * modules/unictype/category-Sc: New file.
52969         * modules/unictype/category-Sk: New file.
52970         * modules/unictype/category-So: New file.
52971         * modules/unictype/category-Z: New file.
52972         * modules/unictype/category-Zs: New file.
52973         * modules/unictype/category-Zl: New file.
52974         * modules/unictype/category-Zp: New file.
52975         * modules/unictype/category-C: New file.
52976         * modules/unictype/category-Cc: New file.
52977         * modules/unictype/category-Cf: New file.
52978         * modules/unictype/category-Cs: New file.
52979         * modules/unictype/category-Co: New file.
52980         * modules/unictype/category-Cn: New file.
52981         * modules/unictype/category-or: New file.
52982         * modules/unictype/category-of: New file.
52983         * modules/unictype/category-test: New file.
52984         * modules/unictype/category-test-withtable: New file.
52985         * modules/unictype/category-byname: New file.
52986         * modules/unictype/category-none: New file.
52987         * modules/unictype/category-and: New file.
52988         * modules/unictype/category-and-not: New file.
52989         * modules/unictype/category-name: New file.
52990         * modules/unictype/combining-class: New file.
52991         * modules/unictype/category-all: New file.
52992         * modules/unictype/bidicategory-all: New file.
52993         * modules/unictype/bidicategory-byname: New file.
52994         * modules/unictype/bidicategory-name: New file.
52995         * modules/unictype/bidicategory-of: New file.
52996         * modules/unictype/bidicategory-test: New file.
52997         * modules/unictype/decimal-digit: New file.
52998         * modules/unictype/digit: New file.
52999         * modules/unictype/numeric: New file.
53000         * modules/unictype/mirror: New file.
53001         * modules/unictype/property-white-space: New file.
53002         * modules/unictype/property-alphabetic: New file.
53003         * modules/unictype/property-other-alphabetic: New file.
53004         * modules/unictype/property-not-a-character: New file.
53005         * modules/unictype/property-default-ignorable-code-point: New file.
53006         * modules/unictype/property-other-default-ignorable-code-point: New
53007         file.
53008         * modules/unictype/property-deprecated: New file.
53009         * modules/unictype/property-logical-order-exception: New file.
53010         * modules/unictype/property-variation-selector: New file.
53011         * modules/unictype/property-private-use: New file.
53012         * modules/unictype/property-unassigned-code-value: New file.
53013         * modules/unictype/property-uppercase: New file.
53014         * modules/unictype/property-other-uppercase: New file.
53015         * modules/unictype/property-lowercase: New file.
53016         * modules/unictype/property-other-lowercase: New file.
53017         * modules/unictype/property-titlecase: New file.
53018         * modules/unictype/property-soft-dotted: New file.
53019         * modules/unictype/property-id-start: New file.
53020         * modules/unictype/property-other-id-start: New file.
53021         * modules/unictype/property-id-continue: New file.
53022         * modules/unictype/property-other-id-continue: New file.
53023         * modules/unictype/property-xid-start: New file.
53024         * modules/unictype/property-xid-continue: New file.
53025         * modules/unictype/property-pattern-white-space: New file.
53026         * modules/unictype/property-pattern-syntax: New file.
53027         * modules/unictype/property-join-control: New file.
53028         * modules/unictype/property-grapheme-base: New file.
53029         * modules/unictype/property-grapheme-extend: New file.
53030         * modules/unictype/property-other-grapheme-extend: New file.
53031         * modules/unictype/property-grapheme-link: New file.
53032         * modules/unictype/property-bidi-control: New file.
53033         * modules/unictype/property-bidi-left-to-right: New file.
53034         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
53035         * modules/unictype/property-bidi-arabic-right-to-left: New file.
53036         * modules/unictype/property-bidi-european-digit: New file.
53037         * modules/unictype/property-bidi-eur-num-separator: New file.
53038         * modules/unictype/property-bidi-eur-num-terminator: New file.
53039         * modules/unictype/property-bidi-arabic-digit: New file.
53040         * modules/unictype/property-bidi-common-separator: New file.
53041         * modules/unictype/property-bidi-block-separator: New file.
53042         * modules/unictype/property-bidi-segment-separator: New file.
53043         * modules/unictype/property-bidi-whitespace: New file.
53044         * modules/unictype/property-bidi-non-spacing-mark: New file.
53045         * modules/unictype/property-bidi-boundary-neutral: New file.
53046         * modules/unictype/property-bidi-pdf: New file.
53047         * modules/unictype/property-bidi-embedding-or-override: New file.
53048         * modules/unictype/property-bidi-other-neutral: New file.
53049         * modules/unictype/property-hex-digit: New file.
53050         * modules/unictype/property-ascii-hex-digit: New file.
53051         * modules/unictype/property-ideographic: New file.
53052         * modules/unictype/property-unified-ideograph: New file.
53053         * modules/unictype/property-radical: New file.
53054         * modules/unictype/property-ids-binary-operator: New file.
53055         * modules/unictype/property-ids-trinary-operator: New file.
53056         * modules/unictype/property-zero-width: New file.
53057         * modules/unictype/property-space: New file.
53058         * modules/unictype/property-non-break: New file.
53059         * modules/unictype/property-iso-control: New file.
53060         * modules/unictype/property-format-control: New file.
53061         * modules/unictype/property-dash: New file.
53062         * modules/unictype/property-hyphen: New file.
53063         * modules/unictype/property-punctuation: New file.
53064         * modules/unictype/property-line-separator: New file.
53065         * modules/unictype/property-paragraph-separator: New file.
53066         * modules/unictype/property-quotation-mark: New file.
53067         * modules/unictype/property-sentence-terminal: New file.
53068         * modules/unictype/property-terminal-punctuation: New file.
53069         * modules/unictype/property-currency-symbol: New file.
53070         * modules/unictype/property-math: New file.
53071         * modules/unictype/property-other-math: New file.
53072         * modules/unictype/property-paired-punctuation: New file.
53073         * modules/unictype/property-left-of-pair: New file.
53074         * modules/unictype/property-combining: New file.
53075         * modules/unictype/property-composite: New file.
53076         * modules/unictype/property-decimal-digit: New file.
53077         * modules/unictype/property-numeric: New file.
53078         * modules/unictype/property-diacritic: New file.
53079         * modules/unictype/property-extender: New file.
53080         * modules/unictype/property-ignorable-control: New file.
53081         * modules/unictype/property-test: New file.
53082         * modules/unictype/property-byname: New file.
53083         * modules/unictype/property-all: New file.
53084         * modules/unictype/scripts: New file.
53085         * modules/unictype/scripts-all: New file.
53086         * modules/unictype/block-of: New file.
53087         * modules/unictype/block-test: New file.
53088         * modules/unictype/block-list: New file.
53089         * modules/unictype/block-all: New file.
53090         * modules/unictype/syntax-c-whitespace: New file.
53091         * modules/unictype/syntax-java-whitespace: New file.
53092         * modules/unictype/syntax-c-ident: New file.
53093         * modules/unictype/syntax-java-ident: New file.
53094         * modules/unictype/ctype-alnum: New file.
53095         * modules/unictype/ctype-alpha: New file.
53096         * modules/unictype/ctype-cntrl: New file.
53097         * modules/unictype/ctype-digit: New file.
53098         * modules/unictype/ctype-graph: New file.
53099         * modules/unictype/ctype-lower: New file.
53100         * modules/unictype/ctype-print: New file.
53101         * modules/unictype/ctype-punct: New file.
53102         * modules/unictype/ctype-space: New file.
53103         * modules/unictype/ctype-upper: New file.
53104         * modules/unictype/ctype-xdigit: New file.
53105         * modules/unictype/ctype-blank: New file.
53106         * lib/unictype/bidi_byname.c: New file.
53107         * lib/unictype/bidi_name.c: New file.
53108         * lib/unictype/bidi_of.c: New file.
53109         * lib/unictype/bidi_test.c: New file.
53110         * lib/unictype/bitmap.h: New file.
53111         * lib/unictype/block_test.c: New file.
53112         * lib/unictype/blocks.c: New file.
53113         * lib/unictype/categ_C.c: New file.
53114         * lib/unictype/categ_Cc.c: New file.
53115         * lib/unictype/categ_Cf.c: New file.
53116         * lib/unictype/categ_Cn.c: New file.
53117         * lib/unictype/categ_Co.c: New file.
53118         * lib/unictype/categ_Cs.c: New file.
53119         * lib/unictype/categ_L.c: New file.
53120         * lib/unictype/categ_Ll.c: New file.
53121         * lib/unictype/categ_Lm.c: New file.
53122         * lib/unictype/categ_Lo.c: New file.
53123         * lib/unictype/categ_Lt.c: New file.
53124         * lib/unictype/categ_Lu.c: New file.
53125         * lib/unictype/categ_M.c: New file.
53126         * lib/unictype/categ_Mc.c: New file.
53127         * lib/unictype/categ_Me.c: New file.
53128         * lib/unictype/categ_Mn.c: New file.
53129         * lib/unictype/categ_N.c: New file.
53130         * lib/unictype/categ_Nd.c: New file.
53131         * lib/unictype/categ_Nl.c: New file.
53132         * lib/unictype/categ_No.c: New file.
53133         * lib/unictype/categ_P.c: New file.
53134         * lib/unictype/categ_Pc.c: New file.
53135         * lib/unictype/categ_Pd.c: New file.
53136         * lib/unictype/categ_Pe.c: New file.
53137         * lib/unictype/categ_Pf.c: New file.
53138         * lib/unictype/categ_Pi.c: New file.
53139         * lib/unictype/categ_Po.c: New file.
53140         * lib/unictype/categ_Ps.c: New file.
53141         * lib/unictype/categ_S.c: New file.
53142         * lib/unictype/categ_Sc.c: New file.
53143         * lib/unictype/categ_Sk.c: New file.
53144         * lib/unictype/categ_Sm.c: New file.
53145         * lib/unictype/categ_So.c: New file.
53146         * lib/unictype/categ_Z.c: New file.
53147         * lib/unictype/categ_Zl.c: New file.
53148         * lib/unictype/categ_Zp.c: New file.
53149         * lib/unictype/categ_Zs.c: New file.
53150         * lib/unictype/categ_and.c: New file.
53151         * lib/unictype/categ_and_not.c: New file.
53152         * lib/unictype/categ_byname.c: New file.
53153         * lib/unictype/categ_name.c: New file.
53154         * lib/unictype/categ_none.c: New file.
53155         * lib/unictype/categ_of.c: New file.
53156         * lib/unictype/categ_or.c: New file.
53157         * lib/unictype/categ_test.c: New file.
53158         * lib/unictype/combining.c: New file.
53159         * lib/unictype/ctype_alnum.c: New file.
53160         * lib/unictype/ctype_alpha.c: New file.
53161         * lib/unictype/ctype_blank.c: New file.
53162         * lib/unictype/ctype_cntrl.c: New file.
53163         * lib/unictype/ctype_digit.c: New file.
53164         * lib/unictype/ctype_graph.c: New file.
53165         * lib/unictype/ctype_lower.c: New file.
53166         * lib/unictype/ctype_print.c: New file.
53167         * lib/unictype/ctype_punct.c: New file.
53168         * lib/unictype/ctype_space.c: New file.
53169         * lib/unictype/ctype_upper.c: New file.
53170         * lib/unictype/ctype_xdigit.c: New file.
53171         * lib/unictype/decdigit.c: New file.
53172         * lib/unictype/digit.c: New file.
53173         * lib/unictype/identsyntaxmap.h: New file.
53174         * lib/unictype/mirror.c: New file.
53175         * lib/unictype/numeric.c: New file.
53176         * lib/unictype/pr_alphabetic.c: New file.
53177         * lib/unictype/pr_ascii_hex_digit.c: New file.
53178         * lib/unictype/pr_bidi_arabic_digit.c: New file.
53179         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
53180         * lib/unictype/pr_bidi_block_separator.c: New file.
53181         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
53182         * lib/unictype/pr_bidi_common_separator.c: New file.
53183         * lib/unictype/pr_bidi_control.c: New file.
53184         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
53185         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
53186         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
53187         * lib/unictype/pr_bidi_european_digit.c: New file.
53188         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
53189         * lib/unictype/pr_bidi_left_to_right.c: New file.
53190         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
53191         * lib/unictype/pr_bidi_other_neutral.c: New file.
53192         * lib/unictype/pr_bidi_pdf.c: New file.
53193         * lib/unictype/pr_bidi_segment_separator.c: New file.
53194         * lib/unictype/pr_bidi_whitespace.c: New file.
53195         * lib/unictype/pr_byname.c: New file.
53196         * lib/unictype/pr_byname.gperf: New file.
53197         * lib/unictype/pr_combining.c: New file.
53198         * lib/unictype/pr_composite.c: New file.
53199         * lib/unictype/pr_currency_symbol.c: New file.
53200         * lib/unictype/pr_dash.c: New file.
53201         * lib/unictype/pr_decimal_digit.c: New file.
53202         * lib/unictype/pr_default_ignorable_code_point.c: New file.
53203         * lib/unictype/pr_deprecated.c: New file.
53204         * lib/unictype/pr_diacritic.c: New file.
53205         * lib/unictype/pr_extender.c: New file.
53206         * lib/unictype/pr_format_control.c: New file.
53207         * lib/unictype/pr_grapheme_base.c: New file.
53208         * lib/unictype/pr_grapheme_extend.c: New file.
53209         * lib/unictype/pr_grapheme_link.c: New file.
53210         * lib/unictype/pr_hex_digit.c: New file.
53211         * lib/unictype/pr_hyphen.c: New file.
53212         * lib/unictype/pr_id_continue.c: New file.
53213         * lib/unictype/pr_id_start.c: New file.
53214         * lib/unictype/pr_ideographic.c: New file.
53215         * lib/unictype/pr_ids_binary_operator.c: New file.
53216         * lib/unictype/pr_ids_trinary_operator.c: New file.
53217         * lib/unictype/pr_ignorable_control.c: New file.
53218         * lib/unictype/pr_iso_control.c: New file.
53219         * lib/unictype/pr_join_control.c: New file.
53220         * lib/unictype/pr_left_of_pair.c: New file.
53221         * lib/unictype/pr_line_separator.c: New file.
53222         * lib/unictype/pr_logical_order_exception.c: New file.
53223         * lib/unictype/pr_lowercase.c: New file.
53224         * lib/unictype/pr_math.c: New file.
53225         * lib/unictype/pr_non_break.c: New file.
53226         * lib/unictype/pr_not_a_character.c: New file.
53227         * lib/unictype/pr_numeric.c: New file.
53228         * lib/unictype/pr_other_alphabetic.c: New file.
53229         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
53230         * lib/unictype/pr_other_grapheme_extend.c: New file.
53231         * lib/unictype/pr_other_id_continue.c: New file.
53232         * lib/unictype/pr_other_id_start.c: New file.
53233         * lib/unictype/pr_other_lowercase.c: New file.
53234         * lib/unictype/pr_other_math.c: New file.
53235         * lib/unictype/pr_other_uppercase.c: New file.
53236         * lib/unictype/pr_paired_punctuation.c: New file.
53237         * lib/unictype/pr_paragraph_separator.c: New file.
53238         * lib/unictype/pr_pattern_syntax.c: New file.
53239         * lib/unictype/pr_pattern_white_space.c: New file.
53240         * lib/unictype/pr_private_use.c: New file.
53241         * lib/unictype/pr_punctuation.c: New file.
53242         * lib/unictype/pr_quotation_mark.c: New file.
53243         * lib/unictype/pr_radical.c: New file.
53244         * lib/unictype/pr_sentence_terminal.c: New file.
53245         * lib/unictype/pr_soft_dotted.c: New file.
53246         * lib/unictype/pr_space.c: New file.
53247         * lib/unictype/pr_terminal_punctuation.c: New file.
53248         * lib/unictype/pr_test.c: New file.
53249         * lib/unictype/pr_titlecase.c: New file.
53250         * lib/unictype/pr_unassigned_code_value.c: New file.
53251         * lib/unictype/pr_unified_ideograph.c: New file.
53252         * lib/unictype/pr_uppercase.c: New file.
53253         * lib/unictype/pr_variation_selector.c: New file.
53254         * lib/unictype/pr_white_space.c: New file.
53255         * lib/unictype/pr_xid_continue.c: New file.
53256         * lib/unictype/pr_xid_start.c: New file.
53257         * lib/unictype/pr_zero_width.c: New file.
53258         * lib/unictype/scripts.c: New file.
53259         * lib/unictype/sy_c_ident.c: New file.
53260         * lib/unictype/sy_c_whitespace.c: New file.
53261         * lib/unictype/sy_java_ident.c: New file.
53262         * lib/unictype/sy_java_whitespace.c: New file.
53263
53264         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
53265         Unicode 5.0.0.
53266         * lib/unictype/blocks.h: Likewise.
53267         * lib/unictype/categ_C.h: Likewise.
53268         * lib/unictype/categ_Cc.h: Likewise.
53269         * lib/unictype/categ_Cf.h: Likewise.
53270         * lib/unictype/categ_Cn.h: Likewise.
53271         * lib/unictype/categ_Co.h: Likewise.
53272         * lib/unictype/categ_Cs.h: Likewise.
53273         * lib/unictype/categ_L.h: Likewise.
53274         * lib/unictype/categ_Ll.h: Likewise.
53275         * lib/unictype/categ_Lm.h: Likewise.
53276         * lib/unictype/categ_Lo.h: Likewise.
53277         * lib/unictype/categ_Lt.h: Likewise.
53278         * lib/unictype/categ_Lu.h: Likewise.
53279         * lib/unictype/categ_M.h: Likewise.
53280         * lib/unictype/categ_Mc.h: Likewise.
53281         * lib/unictype/categ_Me.h: Likewise.
53282         * lib/unictype/categ_Mn.h: Likewise.
53283         * lib/unictype/categ_N.h: Likewise.
53284         * lib/unictype/categ_Nd.h: Likewise.
53285         * lib/unictype/categ_Nl.h: Likewise.
53286         * lib/unictype/categ_No.h: Likewise.
53287         * lib/unictype/categ_P.h: Likewise.
53288         * lib/unictype/categ_Pc.h: Likewise.
53289         * lib/unictype/categ_Pd.h: Likewise.
53290         * lib/unictype/categ_Pe.h: Likewise.
53291         * lib/unictype/categ_Pf.h: Likewise.
53292         * lib/unictype/categ_Pi.h: Likewise.
53293         * lib/unictype/categ_Po.h: Likewise.
53294         * lib/unictype/categ_Ps.h: Likewise.
53295         * lib/unictype/categ_S.h: Likewise.
53296         * lib/unictype/categ_Sc.h: Likewise.
53297         * lib/unictype/categ_Sk.h: Likewise.
53298         * lib/unictype/categ_Sm.h: Likewise.
53299         * lib/unictype/categ_So.h: Likewise.
53300         * lib/unictype/categ_Z.h: Likewise.
53301         * lib/unictype/categ_Zl.h: Likewise.
53302         * lib/unictype/categ_Zp.h: Likewise.
53303         * lib/unictype/categ_Zs.h: Likewise.
53304         * lib/unictype/categ_of.h: Likewise.
53305         * lib/unictype/combining.h: Likewise.
53306         * lib/unictype/ctype_alnum.h: Likewise.
53307         * lib/unictype/ctype_alpha.h: Likewise.
53308         * lib/unictype/ctype_blank.h: Likewise.
53309         * lib/unictype/ctype_cntrl.h: Likewise.
53310         * lib/unictype/ctype_digit.h: Likewise.
53311         * lib/unictype/ctype_graph.h: Likewise.
53312         * lib/unictype/ctype_lower.h: Likewise.
53313         * lib/unictype/ctype_print.h: Likewise.
53314         * lib/unictype/ctype_punct.h: Likewise.
53315         * lib/unictype/ctype_space.h: Likewise.
53316         * lib/unictype/ctype_upper.h: Likewise.
53317         * lib/unictype/ctype_xdigit.h: Likewise.
53318         * lib/unictype/decdigit.h: Likewise.
53319         * lib/unictype/digit.h: Likewise.
53320         * lib/unictype/mirror.h: Likewise.
53321         * lib/unictype/numeric.h: Likewise.
53322         * lib/unictype/pr_alphabetic.h: Likewise.
53323         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
53324         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
53325         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
53326         * lib/unictype/pr_bidi_block_separator.h: Likewise.
53327         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
53328         * lib/unictype/pr_bidi_common_separator.h: Likewise.
53329         * lib/unictype/pr_bidi_control.h: Likewise.
53330         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
53331         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
53332         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
53333         * lib/unictype/pr_bidi_european_digit.h: Likewise.
53334         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
53335         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
53336         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
53337         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
53338         * lib/unictype/pr_bidi_pdf.h: Likewise.
53339         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
53340         * lib/unictype/pr_bidi_whitespace.h: Likewise.
53341         * lib/unictype/pr_combining.h: Likewise.
53342         * lib/unictype/pr_composite.h: Likewise.
53343         * lib/unictype/pr_currency_symbol.h: Likewise.
53344         * lib/unictype/pr_dash.h: Likewise.
53345         * lib/unictype/pr_decimal_digit.h: Likewise.
53346         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
53347         * lib/unictype/pr_deprecated.h: Likewise.
53348         * lib/unictype/pr_diacritic.h: Likewise.
53349         * lib/unictype/pr_extender.h: Likewise.
53350         * lib/unictype/pr_format_control.h: Likewise.
53351         * lib/unictype/pr_grapheme_base.h: Likewise.
53352         * lib/unictype/pr_grapheme_extend.h: Likewise.
53353         * lib/unictype/pr_grapheme_link.h: Likewise.
53354         * lib/unictype/pr_hex_digit.h: Likewise.
53355         * lib/unictype/pr_hyphen.h: Likewise.
53356         * lib/unictype/pr_id_continue.h: Likewise.
53357         * lib/unictype/pr_id_start.h: Likewise.
53358         * lib/unictype/pr_ideographic.h: Likewise.
53359         * lib/unictype/pr_ids_binary_operator.h: Likewise.
53360         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
53361         * lib/unictype/pr_ignorable_control.h: Likewise.
53362         * lib/unictype/pr_iso_control.h: Likewise.
53363         * lib/unictype/pr_join_control.h: Likewise.
53364         * lib/unictype/pr_left_of_pair.h: Likewise.
53365         * lib/unictype/pr_line_separator.h: Likewise.
53366         * lib/unictype/pr_logical_order_exception.h: Likewise.
53367         * lib/unictype/pr_lowercase.h: Likewise.
53368         * lib/unictype/pr_math.h: Likewise.
53369         * lib/unictype/pr_non_break.h: Likewise.
53370         * lib/unictype/pr_not_a_character.h: Likewise.
53371         * lib/unictype/pr_numeric.h: Likewise.
53372         * lib/unictype/pr_other_alphabetic.h: Likewise.
53373         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
53374         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
53375         * lib/unictype/pr_other_id_continue.h: Likewise.
53376         * lib/unictype/pr_other_id_start.h: Likewise.
53377         * lib/unictype/pr_other_lowercase.h: Likewise.
53378         * lib/unictype/pr_other_math.h: Likewise.
53379         * lib/unictype/pr_other_uppercase.h: Likewise.
53380         * lib/unictype/pr_paired_punctuation.h: Likewise.
53381         * lib/unictype/pr_paragraph_separator.h: Likewise.
53382         * lib/unictype/pr_pattern_syntax.h: Likewise.
53383         * lib/unictype/pr_pattern_white_space.h: Likewise.
53384         * lib/unictype/pr_private_use.h: Likewise.
53385         * lib/unictype/pr_punctuation.h: Likewise.
53386         * lib/unictype/pr_quotation_mark.h: Likewise.
53387         * lib/unictype/pr_radical.h: Likewise.
53388         * lib/unictype/pr_sentence_terminal.h: Likewise.
53389         * lib/unictype/pr_soft_dotted.h: Likewise.
53390         * lib/unictype/pr_space.h: Likewise.
53391         * lib/unictype/pr_terminal_punctuation.h: Likewise.
53392         * lib/unictype/pr_titlecase.h: Likewise.
53393         * lib/unictype/pr_unassigned_code_value.h: Likewise.
53394         * lib/unictype/pr_unified_ideograph.h: Likewise.
53395         * lib/unictype/pr_uppercase.h: Likewise.
53396         * lib/unictype/pr_variation_selector.h: Likewise.
53397         * lib/unictype/pr_white_space.h: Likewise.
53398         * lib/unictype/pr_xid_continue.h: Likewise.
53399         * lib/unictype/pr_xid_start.h: Likewise.
53400         * lib/unictype/pr_zero_width.h: Likewise.
53401         * lib/unictype/scripts.h: Likewise.
53402         * lib/unictype/scripts_byname.gperf: Likewise.
53403         * lib/unictype/sy_c_ident.h: Likewise.
53404         * lib/unictype/sy_c_whitespace.h: Likewise.
53405         * lib/unictype/sy_java_ident.h: Likewise.
53406         * lib/unictype/sy_java_whitespace.h: Likewise.
53407
53408         * lib/unictype/Makefile: New file.
53409         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
53410         glibc.
53411         * lib/unictype/3level.h: New file, copied from glibc.
53412         * lib/unictype/3levelbit.h: New file.
53413
53414 2007-11-11  Bruno Haible  <bruno@clisp.org>
53415
53416         * modules/gperf: New file.
53417         * modules/iconv_open (Depends-on): Add it.
53418         (Makefile.am): Remove the GPERF definition.
53419
53420 2007-11-11  Bruno Haible  <bruno@clisp.org>
53421
53422         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
53423         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
53424
53425 2007-11-11  Bruno Haible  <bruno@clisp.org>
53426
53427         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
53428         (usage): Remove function.
53429
53430 2007-11-11  Bruno Haible  <bruno@clisp.org>
53431
53432         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
53433         gl_FUNC_CEILF_LIBS.
53434         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
53435         gl_FUNC_CEIL_LIBS.
53436         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
53437         gl_FUNC_CEILL_LIBS.
53438         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
53439         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
53440         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
53441
53442 2007-11-11  Bruno Haible  <bruno@clisp.org>
53443
53444         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
53445         roundf were declared but do not exist on functions.
53446         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
53447         roundl were declared but do not exist on functions.
53448         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
53449         HAVE_FLOORL_AND_CEILL, respectively.
53450         Needed for Sun C on Solaris 10.
53451
53452 2007-11-11  Bruno Haible  <bruno@clisp.org>
53453
53454         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
53455         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
53456         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
53457         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
53458         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
53459         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
53460         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
53461         HAVE_DECL_ROUNDF.
53462         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
53463         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
53464         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
53465         of HAVE_DECL_ROUND*.
53466         * modules/math (Makefile.am): Update.
53467
53468 2007-11-10  Bruno Haible  <bruno@clisp.org>
53469
53470         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
53471         ptrdiff_t as m4/intl.m4.
53472
53473 2007-11-10  Jim Meyering  <meyering@redhat.com>
53474
53475         Avoid link failure for the argmatch test.
53476         * tests/test-argmatch.c (usage): Define function to avoid a link
53477         failure: argmatch_die requires a usage function.
53478
53479 2007-11-09  Bruno Haible  <bruno@clisp.org>
53480
53481         * doc/functions/snprintf.texi: Mention BeOS deficiency.
53482         * doc/functions/vsnprintf.texi: Likewise.
53483         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
53484         with a size argument < 2.
53485
53486 2007-11-09  Bruno Haible  <bruno@clisp.org>
53487
53488         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
53489         buffer. Fixes an inefficiency introduced on 2007-11-03.
53490
53491 2007-11-09  Bruno Haible  <bruno@clisp.org>
53492
53493         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
53494         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
53495
53496 2007-11-08  Jim Meyering  <meyering@redhat.com>
53497
53498         Change cache variable name prefix "jm_" to "gl_" everywhere.
53499         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
53500         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
53501         * m4/uptime.m4: s/gl_/jm_/
53502
53503 2007-11-07  Bruno Haible  <bruno@clisp.org>
53504
53505         Update to GNU gettext 0.17.
53506         * m4/intl.m4: Update to GNU gettext 0.17.
53507         * m4/po.m4: Likewise.
53508         * modules/gettext (Files): Remove m4/ulonglong.m4.
53509         (configure.ac): Require gettext infrastructure from version 0.17.
53510
53511 2007-11-06  Bruno Haible  <bruno@clisp.org>
53512
53513         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
53514         symbolic values are not defined in a public header.
53515         * lib/freadable.c (freadable) [QNX]: Likewise.
53516         * lib/freadahead.c (freadahead) [QNX]: Likewise.
53517         * lib/freading.c (freading) [QNX]: Likewise.
53518         * lib/fseterr.c (fseterr) [QNX]: Likewise.
53519         * lib/fwritable.c (fwritable) [QNX]: Likewise.
53520         * lib/fwriting.c (fwriting) [QNX]: Likewise.
53521         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
53522         Reported by Alain Magloire.
53523
53524         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
53525
53526 2007-11-05  Bruno Haible  <bruno@clisp.org>
53527
53528         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
53529         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
53530         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
53531         Reported by Eric Blake.
53532
53533 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53534             Bruno Haible  <bruno@clisp.org>
53535
53536         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
53537         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
53538         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
53539         (malloc): Undefine also before including <stdlib.h>.
53540         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
53541         Needed on OSF/1 4.0.
53542
53543 2007-11-05  Jim Meyering  <meyering@redhat.com>
53544
53545         git-version-gen: sync from coreutils.
53546         * build-aux/git-version-gen: Add comments.
53547         Change the first '-' to '.' in the snapshot version string,
53548         e.g., 6.9-377-08144 -> 6.9.377-08144
53549         Remove first parameter.
53550         Don't declare a version "-dirty" merely because a time
53551         stamp has changed.
53552
53553 2007-11-04  Bruno Haible  <bruno@clisp.org>
53554
53555         * lib/lock.h: Protect all macro definitions containing an 'if'
53556         statement through a "do { ... } while (0)".
53557         * lib/tls.h: Likewise.
53558
53559 2007-11-04  Bruno Haible  <bruno@clisp.org>
53560
53561         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
53562
53563 2007-11-04  Bruno Haible  <bruno@clisp.org>
53564
53565         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
53566         * modules/fprintf-posix (Depends-on): Add nocrash.
53567         * modules/snprintf-posix (Depends-on): Likewise.
53568         * modules/sprintf-posix (Depends-on): Likewise.
53569         * modules/vasnprintf-posix (Depends-on): Likewise.
53570         * modules/vasprintf-posix (Depends-on): Likewise.
53571         * modules/vfprintf-posix (Depends-on): Likewise.
53572         * modules/vsnprintf-posix (Depends-on): Likewise.
53573         * modules/vsprintf-posix (Depends-on): Likewise.
53574         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53575         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53576         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53577         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53578         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53579         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53580         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53581
53582 2007-11-04  Bruno Haible  <bruno@clisp.org>
53583
53584         * modules/nocrash: New file.
53585         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
53586         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
53587
53588 2007-11-04  Bruno Haible  <bruno@clisp.org>
53589
53590         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
53591         precision handling.
53592         * tests/test-vasprintf-posix.c (test_function): Likewise.
53593         * tests/test-snprintf-posix.h (test_function): Likewise.
53594         * tests/test-sprintf-posix.h (test_function): Likewise.
53595
53596         Fix *printf behaviour for large precisions on mingw and BeOS.
53597         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
53598         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
53599         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
53600         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53601         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53602         gl_PRINTF_PRECISION and test its result. Invoke
53603         gl_PREREQ_VASNPRINTF_PRECISION.
53604         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53605         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53606         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53607         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53608         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53609         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53610         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53611         * doc/functions/fprintf.texi: Update.
53612         * doc/functions/printf.texi: Update.
53613         * doc/functions/snprintf.texi: Update.
53614         * doc/functions/sprintf.texi: Update.
53615         * doc/functions/vfprintf.texi: Update.
53616         * doc/functions/vprintf.texi: Update.
53617         * doc/functions/vsnprintf.texi: Update.
53618         * doc/functions/vsprintf.texi: Update.
53619
53620 2007-11-04  Bruno Haible  <bruno@clisp.org>
53621
53622         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
53623
53624 2007-11-04  Bruno Haible  <bruno@clisp.org>
53625
53626         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
53627         Reported by Sylvain Beucler <beuc@gnu.org>.
53628
53629 2007-11-03  Bruno Haible  <bruno@clisp.org>
53630
53631         * tests/test-fprintf-posix2.sh: New file.
53632         * tests/test-fprintf-posix2.c: New file.
53633         * modules/fprintf-posix-tests (Files): Add them.
53634         (TESTS): Add test-fprintf-posix2.sh.
53635         (configure.ac): Check for getrlimit and setrlimit.
53636         (check_PROGRAMS): Add test-fprintf-posix2.
53637
53638         * tests/test-printf-posix2.sh: New file.
53639         * tests/test-printf-posix2.c: New file.
53640         * modules/printf-posix-tests (Files): Add them.
53641         (TESTS): Add test-printf-posix2.sh.
53642         (configure.ac): Check for getrlimit and setrlimit.
53643         (check_PROGRAMS): Add test-printf-posix2.
53644
53645         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
53646         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
53647         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
53648         (decode_double): New function, copied from decode_long_double.
53649         (scale10_round_decimal_decoded): New function, extracted from
53650         scale10_round_decimal_long_double.
53651         (scale10_round_decimal_long_double): Use it.
53652         (scale10_round_decimal_double): New function.
53653         (floorlog10): New function.
53654         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
53655         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
53656         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53657         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53658         gl_PRINTF_ENOMEM and test its result. Invoke
53659         gl_PREREQ_VASNPRINTF_ENOMEM.
53660         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53661         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53662         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53663         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53664         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53665         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53666         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53667         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
53668         * modules/snprintf-posix (Depends-on): Likewise.
53669         * modules/sprintf-posix (Depends-on): Likewise.
53670         * modules/vasnprintf-posix (Depends-on): Likewise.
53671         * modules/vasprintf-posix (Depends-on): Likewise.
53672         * modules/vfprintf-posix (Depends-on): Likewise.
53673         * modules/vsnprintf-posix (Depends-on): Likewise.
53674         * modules/vsprintf-posix (Depends-on): Likewise.
53675         * doc/functions/fprintf.texi: Update.
53676         * doc/functions/printf.texi: Update.
53677         * doc/functions/snprintf.texi: Update.
53678         * doc/functions/sprintf.texi: Update.
53679         * doc/functions/vfprintf.texi: Update.
53680         * doc/functions/vprintf.texi: Update.
53681         * doc/functions/vsnprintf.texi: Update.
53682         * doc/functions/vsprintf.texi: Update.
53683
53684 2007-11-03  Bruno Haible  <bruno@clisp.org>
53685
53686         * modules/frexp-nolibm-tests: New file.
53687
53688         * modules/frexp-nolibm: New file.
53689         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
53690
53691 2007-11-03  Bruno Haible  <bruno@clisp.org>
53692
53693         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
53694         value is C99 compliant.
53695         Needed for OSF/1 5.1.
53696
53697 2007-11-03  Bruno Haible  <bruno@clisp.org>
53698
53699         Fix out-of-memory handling of vasnprintf.
53700         * lib/printf-parse.c: Include <errno.h>.
53701         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
53702         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
53703         is already set.
53704
53705 2007-11-02  Eric Blake  <ebb9@byu.net>
53706
53707         Fix tests on cygwin.
53708         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
53709
53710 2007-11-01  Bruno Haible  <bruno@clisp.org>
53711
53712         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
53713         warning.
53714         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
53715         needed for POSIX compatibility.
53716
53717 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
53718
53719         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
53720         for compatibility with GNU.
53721
53722 2007-11-01  Bruno Haible  <bruno@clisp.org>
53723
53724         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
53725         (putenv): Renamed from rpl_putenv. Change argument type from
53726         'const char *' to 'char *'.
53727         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
53728         of defining putenv in config.h, just set REPLACE_PUTENV.
53729         * modules/putenv (Depends-on): Add stdlib.
53730         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53731         (Include): Use <stdlib.h>.
53732         * lib/stdlib.in.h (putenv): New declaration.
53733         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
53734         REPLACE_PUTENV.
53735         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
53736         REPLACE_PUTENV.
53737         Needed for MacOS X 10.5.0.
53738         Reported by Peter O'Gorman <peter@pogma.com>.
53739
53740 2007-11-01  Jim Meyering  <meyering@redhat.com>
53741
53742         Treat an empty date string exactly like "0".
53743         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
53744         if the remaining date string (to be parsed) is empty, use "0".
53745         Reported by Mischa Molhoek and discussed in this thread:
53746         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
53747
53748 2007-10-31  Bruno Haible  <bruno@clisp.org>
53749
53750         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
53751         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
53752         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
53753         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
53754         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
53755         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
53756
53757 2007-10-31  Bruno Haible  <bruno@clisp.org>
53758
53759         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
53760         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
53761         (AC_TYPE_LONG_LONG_INT): Use it.
53762         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
53763         it as well.
53764         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
53765         to m4/longlong.m4.
53766         * modules/stdint (Files): Remove m4/ulonglong.m4.
53767         * modules/strtoull (Files): Use m4/longlong.m4 instead of
53768         m4/ulonglong.m4.
53769         * modules/strtoumax (Files): Likewise.
53770
53771 2007-10-30  Bruno Haible  <bruno@clisp.org>
53772
53773         * modules/xvasprintf-posix: New file.
53774         Suggested by Eric Blake.
53775
53776 2007-10-30  Bruno Haible  <bruno@clisp.org>
53777
53778         * modules/xprintf-posix-tests: New file.
53779         * tests/test-xprintf-posix.sh: New file.
53780         * tests/test-xprintf-posix.c: New file.
53781         * tests/test-xfprintf-posix.c: New file.
53782
53783         * modules/xprintf-posix: New file.
53784
53785 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53786
53787         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
53788         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
53789         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
53790
53791 2007-10-29  Bruno Haible  <bruno@clisp.org>
53792
53793         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
53794         contain the special marker '_cv_'.
53795         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
53796         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
53797         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
53798         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
53799         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
53800         Reported by Ralf Wildenhues.
53801
53802 2007-10-29  Bruno Haible  <bruno@clisp.org>
53803
53804         * gnulib-tool (func_import): When --lgpl is not specified, set
53805         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
53806         GPLv3.
53807         Reported by Simon Josefsson.
53808
53809 2007-10-28  Bruno Haible  <bruno@clisp.org>
53810
53811         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
53812         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
53813         HAVE_DECL_ISFINITE.
53814         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
53815         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
53816         HAVE_DECL_ISFINITE.
53817
53818 2007-10-28  Bruno Haible  <bruno@clisp.org>
53819
53820         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
53821         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
53822
53823 2007-10-28  Bruno Haible  <bruno@clisp.org>
53824
53825         Fix link errors with Sun C 5.0 on Solaris 10.
53826         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
53827         function is declared but not present in the compiler's libm.
53828         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
53829         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
53830         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
53831         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
53832         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
53833         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
53834         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
53835         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
53836         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
53837         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
53838         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
53839         HAVE_DECL_FLOORL.
53840
53841 2007-10-28  Bruno Haible  <bruno@clisp.org>
53842
53843         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
53844         gl_FUNC_FLOORL. Cache the result.
53845         (gl_FUNC_FLOORL): Use it.
53846         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
53847         gl_FUNC_CEILL. Cache the result.
53848         (gl_FUNC_CEILL): Use it.
53849
53850         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
53851         gl_FUNC_FLOOR. Cache the result.
53852         (gl_FUNC_FLOOR): Use it.
53853         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
53854         gl_FUNC_CEIL. Cache the result.
53855         (gl_FUNC_CEIL): Use it.
53856
53857         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
53858         gl_FUNC_FLOORF. Cache the result.
53859         (gl_FUNC_FLOORF): Use it.
53860         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
53861         gl_FUNC_CEILF. Cache the result.
53862         (gl_FUNC_CEILF): Use it.
53863
53864 2007-10-28  Bruno Haible  <bruno@clisp.org>
53865
53866         * gnulib-tool: Allow specifying the LGPL version number through
53867         --lgpl=2 or --lgpl=3.
53868         (func_usage): Document --lgpl with argument.
53869         Handle --lgpl=... arguments.
53870         (func_import): Recognize also gl_LGPL calls with an argument. When
53871         --lgpl=2 is used and the module's license is just LGPL, report an
53872         error. Set sed_transform_lib_file according to the lgpl variable. In
53873         the generated files, use --lgpl or gl_LGPL invocations with argument,
53874         if necessary.
53875         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
53876         an LGPv2+ license.
53877         * doc/gnulib-tool.texi (Modified imports): Update explanation of
53878         gl_LGPL macro.
53879
53880 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53881             Bruno Haible  <bruno@clisp.org>
53882
53883         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
53884         (u16_uctomb_aux): Likewise.
53885         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
53886         !HAVE_INLINE.
53887         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
53888
53889 2007-10-28  Bruno Haible  <bruno@clisp.org>
53890
53891         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
53892         Invoke AM_GETTEXT_OPTION if it exists.
53893         * modules/vasprintf: Likewise.
53894         * modules/verror: Likewise.
53895         * modules/xprintf: Likewise.
53896         * modules/xvasprintf: Likewise.
53897
53898 2007-10-27  Ben Pfaff  <blp@gnu.org>
53899
53900         * lib/math.in.h: Define isfinite macro and prototypes for
53901         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
53902         implementations.
53903         * m4/math_h.m4: New substitutions for isfinite module.
53904         * lib/isfinite.c: New file.
53905         * m4/isfinite.m4: New file.
53906         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
53907         * modules/isfinite: New file.
53908         * modules/isfinite-tests: New file.
53909         * tests/tests-isfinite.c: New file.
53910         * doc/functions/isfinite.texi: Mention isfinite module.
53911         * MODULES.html.sh: Mention new module.
53912
53913 2007-10-27  Ben Pfaff  <blp@gnu.org>
53914
53915         Ralf Wildenhues reported that Tru64 4.0D declares the round
53916         functions but does not have definitions.
53917         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
53918         cannot be found in any library, set the output variable to
53919         "missing" instead of "".
53920         * m4/round.m4: Also use our substitute if we cannot find round in
53921         any library, even if it is declared.
53922         * m4/roundf.m4: Likewise for roundf.
53923         * m4/roundl.m4: Likewise for roundl.
53924         * lib/math.in.h: Undefine roundf, round, roundl before defining
53925         their replacements, to allow for hypothetical systems where these
53926         may be defined as macros but not available in libraries.
53927
53928 2007-10-27  Bruno Haible  <bruno@clisp.org>
53929
53930         * doc/gnulib.texi: Invoke @firstparagraphindent.
53931         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
53932         changes in gnulib.
53933         (Source changes): New section.
53934
53935 2007-10-26  Bruno Haible  <bruno@clisp.org>
53936
53937         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
53938         borrowed from autoconf.
53939
53940 2007-10-26  Bruno Haible  <bruno@clisp.org>
53941
53942         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
53943         strerror returned the empty string. Needed on HP-UX 11.00.
53944
53945 2007-10-24  Micah Cowan  <micah@cowan.name>
53946
53947         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
53948         * build-aux/bootstrap: Remove support for now-unnecessary option,
53949         --cvs-user, and envvars CVS_USER, CVS_RSH.
53950
53951 2007-10-24  Jim Meyering  <meyering@redhat.com>
53952
53953         Avoid diagnostics from sha1sum when there is no cached checksum.
53954         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
53955         if the po.s1 file hasn't been created yet.
53956
53957         * build-aux/bootstrap: Sync from coreutils:
53958         2007-10-24  Jim Meyering  <meyering@redhat.com>
53959         Get gnulib from the git repository, not from an obsolete cvs one.
53960         * build-aux/bootstrap: Suggestion from Micah Cowan.
53961         2007-10-04  Jim Meyering  <jim@meyering.net>
53962         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
53963         (update_po_files): Work also when there are no .po files in po/.
53964
53965 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
53966
53967         * README: Append ".git" to git and cg examples.
53968         Problem reported by Benoit Sigoure.
53969
53970 2007-10-23  Micah Cowan  <micah@cowan.name>
53971
53972         * users.txt: Add wget.
53973
53974 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53975
53976         Fix linking of some unistdio tests on FreeBSD.
53977         * modules/unistdio/u16-vsnprintf-tests
53978         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
53979         * modules/unistdio/u16-vsprintf-tests
53980         (test_u16_vsnprintf1_LDADD): Likewise.
53981         * modules/unistdio/u32-vsnprintf-tests
53982         (test_u32_vsnprintf1_LDADD): Likewise.
53983         * modules/unistdio/u32-vsprintf-tests
53984         (test_u32_vsprintf1_LDADD): Likewise.
53985         * modules/unistdio/u8-vsnprintf-tests
53986         (test_u8_vsnprintf1_LDADD): Likewise.
53987         * modules/unistdio/u8-vsprintf-tests
53988         (test_u8_vsprintf1_LDADD): Likewise.
53989         * modules/unistdio/ulc-vsnprintf-tests
53990         (test_ulc_vsnprintf1_LDADD): Likewise.
53991         * modules/unistdio/ulc-vsprintf-tests
53992         (test_ulc_vsprintf1_LDADD): Likewise.
53993
53994         Fix linking of some uniconv tests on FreeBSD.
53995         * modules/uniconv/u16-conv-from-enc-tests
53996         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
53997         * modules/uniconv/u16-conv-to-enc-tests
53998         (test_u16_conv_to_enc_LDADD): Likewise.
53999         * modules/uniconv/u16-strconv-from-enc-tests
54000         (test_u16_strconv_from_enc_LDADD): Likewise.
54001         * modules/uniconv/u16-strconv-to-enc-tests
54002         (test_u16_strconv_to_enc_LDADD): Likewise.
54003         * modules/uniconv/u32-conv-from-enc-tests
54004         (test_u32_conv_from_enc_LDADD): Likewise.
54005         * modules/uniconv/u32-conv-to-enc-tests
54006         (test_u32_conv_to_enc_LDADD): Likewise.
54007         * modules/uniconv/u32-strconv-from-enc-tests
54008         (test_u32_strconv_from_enc_LDADD): Likewise.
54009         * modules/uniconv/u32-strconv-to-enc-tests
54010         (test_u32_strconv_to_enc_LDADD): Likewise.
54011         * modules/uniconv/u8-conv-from-enc-tests
54012         (test_u8_conv_from_enc_LDADD): Likewise.
54013         * modules/uniconv/u8-conv-to-enc-tests
54014         (test_u8_conv_to_enc_LDADD): Likewise.
54015         * modules/uniconv/u8-strconv-from-enc-tests
54016         (test_u8_strconv_from_enc_LDADD): Likewise.
54017         * modules/uniconv/u8-strconv-to-enc-tests
54018         (test_u8_strconv_to_enc_LDADD): Likewise.
54019
54020 2007-10-22  Bruno Haible  <bruno@clisp.org>
54021
54022         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
54023         size.
54024
54025 2007-10-22  Eric Blake  <ebb9@byu.net>
54026
54027         Tweak x*printf documentation.
54028         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
54029         variable name and comments.
54030         Suggested by Bruno Haible.
54031
54032 2007-10-22  Bruno Haible  <bruno@clisp.org>
54033
54034         * lib/acl.c (copy_acl): Fix file name in comment.
54035
54036 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54037
54038         Fix Tru64 problem with stdbool.h.
54039         * lib/stdbool.in.h (false, true):
54040         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
54041         Don't declare as an enum in this situation; it runs afoul of Tru64.
54042         Problem reported by Steven M. Schweda in
54043         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
54044
54045 2007-10-22  Eric Blake  <ebb9@byu.net>
54046
54047         Also wrap vf?printf.
54048         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
54049         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
54050         (xvprintf, xvfprintf): New functions.
54051
54052 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54053
54054         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
54055         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
54056
54057         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
54058         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
54059
54060 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54061
54062         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
54063         by Bruno Haible.
54064
54065 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54066
54067         * lib/getloadavg.c
54068         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
54069         Undef `sys' after including sys/table.h, for Tru64 4.0D.
54070
54071         * tests/test-i-ring.c: Work for C89.
54072
54073 2007-10-22  Bruno Haible  <bruno@clisp.org>
54074
54075         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
54076         -1u, in preprocessor expression, so that we don't test for the bug
54077         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
54078         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
54079
54080 2007-10-22  Eric Blake  <ebb9@byu.net>
54081
54082         * tests/test-yesno.sh: Silence stderr during test.
54083
54084 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54085
54086         * modules/crypto/gc-camellia: New file.
54087
54088         * m4/gc-camellia.m4: New file.
54089
54090         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
54091
54092         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
54093
54094 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54095
54096         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
54097         --help to stdout.  Reported by sms@antinode.org (Steven
54098         M. Schweda).
54099
54100 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54101
54102         * users.txt: Fix link to libksba.
54103
54104 2007-10-21  Ben Pfaff  <blp@gnu.org>
54105
54106         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
54107         round.c roundf implementation that depends on floorf and ceilf to
54108         be tested unconditionally.
54109
54110 2007-10-21  Ben Pfaff  <blp@gnu.org>
54111
54112         * m4/check-libm-func.m4: Removed.
54113         * m4/check-math-lib.m4: New file.
54114         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
54115         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
54116         definition and lack of AC_LIBOBJ([roundf]).
54117         * m4/roundl.m4: Ditto, and similarly for roundl.
54118         * modules/round: Reference new m4 file.
54119         * modules/roundf: Ditto.
54120         * modules/roundl: Ditto.
54121         * tests/test-round2.c (main): Use ROUND instead of round.
54122         Bug report from Bruno Haible.
54123
54124 2007-10-21  Bruno Haible  <bruno@clisp.org>
54125
54126         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
54127         context.
54128
54129 2007-10-21  Bruno Haible  <bruno@clisp.org>
54130
54131         * tests/test-wcwidth.c (main): Allow negative result for some control
54132         characters.
54133
54134         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
54135         Needed on OSF/1 5.1.
54136
54137 2007-10-21  Bruno Haible  <bruno@clisp.org>
54138
54139         * tests/test-floorf1.c: Include isnanf.h.
54140         (main): Use isnanf() instead of isnan().
54141         * tests/test-ceilf1.c: Include isnanf.h.
54142         (main): Use isnanf() instead of isnan().
54143         * tests/test-truncf1.c: Include isnanf.h.
54144         (main): Use isnanf() instead of isnan().
54145         * tests/test-roundf1.c: Include isnanf.h.
54146         (main): Use isnanf() instead of isnan().
54147
54148 2007-10-21  Eric Blake  <ebb9@byu.net>
54149
54150         * users.txt: Update URL for m4.
54151
54152 2007-10-21  Bruno Haible  <bruno@clisp.org>
54153
54154         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
54155
54156 2007-10-21  Bruno Haible  <bruno@clisp.org>
54157
54158         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
54159         Git's management files if the CVS files are not present.
54160
54161 2007-10-20  Bruno Haible  <bruno@clisp.org>
54162
54163         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
54164         gcc-3.4.x.
54165
54166 2007-10-20  Ben Pfaff  <blp@gnu.org>
54167
54168         * lib/math.in.h: Declare round, roundf, roundl if we are providing
54169         implementations.
54170         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
54171         * lib/round.c: New file.
54172         * lib/roundf.c: New file.
54173         * lib/roundl.c: New file.
54174         * m4/round.m4: New file.
54175         * m4/roundf.m4: New file.
54176         * m4/roundl.m4: New file.
54177         * m4/check-libm-func-m4: New file.
54178         * modules/math: Replace round, roundf, roundl related @VARS@ in
54179         math.in.h.
54180         * modules/round: New file.
54181         * modules/round-tests: New file.
54182         * modules/roundf: New file.
54183         * modules/roundf-tests: New file.
54184         * modules/roundl: New file.
54185         * modules/roundl-tests: New file.
54186         * tests/test-round1.c: New file.
54187         * tests/test-round2.c: New file.
54188         * tests/test-roundf1.c: New file.
54189         * tests/test-roundf2.c: New file.
54190         * tests/test-roundl.c: New file.
54191         * doc/functions/round.texi: Mention round module.
54192         * doc/functions/roundf.texi: Mention roundf module.
54193         * doc/functions/roundl.texi: Mention roundl module.
54194         * MODULES.html.sh: Mention new modules.
54195         Thanks to Bruno Haible for suggestions.
54196
54197 2007-10-20  Jim Meyering  <meyering@redhat.com>
54198
54199         * lib/xprintf.c: Include <config.h> unconditionally.
54200
54201         Change xprintf's license to GPL.
54202         * modules/xprintf (License): s/LGPL/GPL/, since this module
54203         depends on modules (exit and exitfail) which are GPL.
54204         Suggestion from Bruno Haible.
54205
54206         xprintf fixes.
54207         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
54208         Use a clearer diagnostic.
54209         Patch from Bruno Haible.
54210
54211 2007-10-20  Bruno Haible  <bruno@clisp.org>
54212
54213         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
54214         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
54215         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54216
54217 2007-10-20  Bruno Haible  <bruno@clisp.org>
54218
54219         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
54220         precision in the comparison result > x - 1 or similar.
54221         * tests/test-ceilf2.c (correct_result_p): Likewise.
54222         * tests/test-truncf2.c (correct_result_p): Likewise.
54223         * tests/test-trunc2.c (correct_result_p): Likewise.
54224         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54225
54226 2007-10-20  Bruno Haible  <bruno@clisp.org>
54227
54228         * modules/ceil: New file.
54229         * m4/ceil.m4: New file.
54230         * doc/functions/ceil.texi: Mention the 'ceil' module.
54231
54232 2007-10-20  Bruno Haible  <bruno@clisp.org>
54233
54234         * modules/floor: New file.
54235         * m4/floor.m4: New file.
54236         * doc/functions/floor.texi: Mention the 'floor' module.
54237
54238 2007-10-20  Bruno Haible  <bruno@clisp.org>
54239
54240         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
54241         of %a.
54242         * modules/floorf-tests (Depends-on): Likewise.
54243         * modules/truncf-tests (Depends-on): Likewise.
54244         * modules/trunc-tests (Depends-on): Likewise.
54245         Reported by Ben Pfaff.
54246
54247 2007-10-19  Jim Meyering  <meyering@redhat.com>
54248
54249         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
54250         Don't bother testing specific errno values.  Just test ferror.
54251
54252         New module: xprintf
54253         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
54254
54255 2007-10-19  Bruno Haible  <bruno@clisp.org>
54256
54257         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
54258         syntax.
54259         * modules/javaexec (Makefile.am): Likewise.
54260         * modules/relocatable-prog (Makefile.am): Likewise.
54261         Suggested by Jim Meyering.
54262
54263 2007-10-18  Bruno Haible  <bruno@clisp.org>
54264
54265         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
54266         Reported by Jim Meyering.
54267
54268 2007-10-18  Eric Blake  <ebb9@byu.net>
54269
54270         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
54271
54272 2007-10-18  Bruno Haible  <bruno@clisp.org>
54273
54274         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
54275         the format string into writable memory. Needed in Fortify conditions.
54276
54277 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
54278             Bruno Haible  <bruno@clisp.org>
54279
54280         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
54281         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
54282         * modules/trim (Depends-on): Add mbchar.
54283         (configure.ac): Add gl_FUNC_MBRTOWC.
54284         (Makefile.am): Augment lib_SOURCES.
54285
54286 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
54287
54288         Modify glob.c to use fstatat and dirfd, to simplify it.
54289         Suggested by Eric Blake.
54290         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
54291         Don't include <stdbool.h>; not used.
54292         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
54293         (link_exists_p): Simplify implementation, since we can now assume
54294         dirfd and fstatat.
54295         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
54296
54297 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54298
54299         * gnulib-tool (func_get_dependencies): Fix sed script to
54300         match only tests.
54301
54302 2007-10-17  Bruno Haible  <bruno@clisp.org>
54303
54304         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
54305         allow locale names without encoding suffix.
54306         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
54307         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54308
54309 2007-10-16  Bruno Haible  <bruno@clisp.org>
54310
54311         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
54312         * lib/getgroups.c (getgroups): Likewise.
54313         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
54314
54315 2007-10-16  Bruno Haible  <bruno@clisp.org>
54316
54317         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
54318         * modules/malloc-posix (License): Likewise.
54319         * modules/realloc-posix (License): Likewise.
54320         * modules/calloc-posix (License): Likewise.
54321         * modules/intprops (License): Change from GPL to LGPL, with
54322         Paul Eggert's approval.
54323
54324 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54325
54326         Merge glibc changes into lib/glob.c.
54327
54328         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
54329         2007-10-15 04:59:03 UTC.  Here are the changes:
54330
54331         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
54332
54333         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
54334
54335         * lib/glob.c: Add some branch prediction throughout.
54336
54337         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
54338
54339         [BZ #5103]
54340         * lib/glob.c (glob): Recognize patterns starting \/.
54341
54342         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
54343
54344         [BZ #3996]
54345         * lib/glob.c (attribute_hidden): Define if not defined.
54346         (glob): Unescape dirname, filename or username when needed and not
54347         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
54348         is NULL.  Handle unescaped [ in pattern without closing ].
54349         Don't pass GLOB_CHECK down to recursive glob for directories.
54350         (__glob_pattern_type): New function.
54351         (__glob_pattern_p): Implement using __glob_pattern_type.
54352         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
54353         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
54354         Remove unreachable code.
54355
54356         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
54357
54358         * lib/glob.c (glob_in_dir): Add some comments and asserts to
54359         explain why there are no leaks.
54360
54361         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
54362
54363         [BZ #3253]
54364         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
54365         time, rather allocate increasingly bigger arrays of pointers, if
54366         possible with alloca, if too large with malloc.
54367
54368 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54369
54370         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
54371         Problem reported by H.Merijn Brand in
54372         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
54373         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
54374         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
54375
54376 2007-10-15  Bruno Haible  <bruno@clisp.org>
54377
54378         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
54379         with explicit rpl_ prefix.
54380         * lib/fopen.c (fopen): Likewise.
54381         * lib/freopen.c (freopen): Likewise.
54382         * lib/iconv.c (iconv): Likewise.
54383         * lib/iconv_close.c (iconv_close): Likewise.
54384
54385 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54386
54387         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
54388
54389 2007-10-15  Bruno Haible  <bruno@clisp.org>
54390
54391         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
54392         <stddef.h> instead of <stdlib.h> since we only need NULL.
54393         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54394
54395 2007-10-15  Bruno Haible  <bruno@clisp.org>
54396
54397         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
54398         Replace paragraph talking about LIBOBJS.
54399         Reported by Colin Watson <cjwatson@debian.org>.
54400
54401 2007-10-15  Bruno Haible  <bruno@clisp.org>
54402
54403         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
54404         <stdlib.h> before using NULL.
54405
54406 2007-10-15  Simon Josefsson  <simon@josefsson.org>
54407
54408         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
54409         Reported by Albert Chin <china@thewrittenword.com>.
54410
54411 2007-10-14  Bruno Haible  <bruno@clisp.org>
54412
54413         * modules/iconv_open-utf-tests: New file.
54414         * tests/test-iconv-utf.c: New file.
54415
54416         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
54417         * modules/iconv_open-utf: New file.
54418         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
54419         (iconv, iconv_close): New declarations.
54420         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
54421         be defined.
54422         (iconv_open): Add special handling of conversion between UTF-8 and
54423         UTF-{16,32}{BE,LE}.
54424         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
54425         * lib/iconv_close.c: New file.
54426         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
54427         gl_FUNC_ICONV_OPEN.
54428         (gl_FUNC_ICONV_OPEN): Use it.
54429         (gl_FUNC_ICONV_OPEN_UTF): New macro.
54430         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
54431         and REPLACE_ICONV_UTF.
54432         * modules/iconv_open (Depends-on): Add c-strcase.
54433         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
54434         ICONV_CONST.
54435         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
54436
54437 2007-10-13  Albert Chin  <china@thewrittenword.com>
54438             Bruno Haible  <bruno@clisp.org>
54439
54440         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
54441         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
54442
54443 2007-10-13  Bruno Haible  <bruno@clisp.org>
54444
54445         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
54446         defined, use the ISO C99 inline semantics.
54447         * lib/argp.h (ARGP_EI): Likewise.
54448
54449 2007-10-13  Bruno Haible  <bruno@clisp.org>
54450
54451         Handle 'inline' change in gcc 4.3.0.
54452         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
54453         argp_fmtstream_write, argp_fmtstream_set_lmargin,
54454         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
54455         argp_fmtstream_point): Disable 'extern' declaration if the function
54456         definition is going to be provided inline.
54457         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
54458         semantics, not the ISO C99 inline semantics.
54459         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
54460         'extern' declaration if the function definition is going to be provided
54461         inline.
54462         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
54463         the GNU C inline semantics, not the ISO C99 inline semantics. With
54464         GCC 4.2, avoid a warning.
54465
54466 2007-10-13  Bruno Haible  <bruno@clisp.org>
54467
54468         * lib/freading.h (freading): Enable the use of __freading for
54469         glibc >= 2.7.
54470         * lib/freading.c (freading): Likewise.
54471
54472 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
54473
54474         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
54475         "warning: C99 inline functions are not supported; using GNU89".
54476
54477 2007-10-12  Bruno Haible  <bruno@clisp.org>
54478
54479         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
54480         of 2.
54481         * tests/test-ceilf2.c: New file.
54482         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
54483
54484         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
54485         * modules/ceilf-tests: Update.
54486
54487 2007-10-12  Bruno Haible  <bruno@clisp.org>
54488
54489         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
54490         of 2.
54491         * tests/test-floorf2.c: New file.
54492         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
54493
54494         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
54495         * modules/floorf-tests: Update.
54496
54497 2007-10-12  Bruno Haible  <bruno@clisp.org>
54498
54499         * tests/test-trunc2.c: New file.
54500         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
54501
54502         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
54503         * modules/trunc-tests: Update.
54504
54505 2007-10-12  Bruno Haible  <bruno@clisp.org>
54506
54507         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
54508         of 2.
54509         * tests/test-truncf2.c: New file.
54510         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
54511
54512         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
54513         * modules/truncf-tests: Update.
54514
54515 2007-10-11  Eric Blake  <ebb9@byu.net>
54516
54517         Don't claim strerror is broken on Interix.
54518         * doc/functions/strerror.texi (strerror): Known broken systems are
54519         now Solaris 8, and not Interix.
54520         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
54521         Interix on cross-compile.
54522         Reported by Martin Koeppe in
54523         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
54524
54525 2007-10-11  Bruno Haible  <bruno@clisp.org>
54526
54527         * modules/i-ring-tests: New file.
54528         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
54529         instead of assert.
54530
54531 2007-10-11  Bruno Haible  <bruno@clisp.org>
54532
54533         * modules/filenamecat-tests: New file.
54534         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
54535         * lib/filenamecat.c: Remove test code.
54536
54537 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
54538
54539         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
54540
54541         * lib/strerror.c: Include <string.h> always, to test interface,
54542         and to remove the need for the dummy.
54543         Include intprops.h to compute width instead of doing it ourselves
54544         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
54545         (strerror): Define it to return NULL if there's no system strerror.
54546         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
54547         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
54548         ancient pre-strerror Unix systems well any more.  Saying "unknown
54549         system error" is enough.
54550         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
54551         simpler strerror.c implementation.
54552         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
54553         Simplify the tests to reflect the simpler strerror implementation.
54554         * modules/strerror (Depends-on): Add intprops.
54555
54556 2007-10-09  Eric Blake  <ebb9@byu.net>
54557
54558         Silence test-fpending.
54559         * modules/fpending-tests (Files): Add wrapper script.
54560         * tests/test-fpending.sh: New file.
54561
54562 2007-10-09  Bruno Haible  <bruno@clisp.org>
54563
54564         * MODULES.html.sh (func_module): Don't create a hyperlink for
54565         function names like 'printf_frexp'.
54566         (Misc): Add crc, memxor.
54567         (Characteristics of floating types): New section.
54568         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
54569         isnanf-nolibm, signbit, trunc, truncf, truncl.
54570         (Enhancements for ISO C 99 functions): New subsection Input/output.
54571         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
54572         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
54573         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
54574         (Compatibility checks for POSIX:2001 functions): Add clock-time.
54575         (Enhancements for POSIX:2001 functions): Add chdir-long.
54576         (File system functions): Add areadlink, chdir-safer, read-file.
54577         Remove cycle-check.
54578         (File system as inode set): New section.
54579         (Date and time): Add gethrxtime.
54580         (Multithreading): Add openmp.
54581         (Internationalization functions): Add localename.
54582         (Unicode string functions): Add unistr/u*-mbsnlen.
54583         (Support for maintaining and releasing projects): Add git-version-gen.
54584         (Lone files): Remove directories.
54585
54586 2007-10-08  Ben Pfaff  <blp@gnu.org>
54587
54588         * lib/xmalloca.h: Fix typo in comment.
54589
54590 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
54591
54592         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
54593         when avoiding problems with integer overflow.  Use a portable test
54594         instead.
54595
54596 2007-10-08  Simon Josefsson  <simon@josefsson.org>
54597
54598         * modules/dummy (License): Change to LGPLv2+.
54599         * modules/float (License): Likewise
54600         * modules/realloc (License): Likewise
54601         * modules/stdlib (License): Likewise
54602
54603 2007-10-07  Bruno Haible  <bruno@clisp.org>
54604
54605         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
54606         * floor.c (TWO_MANT_DIG): Likewise.
54607         * ceil.c (TWO_MANT_DIG): Likewise.
54608         Reported by Ben Pfaff.
54609
54610 2007-10-07  Bruno Haible  <bruno@clisp.org>
54611
54612         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
54613         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
54614         * lib/frexp.c (FUNC): Likewise.
54615         * lib/printf-frexp.h (printf_frexp): Likewise.
54616         * lib/printf-frexpl.h (printf_frexpl): Likewise.
54617         * lib/printf-frexp.c (FUNC): Likewise.
54618         Suggested by Jim Meyering.
54619
54620 2007-10-07  Jim Meyering  <meyering@redhat.com>
54621
54622         Make xnanosleep's integer overflow test more robust.
54623         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
54624         so that gcc-4.3.0 doesn't optimize away this test for overflow.
54625
54626 2007-10-07  Bruno Haible  <bruno@clisp.org>
54627
54628         * NEWS: Mention the license change.
54629
54630         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
54631         abbreviations in the modules files.
54632
54633         Change copyright notice from GPLv2+ to GPLv3+.
54634         * README: Change copyright notice.
54635         * MODULES.html.sh: Likewise.
54636         * build-aux/bootstrap.conf: Likewise.
54637         * build-aux/config.libpath: Likewise.
54638         * build-aux/csharpcomp.sh.in: Likewise.
54639         * build-aux/csharpexec.sh.in: Likewise.
54640         * build-aux/install-reloc: Likewise.
54641         * build-aux/javacomp.sh.in: Likewise.
54642         * build-aux/javaexec.sh.in: Likewise.
54643         * build-aux/ldd.sh.in: Likewise.
54644         * build-aux/reloc-ldflags: Likewise.
54645         * build-aux/relocatable.sh.in: Likewise.
54646         * build-aux/x-to-1.in: Likewise.
54647         * check-module: Likewise.
54648         * config/srclistvars.sh: Likewise.
54649         * gnulib-tool: Likewise.
54650         * lib/acl-internal.h: Likewise.
54651         * lib/acl.c: Likewise.
54652         * lib/acl.h: Likewise.
54653         * lib/acl_entries.c: Likewise.
54654         * lib/areadlink-with-size.c: Likewise.
54655         * lib/areadlink.c: Likewise.
54656         * lib/areadlink.h: Likewise.
54657         * lib/argmatch.c: Likewise.
54658         * lib/argmatch.h: Likewise.
54659         * lib/argp-ba.c: Likewise.
54660         * lib/argp-eexst.c: Likewise.
54661         * lib/argp-fmtstream.c: Likewise.
54662         * lib/argp-fmtstream.h: Likewise.
54663         * lib/argp-fs-xinl.c: Likewise.
54664         * lib/argp-help.c: Likewise.
54665         * lib/argp-namefrob.h: Likewise.
54666         * lib/argp-parse.c: Likewise.
54667         * lib/argp-pin.c: Likewise.
54668         * lib/argp-pv.c: Likewise.
54669         * lib/argp-pvh.c: Likewise.
54670         * lib/argp-xinl.c: Likewise.
54671         * lib/argp.h: Likewise.
54672         * lib/at-func.c: Likewise.
54673         * lib/atanl.c: Likewise.
54674         * lib/backupfile.c: Likewise.
54675         * lib/backupfile.h: Likewise.
54676         * lib/basename.c: Likewise.
54677         * lib/binary-io.h: Likewise.
54678         * lib/byteswap.in.h: Likewise.
54679         * lib/c-stack.c: Likewise.
54680         * lib/c-stack.h: Likewise.
54681         * lib/c-strcasestr.c: Likewise.
54682         * lib/c-strcasestr.h: Likewise.
54683         * lib/c-strstr.c: Likewise.
54684         * lib/c-strstr.h: Likewise.
54685         * lib/c-strtod.c: Likewise.
54686         * lib/calloc.c: Likewise.
54687         * lib/canon-host.c: Likewise.
54688         * lib/canon-host.h: Likewise.
54689         * lib/canonicalize-lgpl.c: Likewise.
54690         * lib/canonicalize.c: Likewise.
54691         * lib/canonicalize.h: Likewise.
54692         * lib/ceil.c: Likewise.
54693         * lib/ceilf.c: Likewise.
54694         * lib/ceill.c: Likewise.
54695         * lib/chdir-long.c: Likewise.
54696         * lib/chdir-long.h: Likewise.
54697         * lib/chdir-safer.c: Likewise.
54698         * lib/chdir-safer.h: Likewise.
54699         * lib/chown.c: Likewise.
54700         * lib/classpath.c: Likewise.
54701         * lib/classpath.h: Likewise.
54702         * lib/clean-temp.c: Likewise.
54703         * lib/clean-temp.h: Likewise.
54704         * lib/cloexec.c: Likewise.
54705         * lib/close-stream.c: Likewise.
54706         * lib/closein.c: Likewise.
54707         * lib/closein.h: Likewise.
54708         * lib/closeout.c: Likewise.
54709         * lib/closeout.h: Likewise.
54710         * lib/concat-filename.c: Likewise.
54711         * lib/copy-file.c: Likewise.
54712         * lib/copy-file.h: Likewise.
54713         * lib/count-one-bits.h: Likewise.
54714         * lib/crc.c: Likewise.
54715         * lib/crc.h: Likewise.
54716         * lib/creat-safer.c: Likewise.
54717         * lib/csharpcomp.c: Likewise.
54718         * lib/csharpcomp.h: Likewise.
54719         * lib/csharpexec.c: Likewise.
54720         * lib/csharpexec.h: Likewise.
54721         * lib/cycle-check.c: Likewise.
54722         * lib/cycle-check.h: Likewise.
54723         * lib/diacrit.c: Likewise.
54724         * lib/diacrit.h: Likewise.
54725         * lib/diffseq.h: Likewise.
54726         * lib/dirchownmod.c: Likewise.
54727         * lib/dirent.in.h: Likewise.
54728         * lib/dirfd.c: Likewise.
54729         * lib/dirfd.h: Likewise.
54730         * lib/dirname.c: Likewise.
54731         * lib/dirname.h: Likewise.
54732         * lib/dummy.c: Likewise.
54733         * lib/dup-safer.c: Likewise.
54734         * lib/dup2.c: Likewise.
54735         * lib/eealloc.h: Likewise.
54736         * lib/error.c: Likewise.
54737         * lib/error.h: Likewise.
54738         * lib/euidaccess.c: Likewise.
54739         * lib/exclude.c: Likewise.
54740         * lib/exclude.h: Likewise.
54741         * lib/execute.c: Likewise.
54742         * lib/execute.h: Likewise.
54743         * lib/exitfail.c: Likewise.
54744         * lib/exitfail.h: Likewise.
54745         * lib/expl.c: Likewise.
54746         * lib/fatal-signal.c: Likewise.
54747         * lib/fatal-signal.h: Likewise.
54748         * lib/fbufmode.c: Likewise.
54749         * lib/fbufmode.h: Likewise.
54750         * lib/fchdir.c: Likewise.
54751         * lib/fchmodat.c: Likewise.
54752         * lib/fchownat.c: Likewise.
54753         * lib/fcntl--.h: Likewise.
54754         * lib/fcntl-safer.h: Likewise.
54755         * lib/fcntl.in.h: Likewise.
54756         * lib/fd-safer.c: Likewise.
54757         * lib/fflush.c: Likewise.
54758         * lib/file-has-acl.c: Likewise.
54759         * lib/file-set.c: Likewise.
54760         * lib/file-type.c: Likewise.
54761         * lib/file-type.h: Likewise.
54762         * lib/fileblocks.c: Likewise.
54763         * lib/filemode.c: Likewise.
54764         * lib/filemode.h: Likewise.
54765         * lib/filename.h: Likewise.
54766         * lib/filenamecat.c: Likewise.
54767         * lib/filenamecat.h: Likewise.
54768         * lib/findprog.c: Likewise.
54769         * lib/findprog.h: Likewise.
54770         * lib/float.in.h: Likewise.
54771         * lib/floor.c: Likewise.
54772         * lib/floorf.c: Likewise.
54773         * lib/floorl.c: Likewise.
54774         * lib/fopen-safer.c: Likewise.
54775         * lib/fopen.c: Likewise.
54776         * lib/fpending.c: Likewise.
54777         * lib/fpending.h: Likewise.
54778         * lib/fprintf.c: Likewise.
54779         * lib/fprintftime.h: Likewise.
54780         * lib/fpucw.h: Likewise.
54781         * lib/fpurge.c: Likewise.
54782         * lib/fpurge.h: Likewise.
54783         * lib/freadable.c: Likewise.
54784         * lib/freadable.h: Likewise.
54785         * lib/freadahead.c: Likewise.
54786         * lib/freadahead.h: Likewise.
54787         * lib/freading.c: Likewise.
54788         * lib/freading.h: Likewise.
54789         * lib/free.c: Likewise.
54790         * lib/freopen.c: Likewise.
54791         * lib/frexp.c: Likewise.
54792         * lib/frexpl.c: Likewise.
54793         * lib/fseek.c: Likewise.
54794         * lib/fseterr.c: Likewise.
54795         * lib/fseterr.h: Likewise.
54796         * lib/fstatat.c: Likewise.
54797         * lib/fstrcmp.c: Likewise.
54798         * lib/fstrcmp.h: Likewise.
54799         * lib/fsusage.c: Likewise.
54800         * lib/fsusage.h: Likewise.
54801         * lib/ftell.c: Likewise.
54802         * lib/ftello.c: Likewise.
54803         * lib/fts-cycle.c: Likewise.
54804         * lib/fts.c: Likewise.
54805         * lib/fts_.h: Likewise.
54806         * lib/full-read.c: Likewise.
54807         * lib/full-read.h: Likewise.
54808         * lib/full-write.c: Likewise.
54809         * lib/full-write.h: Likewise.
54810         * lib/fwritable.c: Likewise.
54811         * lib/fwritable.h: Likewise.
54812         * lib/fwriteerror.c: Likewise.
54813         * lib/fwriteerror.h: Likewise.
54814         * lib/fwriting.c: Likewise.
54815         * lib/fwriting.h: Likewise.
54816         * lib/gcd.c: Likewise.
54817         * lib/gcd.h: Likewise.
54818         * lib/getcwd.c: Likewise.
54819         * lib/getdate.h: Likewise.
54820         * lib/getdate.y: Likewise.
54821         * lib/getdomainname.c: Likewise.
54822         * lib/getdomainname.h: Likewise.
54823         * lib/getgroups.c: Likewise.
54824         * lib/gethostname.c: Likewise.
54825         * lib/gethrxtime.c: Likewise.
54826         * lib/gethrxtime.h: Likewise.
54827         * lib/getloadavg.c: Likewise.
54828         * lib/getndelim2.c: Likewise.
54829         * lib/getndelim2.h: Likewise.
54830         * lib/getnline.c: Likewise.
54831         * lib/getnline.h: Likewise.
54832         * lib/getopt.c: Likewise.
54833         * lib/getopt.in.h: Likewise.
54834         * lib/getopt1.c: Likewise.
54835         * lib/getopt_int.h: Likewise.
54836         * lib/getpagesize.h: Likewise.
54837         * lib/getsubopt.c: Likewise.
54838         * lib/gettime.c: Likewise.
54839         * lib/getugroups.c: Likewise.
54840         * lib/getugroups.h: Likewise.
54841         * lib/getusershell.c: Likewise.
54842         * lib/gl_anyavltree_list1.h: Likewise.
54843         * lib/gl_anyavltree_list2.h: Likewise.
54844         * lib/gl_anyhash_list1.h: Likewise.
54845         * lib/gl_anyhash_list2.h: Likewise.
54846         * lib/gl_anylinked_list1.h: Likewise.
54847         * lib/gl_anylinked_list2.h: Likewise.
54848         * lib/gl_anyrbtree_list1.h: Likewise.
54849         * lib/gl_anyrbtree_list2.h: Likewise.
54850         * lib/gl_anytree_list1.h: Likewise.
54851         * lib/gl_anytree_list2.h: Likewise.
54852         * lib/gl_anytree_oset.h: Likewise.
54853         * lib/gl_anytreehash_list1.h: Likewise.
54854         * lib/gl_anytreehash_list2.h: Likewise.
54855         * lib/gl_array_list.c: Likewise.
54856         * lib/gl_array_list.h: Likewise.
54857         * lib/gl_array_oset.c: Likewise.
54858         * lib/gl_array_oset.h: Likewise.
54859         * lib/gl_avltree_list.c: Likewise.
54860         * lib/gl_avltree_list.h: Likewise.
54861         * lib/gl_avltree_oset.c: Likewise.
54862         * lib/gl_avltree_oset.h: Likewise.
54863         * lib/gl_avltreehash_list.c: Likewise.
54864         * lib/gl_avltreehash_list.h: Likewise.
54865         * lib/gl_carray_list.c: Likewise.
54866         * lib/gl_carray_list.h: Likewise.
54867         * lib/gl_linked_list.c: Likewise.
54868         * lib/gl_linked_list.h: Likewise.
54869         * lib/gl_linkedhash_list.c: Likewise.
54870         * lib/gl_linkedhash_list.h: Likewise.
54871         * lib/gl_list.c: Likewise.
54872         * lib/gl_list.h: Likewise.
54873         * lib/gl_oset.c: Likewise.
54874         * lib/gl_oset.h: Likewise.
54875         * lib/gl_rbtree_list.c: Likewise.
54876         * lib/gl_rbtree_list.h: Likewise.
54877         * lib/gl_rbtree_oset.c: Likewise.
54878         * lib/gl_rbtree_oset.h: Likewise.
54879         * lib/gl_rbtreehash_list.c: Likewise.
54880         * lib/gl_rbtreehash_list.h: Likewise.
54881         * lib/gl_sublist.c: Likewise.
54882         * lib/gl_sublist.h: Likewise.
54883         * lib/group-member.c: Likewise.
54884         * lib/group-member.h: Likewise.
54885         * lib/hard-locale.c: Likewise.
54886         * lib/hard-locale.h: Likewise.
54887         * lib/hash-pjw.c: Likewise.
54888         * lib/hash-pjw.h: Likewise.
54889         * lib/hash-triple.c: Likewise.
54890         * lib/hash.c: Likewise.
54891         * lib/hash.h: Likewise.
54892         * lib/human.c: Likewise.
54893         * lib/human.h: Likewise.
54894         * lib/i-ring.c: Likewise.
54895         * lib/i-ring.h: Likewise.
54896         * lib/idcache.c: Likewise.
54897         * lib/imaxabs.c: Likewise.
54898         * lib/imaxdiv.c: Likewise.
54899         * lib/inet_pton.c: Likewise.
54900         * lib/inet_pton.h: Likewise.
54901         * lib/intprops.h: Likewise.
54902         * lib/inttostr.c: Likewise.
54903         * lib/inttostr.h: Likewise.
54904         * lib/inttypes.in.h: Likewise.
54905         * lib/isapipe.c: Likewise.
54906         * lib/isdir.c: Likewise.
54907         * lib/isnan.c: Likewise.
54908         * lib/isnan.h: Likewise.
54909         * lib/isnanf.c: Likewise.
54910         * lib/isnanf.h: Likewise.
54911         * lib/isnanl-nolibm.h: Likewise.
54912         * lib/isnanl.c: Likewise.
54913         * lib/isnanl.h: Likewise.
54914         * lib/javacomp.c: Likewise.
54915         * lib/javacomp.h: Likewise.
54916         * lib/javaexec.c: Likewise.
54917         * lib/javaexec.h: Likewise.
54918         * lib/javaversion.c: Likewise.
54919         * lib/javaversion.h: Likewise.
54920         * lib/javaversion.java: Likewise.
54921         * lib/lbrkprop.h: Likewise.
54922         * lib/lchmod.h: Likewise.
54923         * lib/lchown.c: Likewise.
54924         * lib/ldexpl.c: Likewise.
54925         * lib/linebreak.c: Likewise.
54926         * lib/linebreak.h: Likewise.
54927         * lib/linebuffer.c: Likewise.
54928         * lib/linebuffer.h: Likewise.
54929         * lib/locale.in.h: Likewise.
54930         * lib/logl.c: Likewise.
54931         * lib/long-options.c: Likewise.
54932         * lib/long-options.h: Likewise.
54933         * lib/lstat.c: Likewise.
54934         * lib/lstat.h: Likewise.
54935         * lib/math.in.h: Likewise.
54936         * lib/mbchar.c: Likewise.
54937         * lib/mbchar.h: Likewise.
54938         * lib/mbfile.h: Likewise.
54939         * lib/mbiter.h: Likewise.
54940         * lib/mbscasecmp.c: Likewise.
54941         * lib/mbscasestr.c: Likewise.
54942         * lib/mbschr.c: Likewise.
54943         * lib/mbscspn.c: Likewise.
54944         * lib/mbslen.c: Likewise.
54945         * lib/mbsncasecmp.c: Likewise.
54946         * lib/mbsnlen.c: Likewise.
54947         * lib/mbspbrk.c: Likewise.
54948         * lib/mbspcasecmp.c: Likewise.
54949         * lib/mbsrchr.c: Likewise.
54950         * lib/mbssep.c: Likewise.
54951         * lib/mbsspn.c: Likewise.
54952         * lib/mbsstr.c: Likewise.
54953         * lib/mbstok_r.c: Likewise.
54954         * lib/mbswidth.c: Likewise.
54955         * lib/mbswidth.h: Likewise.
54956         * lib/mbuiter.h: Likewise.
54957         * lib/memcasecmp.c: Likewise.
54958         * lib/memcasecmp.h: Likewise.
54959         * lib/memchr.c: Likewise.
54960         * lib/memcmp.c: Likewise.
54961         * lib/memcoll.c: Likewise.
54962         * lib/memcoll.h: Likewise.
54963         * lib/memcpy.c: Likewise.
54964         * lib/memrchr.c: Likewise.
54965         * lib/mkancesdirs.c: Likewise.
54966         * lib/mkdir-p.c: Likewise.
54967         * lib/mkdir-p.h: Likewise.
54968         * lib/mkdir.c: Likewise.
54969         * lib/mkdirat.c: Likewise.
54970         * lib/mkdtemp.c: Likewise.
54971         * lib/mkstemp-safer.c: Likewise.
54972         * lib/mkstemp.c: Likewise.
54973         * lib/modechange.c: Likewise.
54974         * lib/modechange.h: Likewise.
54975         * lib/mountlist.c: Likewise.
54976         * lib/mountlist.h: Likewise.
54977         * lib/mpsort.c: Likewise.
54978         * lib/nanosleep.c: Likewise.
54979         * lib/obstack.c: Likewise.
54980         * lib/obstack.h: Likewise.
54981         * lib/open-safer.c: Likewise.
54982         * lib/open.c: Likewise.
54983         * lib/openat-die.c: Likewise.
54984         * lib/openat-priv.h: Likewise.
54985         * lib/openat-proc.c: Likewise.
54986         * lib/openat.c: Likewise.
54987         * lib/openat.h: Likewise.
54988         * lib/pagealign_alloc.c: Likewise.
54989         * lib/pagealign_alloc.h: Likewise.
54990         * lib/physmem.c: Likewise.
54991         * lib/physmem.h: Likewise.
54992         * lib/pipe-safer.c: Likewise.
54993         * lib/pipe.c: Likewise.
54994         * lib/pipe.h: Likewise.
54995         * lib/posixtm.c: Likewise.
54996         * lib/posixtm.h: Likewise.
54997         * lib/posixver.c: Likewise.
54998         * lib/printf-frexp.c: Likewise.
54999         * lib/printf-frexp.h: Likewise.
55000         * lib/printf-frexpl.c: Likewise.
55001         * lib/printf-frexpl.h: Likewise.
55002         * lib/printf.c: Likewise.
55003         * lib/progname.c: Likewise.
55004         * lib/progname.h: Likewise.
55005         * lib/progreloc.c: Likewise.
55006         * lib/putenv.c: Likewise.
55007         * lib/quote.c: Likewise.
55008         * lib/quote.h: Likewise.
55009         * lib/quotearg.c: Likewise.
55010         * lib/quotearg.h: Likewise.
55011         * lib/raise.c: Likewise.
55012         * lib/readline.c: Likewise.
55013         * lib/readline.h: Likewise.
55014         * lib/readlink.c: Likewise.
55015         * lib/readtokens.c: Likewise.
55016         * lib/readtokens.h: Likewise.
55017         * lib/readtokens0.c: Likewise.
55018         * lib/readtokens0.h: Likewise.
55019         * lib/readutmp.c: Likewise.
55020         * lib/readutmp.h: Likewise.
55021         * lib/realloc.c: Likewise.
55022         * lib/relocwrapper.c: Likewise.
55023         * lib/rename-dest-slash.c: Likewise.
55024         * lib/rename.c: Likewise.
55025         * lib/rmdir.c: Likewise.
55026         * lib/rpmatch.c: Likewise.
55027         * lib/safe-read.c: Likewise.
55028         * lib/safe-read.h: Likewise.
55029         * lib/safe-write.c: Likewise.
55030         * lib/safe-write.h: Likewise.
55031         * lib/same-inode.h: Likewise.
55032         * lib/same.c: Likewise.
55033         * lib/same.h: Likewise.
55034         * lib/save-cwd.c: Likewise.
55035         * lib/save-cwd.h: Likewise.
55036         * lib/savedir.c: Likewise.
55037         * lib/savedir.h: Likewise.
55038         * lib/savewd.c: Likewise.
55039         * lib/savewd.h: Likewise.
55040         * lib/search.in.h: Likewise.
55041         * lib/setenv.c: Likewise.
55042         * lib/setenv.h: Likewise.
55043         * lib/settime.c: Likewise.
55044         * lib/sh-quote.c: Likewise.
55045         * lib/sh-quote.h: Likewise.
55046         * lib/sig2str.c: Likewise.
55047         * lib/sig2str.h: Likewise.
55048         * lib/signal.in.h: Likewise.
55049         * lib/signbitd.c: Likewise.
55050         * lib/signbitf.c: Likewise.
55051         * lib/signbitl.c: Likewise.
55052         * lib/sigprocmask.c: Likewise.
55053         * lib/sincosl.c: Likewise.
55054         * lib/sleep.c: Likewise.
55055         * lib/sprintf.c: Likewise.
55056         * lib/sqrtl.c: Likewise.
55057         * lib/stat-time.h: Likewise.
55058         * lib/stdio--.h: Likewise.
55059         * lib/stdio-safer.h: Likewise.
55060         * lib/stdlib--.h: Likewise.
55061         * lib/stdlib-safer.h: Likewise.
55062         * lib/stdlib.in.h: Likewise.
55063         * lib/stpcpy.c: Likewise.
55064         * lib/stpncpy.c: Likewise.
55065         * lib/strchrnul.c: Likewise.
55066         * lib/strcspn.c: Likewise.
55067         * lib/strerror.c: Likewise.
55068         * lib/strftime.c: Likewise.
55069         * lib/strftime.h: Likewise.
55070         * lib/striconveh.c: Likewise.
55071         * lib/striconveh.h: Likewise.
55072         * lib/striconveha.c: Likewise.
55073         * lib/striconveha.h: Likewise.
55074         * lib/stripslash.c: Likewise.
55075         * lib/strnlen1.c: Likewise.
55076         * lib/strnlen1.h: Likewise.
55077         * lib/strtod.c: Likewise.
55078         * lib/strtoimax.c: Likewise.
55079         * lib/strtok_r.c: Likewise.
55080         * lib/strtol.c: Likewise.
55081         * lib/strtoll.c: Likewise.
55082         * lib/strtoul.c: Likewise.
55083         * lib/strtoull.c: Likewise.
55084         * lib/sysexits.in.h: Likewise.
55085         * lib/tempname.c: Likewise.
55086         * lib/tempname.h: Likewise.
55087         * lib/timespec.h: Likewise.
55088         * lib/tls.c: Likewise.
55089         * lib/tls.h: Likewise.
55090         * lib/tmpdir.c: Likewise.
55091         * lib/tmpdir.h: Likewise.
55092         * lib/tmpfile-safer.c: Likewise.
55093         * lib/tmpfile.c: Likewise.
55094         * lib/trigl.c: Likewise.
55095         * lib/trigl.h: Likewise.
55096         * lib/trim.c: Likewise.
55097         * lib/trim.h: Likewise.
55098         * lib/trunc.c: Likewise.
55099         * lib/truncf.c: Likewise.
55100         * lib/truncl.c: Likewise.
55101         * lib/tsearch.c: Likewise.
55102         * lib/unicodeio.c: Likewise.
55103         * lib/unicodeio.h: Likewise.
55104         * lib/unistd--.h: Likewise.
55105         * lib/unistd-safer.h: Likewise.
55106         * lib/unistdio/ulc-fprintf.c: Likewise.
55107         * lib/unistdio/ulc-vfprintf.c: Likewise.
55108         * lib/unlinkdir.c: Likewise.
55109         * lib/unlinkdir.h: Likewise.
55110         * lib/unlocked-io.h: Likewise.
55111         * lib/unsetenv.c: Likewise.
55112         * lib/userspec.c: Likewise.
55113         * lib/utime.c: Likewise.
55114         * lib/utimecmp.c: Likewise.
55115         * lib/utimecmp.h: Likewise.
55116         * lib/utimens.c: Likewise.
55117         * lib/verify.h: Likewise.
55118         * lib/verror.c: Likewise.
55119         * lib/verror.h: Likewise.
55120         * lib/version-etc-fsf.c: Likewise.
55121         * lib/version-etc.c: Likewise.
55122         * lib/version-etc.h: Likewise.
55123         * lib/vfprintf.c: Likewise.
55124         * lib/vprintf.c: Likewise.
55125         * lib/vsprintf.c: Likewise.
55126         * lib/w32spawn.h: Likewise.
55127         * lib/wait-process.c: Likewise.
55128         * lib/wait-process.h: Likewise.
55129         * lib/wcwidth.c: Likewise.
55130         * lib/write-any-file.c: Likewise.
55131         * lib/xalloc-die.c: Likewise.
55132         * lib/xalloc.h: Likewise.
55133         * lib/xasprintf.c: Likewise.
55134         * lib/xgetcwd.c: Likewise.
55135         * lib/xgetcwd.h: Likewise.
55136         * lib/xgetdomainname.c: Likewise.
55137         * lib/xgetdomainname.h: Likewise.
55138         * lib/xgethostname.c: Likewise.
55139         * lib/xmalloc.c: Likewise.
55140         * lib/xmalloca.c: Likewise.
55141         * lib/xmalloca.h: Likewise.
55142         * lib/xmemcoll.c: Likewise.
55143         * lib/xnanosleep.c: Likewise.
55144         * lib/xreadlink.c: Likewise.
55145         * lib/xreadlink.h: Likewise.
55146         * lib/xsetenv.c: Likewise.
55147         * lib/xsetenv.h: Likewise.
55148         * lib/xstriconv.c: Likewise.
55149         * lib/xstriconv.h: Likewise.
55150         * lib/xstrndup.c: Likewise.
55151         * lib/xstrndup.h: Likewise.
55152         * lib/xstrtod.c: Likewise.
55153         * lib/xstrtod.h: Likewise.
55154         * lib/xstrtol-error.c: Likewise.
55155         * lib/xstrtol.c: Likewise.
55156         * lib/xstrtol.h: Likewise.
55157         * lib/xtime.h: Likewise.
55158         * lib/xvasprintf.c: Likewise.
55159         * lib/xvasprintf.h: Likewise.
55160         * lib/yesno.c: Likewise.
55161         * lib/yesno.h: Likewise.
55162         * posix-modules: Likewise.
55163         * tests/test-alloca-opt.c: Likewise.
55164         * tests/test-arcfour.c: Likewise.
55165         * tests/test-arctwo.c: Likewise.
55166         * tests/test-argmatch.c: Likewise.
55167         * tests/test-argp-2.sh: Likewise.
55168         * tests/test-argp.c: Likewise.
55169         * tests/test-arpa_inet.c: Likewise.
55170         * tests/test-array_list.c: Likewise.
55171         * tests/test-array_oset.c: Likewise.
55172         * tests/test-atexit.c: Likewise.
55173         * tests/test-avltree_list.c: Likewise.
55174         * tests/test-avltree_oset.c: Likewise.
55175         * tests/test-avltreehash_list.c: Likewise.
55176         * tests/test-base64.c: Likewise.
55177         * tests/test-binary-io.c: Likewise.
55178         * tests/test-byteswap.c: Likewise.
55179         * tests/test-c-ctype.c: Likewise.
55180         * tests/test-c-strcasecmp.c: Likewise.
55181         * tests/test-c-strcasestr.c: Likewise.
55182         * tests/test-c-strncasecmp.c: Likewise.
55183         * tests/test-c-strstr.c: Likewise.
55184         * tests/test-canonicalize-lgpl.c: Likewise.
55185         * tests/test-canonicalize.c: Likewise.
55186         * tests/test-carray_list.c: Likewise.
55187         * tests/test-ceilf.c: Likewise.
55188         * tests/test-ceill.c: Likewise.
55189         * tests/test-count-one-bits.c: Likewise.
55190         * tests/test-crc.c: Likewise.
55191         * tests/test-dirname.c: Likewise.
55192         * tests/test-fbufmode.c: Likewise.
55193         * tests/test-fcntl.c: Likewise.
55194         * tests/test-fflush.c: Likewise.
55195         * tests/test-floorf.c: Likewise.
55196         * tests/test-floorl.c: Likewise.
55197         * tests/test-fopen.c: Likewise.
55198         * tests/test-fprintf-posix.c: Likewise.
55199         * tests/test-fprintf-posix.h: Likewise.
55200         * tests/test-fpurge.c: Likewise.
55201         * tests/test-freadable.c: Likewise.
55202         * tests/test-freadahead.c: Likewise.
55203         * tests/test-freading.c: Likewise.
55204         * tests/test-freopen.c: Likewise.
55205         * tests/test-frexp.c: Likewise.
55206         * tests/test-frexpl.c: Likewise.
55207         * tests/test-fseek.c: Likewise.
55208         * tests/test-fseeko.c: Likewise.
55209         * tests/test-fseterr.c: Likewise.
55210         * tests/test-fstrcmp.c: Likewise.
55211         * tests/test-ftell.c: Likewise.
55212         * tests/test-ftello.c: Likewise.
55213         * tests/test-fwritable.c: Likewise.
55214         * tests/test-fwriting.c: Likewise.
55215         * tests/test-getaddrinfo.c: Likewise.
55216         * tests/test-getpass.c: Likewise.
55217         * tests/test-gettimeofday.c: Likewise.
55218         * tests/test-hmac-md5.c: Likewise.
55219         * tests/test-hmac-sha1.c: Likewise.
55220         * tests/test-iconv.c: Likewise.
55221         * tests/test-iconvme.c: Likewise.
55222         * tests/test-inttypes.c: Likewise.
55223         * tests/test-isnan.c: Likewise.
55224         * tests/test-isnanf.c: Likewise.
55225         * tests/test-isnanl-nolibm.c: Likewise.
55226         * tests/test-isnanl.c: Likewise.
55227         * tests/test-isnanl.h: Likewise.
55228         * tests/test-ldexpl.c: Likewise.
55229         * tests/test-linked_list.c: Likewise.
55230         * tests/test-linkedhash_list.c: Likewise.
55231         * tests/test-locale.c: Likewise.
55232         * tests/test-localename.c: Likewise.
55233         * tests/test-lock.c: Likewise.
55234         * tests/test-lseek.c: Likewise.
55235         * tests/test-malloca.c: Likewise.
55236         * tests/test-math.c: Likewise.
55237         * tests/test-mbscasecmp.c: Likewise.
55238         * tests/test-mbscasestr1.c: Likewise.
55239         * tests/test-mbscasestr2.c: Likewise.
55240         * tests/test-mbscasestr3.c: Likewise.
55241         * tests/test-mbscasestr4.c: Likewise.
55242         * tests/test-mbschr.c: Likewise.
55243         * tests/test-mbscspn.c: Likewise.
55244         * tests/test-mbsncasecmp.c: Likewise.
55245         * tests/test-mbspbrk.c: Likewise.
55246         * tests/test-mbspcasecmp.c: Likewise.
55247         * tests/test-mbsrchr.c: Likewise.
55248         * tests/test-mbsspn.c: Likewise.
55249         * tests/test-mbsstr1.c: Likewise.
55250         * tests/test-mbsstr2.c: Likewise.
55251         * tests/test-mbsstr3.c: Likewise.
55252         * tests/test-md5.c: Likewise.
55253         * tests/test-memmem.c: Likewise.
55254         * tests/test-netinet_in.c: Likewise.
55255         * tests/test-open.c: Likewise.
55256         * tests/test-printf-frexp.c: Likewise.
55257         * tests/test-printf-frexpl.c: Likewise.
55258         * tests/test-printf-posix.c: Likewise.
55259         * tests/test-printf-posix.h: Likewise.
55260         * tests/test-rbtree_list.c: Likewise.
55261         * tests/test-rbtree_oset.c: Likewise.
55262         * tests/test-rbtreehash_list.c: Likewise.
55263         * tests/test-read-file.c: Likewise.
55264         * tests/test-rijndael.c: Likewise.
55265         * tests/test-search.c: Likewise.
55266         * tests/test-signbit.c: Likewise.
55267         * tests/test-sleep.c: Likewise.
55268         * tests/test-snprintf-posix.c: Likewise.
55269         * tests/test-snprintf-posix.h: Likewise.
55270         * tests/test-snprintf.c: Likewise.
55271         * tests/test-sprintf-posix.c: Likewise.
55272         * tests/test-sprintf-posix.h: Likewise.
55273         * tests/test-stat-time.c: Likewise.
55274         * tests/test-stdbool.c: Likewise.
55275         * tests/test-stdint.c: Likewise.
55276         * tests/test-stdio.c: Likewise.
55277         * tests/test-stdlib.c: Likewise.
55278         * tests/test-stpncpy.c: Likewise.
55279         * tests/test-strcasestr.c: Likewise.
55280         * tests/test-striconv.c: Likewise.
55281         * tests/test-striconveh.c: Likewise.
55282         * tests/test-striconveha.c: Likewise.
55283         * tests/test-string.c: Likewise.
55284         * tests/test-sys_select.c: Likewise.
55285         * tests/test-sys_socket.c: Likewise.
55286         * tests/test-sys_stat.c: Likewise.
55287         * tests/test-sys_time.c: Likewise.
55288         * tests/test-sysexits.c: Likewise.
55289         * tests/test-time.c: Likewise.
55290         * tests/test-tls.c: Likewise.
55291         * tests/test-trunc.c: Likewise.
55292         * tests/test-truncf.c: Likewise.
55293         * tests/test-truncl.c: Likewise.
55294         * tests/test-unistd.c: Likewise.
55295         * tests/test-vasnprintf-posix.c: Likewise.
55296         * tests/test-vasnprintf-posix2.c: Likewise.
55297         * tests/test-vasnprintf.c: Likewise.
55298         * tests/test-vasprintf-posix.c: Likewise.
55299         * tests/test-vasprintf.c: Likewise.
55300         * tests/test-verify.c: Likewise.
55301         * tests/test-vfprintf-posix.c: Likewise.
55302         * tests/test-vprintf-posix.c: Likewise.
55303         * tests/test-vsnprintf-posix.c: Likewise.
55304         * tests/test-vsnprintf.c: Likewise.
55305         * tests/test-vsprintf-posix.c: Likewise.
55306         * tests/test-wchar.c: Likewise.
55307         * tests/test-wctype.c: Likewise.
55308         * tests/test-wcwidth.c: Likewise.
55309         * tests/test-xstrtol.c: Likewise.
55310         * tests/test-xvasprintf.c: Likewise.
55311         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
55312         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
55313         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
55314         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
55315         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
55316         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
55317         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
55318         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
55319         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
55320         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
55321         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
55322         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
55323         * tests/uniname/test-uninames.c: Likewise.
55324         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
55325         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
55326         * tests/unistdio/test-u16-printf1.h: Likewise.
55327         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
55328         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
55329         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
55330         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
55331         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
55332         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
55333         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
55334         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
55335         * tests/unistdio/test-u32-printf1.h: Likewise.
55336         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
55337         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
55338         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
55339         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
55340         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
55341         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
55342         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
55343         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
55344         * tests/unistdio/test-u8-printf1.h: Likewise.
55345         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
55346         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
55347         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
55348         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
55349         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
55350         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
55351         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
55352         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
55353         * tests/unistdio/test-ulc-printf1.h: Likewise.
55354         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
55355         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
55356         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
55357         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
55358         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
55359         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
55360         * tests/uniwidth/test-u16-strwidth.c: Likewise.
55361         * tests/uniwidth/test-u16-width.c: Likewise.
55362         * tests/uniwidth/test-u32-strwidth.c: Likewise.
55363         * tests/uniwidth/test-u32-width.c: Likewise.
55364         * tests/uniwidth/test-u8-strwidth.c: Likewise.
55365         * tests/uniwidth/test-u8-width.c: Likewise.
55366         * tests/uniwidth/test-uc_width.c: Likewise.
55367         * config/srclist-update: Likewise.
55368         (fixlicense): Update to GPLv3+.
55369
55370         Change copyright notice from LGPLv2.1+ to LGPLv3+.
55371         * tests/test-tsearch.c: Change copyright notice.
55372
55373         Change copyright notice from LGPLv2.0+ to LGPLv3+.
55374         * lib/c-strcaseeq.h: Change copyright notice.
55375         * lib/streq.h: Likewise.
55376         * lib/uniconv.h: Likewise.
55377         * lib/uniconv/u-conv-from-enc.h: Likewise.
55378         * lib/uniconv/u-conv-to-enc.h: Likewise.
55379         * lib/uniconv/u-strconv-from-enc.h: Likewise.
55380         * lib/uniconv/u-strconv-to-enc.h: Likewise.
55381         * lib/uniconv/u16-conv-from-enc.c: Likewise.
55382         * lib/uniconv/u16-conv-to-enc.c: Likewise.
55383         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
55384         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
55385         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
55386         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
55387         * lib/uniconv/u32-conv-from-enc.c: Likewise.
55388         * lib/uniconv/u32-conv-to-enc.c: Likewise.
55389         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
55390         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
55391         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
55392         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
55393         * lib/uniconv/u8-conv-from-enc.c: Likewise.
55394         * lib/uniconv/u8-conv-to-enc.c: Likewise.
55395         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
55396         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
55397         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
55398         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
55399         * lib/uniname.h: Likewise.
55400         * lib/uniname/uniname.c: Likewise.
55401         * lib/unistdio.h: Likewise.
55402         * lib/unistdio/u-asnprintf.h: Likewise.
55403         * lib/unistdio/u-asprintf.h: Likewise.
55404         * lib/unistdio/u-printf-args.c: Likewise.
55405         * lib/unistdio/u-printf-args.h: Likewise.
55406         * lib/unistdio/u-printf-parse.h: Likewise.
55407         * lib/unistdio/u-snprintf.h: Likewise.
55408         * lib/unistdio/u-sprintf.h: Likewise.
55409         * lib/unistdio/u-vasprintf.h: Likewise.
55410         * lib/unistdio/u-vsnprintf.h: Likewise.
55411         * lib/unistdio/u-vsprintf.h: Likewise.
55412         * lib/unistdio/u16-asnprintf.c: Likewise.
55413         * lib/unistdio/u16-asprintf.c: Likewise.
55414         * lib/unistdio/u16-printf-parse.c: Likewise.
55415         * lib/unistdio/u16-snprintf.c: Likewise.
55416         * lib/unistdio/u16-sprintf.c: Likewise.
55417         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
55418         * lib/unistdio/u16-u16-asprintf.c: Likewise.
55419         * lib/unistdio/u16-u16-snprintf.c: Likewise.
55420         * lib/unistdio/u16-u16-sprintf.c: Likewise.
55421         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
55422         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
55423         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
55424         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
55425         * lib/unistdio/u16-vasnprintf.c: Likewise.
55426         * lib/unistdio/u16-vasprintf.c: Likewise.
55427         * lib/unistdio/u16-vsnprintf.c: Likewise.
55428         * lib/unistdio/u16-vsprintf.c: Likewise.
55429         * lib/unistdio/u32-asnprintf.c: Likewise.
55430         * lib/unistdio/u32-asprintf.c: Likewise.
55431         * lib/unistdio/u32-printf-parse.c: Likewise.
55432         * lib/unistdio/u32-snprintf.c: Likewise.
55433         * lib/unistdio/u32-sprintf.c: Likewise.
55434         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
55435         * lib/unistdio/u32-u32-asprintf.c: Likewise.
55436         * lib/unistdio/u32-u32-snprintf.c: Likewise.
55437         * lib/unistdio/u32-u32-sprintf.c: Likewise.
55438         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
55439         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
55440         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
55441         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
55442         * lib/unistdio/u32-vasnprintf.c: Likewise.
55443         * lib/unistdio/u32-vasprintf.c: Likewise.
55444         * lib/unistdio/u32-vsnprintf.c: Likewise.
55445         * lib/unistdio/u32-vsprintf.c: Likewise.
55446         * lib/unistdio/u8-asnprintf.c: Likewise.
55447         * lib/unistdio/u8-asprintf.c: Likewise.
55448         * lib/unistdio/u8-printf-parse.c: Likewise.
55449         * lib/unistdio/u8-snprintf.c: Likewise.
55450         * lib/unistdio/u8-sprintf.c: Likewise.
55451         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
55452         * lib/unistdio/u8-u8-asprintf.c: Likewise.
55453         * lib/unistdio/u8-u8-snprintf.c: Likewise.
55454         * lib/unistdio/u8-u8-sprintf.c: Likewise.
55455         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
55456         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
55457         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
55458         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
55459         * lib/unistdio/u8-vasnprintf.c: Likewise.
55460         * lib/unistdio/u8-vasprintf.c: Likewise.
55461         * lib/unistdio/u8-vsnprintf.c: Likewise.
55462         * lib/unistdio/u8-vsprintf.c: Likewise.
55463         * lib/unistdio/ulc-asnprintf.c: Likewise.
55464         * lib/unistdio/ulc-asprintf.c: Likewise.
55465         * lib/unistdio/ulc-printf-parse.c: Likewise.
55466         * lib/unistdio/ulc-snprintf.c: Likewise.
55467         * lib/unistdio/ulc-sprintf.c: Likewise.
55468         * lib/unistdio/ulc-vasnprintf.c: Likewise.
55469         * lib/unistdio/ulc-vasprintf.c: Likewise.
55470         * lib/unistdio/ulc-vsnprintf.c: Likewise.
55471         * lib/unistdio/ulc-vsprintf.c: Likewise.
55472         * lib/unistr.h: Likewise.
55473         * lib/unistr/u-cpy-alloc.h: Likewise.
55474         * lib/unistr/u-cpy.h: Likewise.
55475         * lib/unistr/u-endswith.h: Likewise.
55476         * lib/unistr/u-move.h: Likewise.
55477         * lib/unistr/u-set.h: Likewise.
55478         * lib/unistr/u-startswith.h: Likewise.
55479         * lib/unistr/u-stpcpy.h: Likewise.
55480         * lib/unistr/u-stpncpy.h: Likewise.
55481         * lib/unistr/u-strcat.h: Likewise.
55482         * lib/unistr/u-strcpy.h: Likewise.
55483         * lib/unistr/u-strcspn.h: Likewise.
55484         * lib/unistr/u-strdup.h: Likewise.
55485         * lib/unistr/u-strlen.h: Likewise.
55486         * lib/unistr/u-strncat.h: Likewise.
55487         * lib/unistr/u-strncpy.h: Likewise.
55488         * lib/unistr/u-strnlen.h: Likewise.
55489         * lib/unistr/u-strpbrk.h: Likewise.
55490         * lib/unistr/u-strspn.h: Likewise.
55491         * lib/unistr/u-strstr.h: Likewise.
55492         * lib/unistr/u-strtok.h: Likewise.
55493         * lib/unistr/u16-check.c: Likewise.
55494         * lib/unistr/u16-chr.c: Likewise.
55495         * lib/unistr/u16-cmp.c: Likewise.
55496         * lib/unistr/u16-cpy-alloc.c: Likewise.
55497         * lib/unistr/u16-cpy.c: Likewise.
55498         * lib/unistr/u16-endswith.c: Likewise.
55499         * lib/unistr/u16-mblen.c: Likewise.
55500         * lib/unistr/u16-mbsnlen.c: Likewise.
55501         * lib/unistr/u16-mbtouc-aux.c: Likewise.
55502         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
55503         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
55504         * lib/unistr/u16-mbtouc.c: Likewise.
55505         * lib/unistr/u16-mbtoucr.c: Likewise.
55506         * lib/unistr/u16-move.c: Likewise.
55507         * lib/unistr/u16-next.c: Likewise.
55508         * lib/unistr/u16-prev.c: Likewise.
55509         * lib/unistr/u16-set.c: Likewise.
55510         * lib/unistr/u16-startswith.c: Likewise.
55511         * lib/unistr/u16-stpcpy.c: Likewise.
55512         * lib/unistr/u16-stpncpy.c: Likewise.
55513         * lib/unistr/u16-strcat.c: Likewise.
55514         * lib/unistr/u16-strchr.c: Likewise.
55515         * lib/unistr/u16-strcmp.c: Likewise.
55516         * lib/unistr/u16-strcpy.c: Likewise.
55517         * lib/unistr/u16-strcspn.c: Likewise.
55518         * lib/unistr/u16-strdup.c: Likewise.
55519         * lib/unistr/u16-strlen.c: Likewise.
55520         * lib/unistr/u16-strmblen.c: Likewise.
55521         * lib/unistr/u16-strmbtouc.c: Likewise.
55522         * lib/unistr/u16-strncat.c: Likewise.
55523         * lib/unistr/u16-strncmp.c: Likewise.
55524         * lib/unistr/u16-strncpy.c: Likewise.
55525         * lib/unistr/u16-strnlen.c: Likewise.
55526         * lib/unistr/u16-strpbrk.c: Likewise.
55527         * lib/unistr/u16-strrchr.c: Likewise.
55528         * lib/unistr/u16-strspn.c: Likewise.
55529         * lib/unistr/u16-strstr.c: Likewise.
55530         * lib/unistr/u16-strtok.c: Likewise.
55531         * lib/unistr/u16-to-u32.c: Likewise.
55532         * lib/unistr/u16-to-u8.c: Likewise.
55533         * lib/unistr/u16-uctomb-aux.c: Likewise.
55534         * lib/unistr/u16-uctomb.c: Likewise.
55535         * lib/unistr/u32-check.c: Likewise.
55536         * lib/unistr/u32-chr.c: Likewise.
55537         * lib/unistr/u32-cmp.c: Likewise.
55538         * lib/unistr/u32-cpy-alloc.c: Likewise.
55539         * lib/unistr/u32-cpy.c: Likewise.
55540         * lib/unistr/u32-endswith.c: Likewise.
55541         * lib/unistr/u32-mblen.c: Likewise.
55542         * lib/unistr/u32-mbsnlen.c: Likewise.
55543         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
55544         * lib/unistr/u32-mbtouc.c: Likewise.
55545         * lib/unistr/u32-mbtoucr.c: Likewise.
55546         * lib/unistr/u32-move.c: Likewise.
55547         * lib/unistr/u32-next.c: Likewise.
55548         * lib/unistr/u32-prev.c: Likewise.
55549         * lib/unistr/u32-set.c: Likewise.
55550         * lib/unistr/u32-startswith.c: Likewise.
55551         * lib/unistr/u32-stpcpy.c: Likewise.
55552         * lib/unistr/u32-stpncpy.c: Likewise.
55553         * lib/unistr/u32-strcat.c: Likewise.
55554         * lib/unistr/u32-strchr.c: Likewise.
55555         * lib/unistr/u32-strcmp.c: Likewise.
55556         * lib/unistr/u32-strcpy.c: Likewise.
55557         * lib/unistr/u32-strcspn.c: Likewise.
55558         * lib/unistr/u32-strdup.c: Likewise.
55559         * lib/unistr/u32-strlen.c: Likewise.
55560         * lib/unistr/u32-strmblen.c: Likewise.
55561         * lib/unistr/u32-strmbtouc.c: Likewise.
55562         * lib/unistr/u32-strncat.c: Likewise.
55563         * lib/unistr/u32-strncmp.c: Likewise.
55564         * lib/unistr/u32-strncpy.c: Likewise.
55565         * lib/unistr/u32-strnlen.c: Likewise.
55566         * lib/unistr/u32-strpbrk.c: Likewise.
55567         * lib/unistr/u32-strrchr.c: Likewise.
55568         * lib/unistr/u32-strspn.c: Likewise.
55569         * lib/unistr/u32-strstr.c: Likewise.
55570         * lib/unistr/u32-strtok.c: Likewise.
55571         * lib/unistr/u32-to-u16.c: Likewise.
55572         * lib/unistr/u32-to-u8.c: Likewise.
55573         * lib/unistr/u32-uctomb.c: Likewise.
55574         * lib/unistr/u8-check.c: Likewise.
55575         * lib/unistr/u8-chr.c: Likewise.
55576         * lib/unistr/u8-cmp.c: Likewise.
55577         * lib/unistr/u8-cpy-alloc.c: Likewise.
55578         * lib/unistr/u8-cpy.c: Likewise.
55579         * lib/unistr/u8-endswith.c: Likewise.
55580         * lib/unistr/u8-mblen.c: Likewise.
55581         * lib/unistr/u8-mbsnlen.c: Likewise.
55582         * lib/unistr/u8-mbtouc-aux.c: Likewise.
55583         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
55584         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
55585         * lib/unistr/u8-mbtouc.c: Likewise.
55586         * lib/unistr/u8-mbtoucr.c: Likewise.
55587         * lib/unistr/u8-move.c: Likewise.
55588         * lib/unistr/u8-next.c: Likewise.
55589         * lib/unistr/u8-prev.c: Likewise.
55590         * lib/unistr/u8-set.c: Likewise.
55591         * lib/unistr/u8-startswith.c: Likewise.
55592         * lib/unistr/u8-stpcpy.c: Likewise.
55593         * lib/unistr/u8-stpncpy.c: Likewise.
55594         * lib/unistr/u8-strcat.c: Likewise.
55595         * lib/unistr/u8-strchr.c: Likewise.
55596         * lib/unistr/u8-strcmp.c: Likewise.
55597         * lib/unistr/u8-strcpy.c: Likewise.
55598         * lib/unistr/u8-strcspn.c: Likewise.
55599         * lib/unistr/u8-strdup.c: Likewise.
55600         * lib/unistr/u8-strlen.c: Likewise.
55601         * lib/unistr/u8-strmblen.c: Likewise.
55602         * lib/unistr/u8-strmbtouc.c: Likewise.
55603         * lib/unistr/u8-strncat.c: Likewise.
55604         * lib/unistr/u8-strncmp.c: Likewise.
55605         * lib/unistr/u8-strncpy.c: Likewise.
55606         * lib/unistr/u8-strnlen.c: Likewise.
55607         * lib/unistr/u8-strpbrk.c: Likewise.
55608         * lib/unistr/u8-strrchr.c: Likewise.
55609         * lib/unistr/u8-strspn.c: Likewise.
55610         * lib/unistr/u8-strstr.c: Likewise.
55611         * lib/unistr/u8-strtok.c: Likewise.
55612         * lib/unistr/u8-to-u16.c: Likewise.
55613         * lib/unistr/u8-to-u32.c: Likewise.
55614         * lib/unistr/u8-uctomb-aux.c: Likewise.
55615         * lib/unistr/u8-uctomb.c: Likewise.
55616         * lib/unitypes.h: Likewise.
55617         * lib/uniwidth.h: Likewise.
55618         * lib/uniwidth/cjk.h: Likewise.
55619         * lib/uniwidth/u16-strwidth.c: Likewise.
55620         * lib/uniwidth/u16-width.c: Likewise.
55621         * lib/uniwidth/u32-strwidth.c: Likewise.
55622         * lib/uniwidth/u32-width.c: Likewise.
55623         * lib/uniwidth/u8-strwidth.c: Likewise.
55624         * lib/uniwidth/u8-width.c: Likewise.
55625         * lib/uniwidth/width.c: Likewise.
55626
55627 2007-10-07  Bruno Haible  <bruno@clisp.org>
55628
55629         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
55630         The file is still under LGPL (see modules/inttypes).
55631
55632 2007-10-06  Bruno Haible  <bruno@clisp.org>
55633
55634         * modules/trunc (Dependencies): Add 'extensions'.
55635         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
55636         Reported by Ben Pfaff <blp@gnu.org>.
55637
55638 2007-10-06  Bruno Haible  <bruno@clisp.org>
55639
55640         * modules/freopen-tests: New file.
55641         * tests/test-freopen.c: New file.
55642
55643         * modules/fopen-tests: New file.
55644         * tests/test-fopen.c: New file.
55645
55646         * modules/fopen: New file.
55647         * lib/fopen.c: New file.
55648         * m4/fopen.m4: New file.
55649         * modules/freopen: New file.
55650         * lib/freopen.c: New file.
55651         * m4/freopen.m4: New file.
55652         * lib/stdio.in.h (fopen, freopen): New declarations.
55653         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
55654         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
55655         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
55656         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
55657         * doc/functions/fopen.texi: Mention the 'fopen' module.
55658         * doc/functions/freopen.texi: Mention the 'freopen' module.
55659
55660 2007-10-06  Bruno Haible  <bruno@clisp.org>
55661
55662         * modules/open-tests: New file.
55663         * tests/test-open.c: New file.
55664
55665         * modules/open: New file.
55666         * lib/open.c: New file.
55667         * m4/open.m4: New file.
55668         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
55669         lib/open.c does.
55670         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
55671         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
55672         macros.
55673         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
55674         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
55675         REPLACE_OPEN.
55676         * doc/functions/open.texi: Mention the 'open' module.
55677
55678 2007-10-04  Bruno Haible  <bruno@clisp.org>
55679
55680         * modules/ceill-tests: New file.
55681         * tests/test-ceill.c: New file.
55682
55683         * modules/ceill: New file.
55684         * lib/ceill.c: Replace entire file.
55685         * m4/ceill.m4: New file.
55686         * lib/math.in.h (ceill): Replace declaration.
55687         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
55688         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
55689         * doc/functions/ceill.texi: Mention the 'ceill' module.
55690         * modules/mathl (Files): Remove lib/ceill.c.
55691         (Depends-on): Add ceill.
55692
55693 2007-10-04  Bruno Haible  <bruno@clisp.org>
55694
55695         * modules/ceilf-tests: New file.
55696         * tests/test-ceilf.c: New file.
55697
55698         * modules/ceilf: New file.
55699         * lib/ceil.c: New file.
55700         * lib/ceilf.c: New file.
55701         * m4/ceilf.m4: New file.
55702         * lib/math.in.h (ceilf): New declaration.
55703         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
55704         HAVE_DECL_CEILF.
55705         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
55706         HAVE_DECL_CEILF.
55707         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
55708
55709 2007-10-04  Bruno Haible  <bruno@clisp.org>
55710
55711         * modules/floorl-tests: New file.
55712         * tests/test-floorl.c: New file.
55713
55714         * modules/floorl: New file.
55715         * lib/floorl.c: Replace entire file.
55716         * m4/floorl.m4: New file.
55717         * lib/math.in.h (floorl): Replace declaration.
55718         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
55719         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
55720         * doc/functions/floorl.texi: Mention the 'floorl' module.
55721         * modules/mathl (Files): Remove lib/floorl.c.
55722         (Depends-on): Add floorl.
55723
55724 2007-10-04  Bruno Haible  <bruno@clisp.org>
55725
55726         * modules/floorf-tests: New file.
55727         * tests/test-floorf.c: New file.
55728
55729         * modules/floorf: New file.
55730         * lib/floor.c: New file.
55731         * lib/floorf.c: New file.
55732         * m4/floorf.m4: New file.
55733         * lib/math.in.h (floorf): New declaration.
55734         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
55735         HAVE_DECL_FLOORF.
55736         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
55737         HAVE_DECL_FLOORF.
55738         * doc/functions/floorf.texi: Mention the 'floorf' module.
55739
55740 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
55741             Bruno Haible  <bruno@clisp.org>
55742
55743         Advertise for the Git server instead of the CVS server.
55744         * doc/gnulib-intro.texi (Steady Development): Mention the Git
55745         repository instead of the CVS one.
55746         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
55747         about all VCS systems generically.
55748         * doc/gnulib.texi (Introduction): Capitalize `Git'.
55749
55750 2007-10-04  Bruno Haible  <bruno@clisp.org>
55751
55752         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
55753         means.
55754         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
55755
55756 2007-10-04  Bruno Haible  <bruno@clisp.org>
55757
55758         * modules/truncl-tests: New file.
55759         * tests/test-truncl.c: New file.
55760
55761         * modules/truncl: New file.
55762         * lib/truncl.c: New file.
55763         * m4/truncl.m4: New file.
55764         * lib/math.in.h (truncl): New declaration.
55765         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
55766         HAVE_DECL_TRUNCL.
55767         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
55768         HAVE_DECL_TRUNCL.
55769         * doc/functions/truncl.texi: Mention the 'truncl' module.
55770
55771 2007-10-04  Bruno Haible  <bruno@clisp.org>
55772
55773         * modules/truncf-tests: New file.
55774         * tests/test-truncf.c: New file.
55775
55776         * modules/truncf: New file.
55777         * lib/trunc.c: Make paramerizable through USE_* macros.
55778         * lib/truncf.c: New file.
55779         * m4/truncf.m4: New file.
55780         * lib/math.in.h (truncf): New declaration.
55781         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
55782         HAVE_DECL_TRUNCF.
55783         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
55784         HAVE_DECL_TRUNCF.
55785         * doc/functions/truncf.texi: Mention the 'truncf' module.
55786
55787 2007-10-03  Bruno Haible  <bruno@clisp.org>
55788
55789         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
55790         augmentation also for tests modules.
55791         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
55792         * modules/atexit-tests (Makefile.am): Likewise.
55793         * modules/binary-io-tests (Makefile.am): Likewise.
55794         * modules/c-strcase-tests (Makefile.am): Likewise.
55795         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
55796         * modules/canonicalize-tests (Makefile.am): Likewise.
55797         * modules/closein-tests (Makefile.am): Likewise.
55798         * modules/fprintf-posix-tests (Makefile.am): Likewise.
55799         * modules/freadahead-tests (Makefile.am): Likewise.
55800         * modules/fseek-tests (Makefile.am): Likewise.
55801         * modules/fseeko-tests (Makefile.am): Likewise.
55802         * modules/ftell-tests (Makefile.am): Likewise.
55803         * modules/ftello-tests (Makefile.am): Likewise.
55804         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
55805         * modules/isnanl-tests (Makefile.am): Likewise.
55806         * modules/lseek-tests (Makefile.am): Likewise.
55807         * modules/mbscasecmp-tests (Makefile.am): Likewise.
55808         * modules/mbscasestr-tests (Makefile.am): Likewise.
55809         * modules/mbschr-tests (Makefile.am): Likewise.
55810         * modules/mbscspn-tests (Makefile.am): Likewise.
55811         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
55812         * modules/mbspbrk-tests (Makefile.am): Likewise.
55813         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
55814         * modules/mbsrchr-tests (Makefile.am): Likewise.
55815         * modules/mbsspn-tests (Makefile.am): Likewise.
55816         * modules/mbsstr-tests (Makefile.am): Likewise.
55817         * modules/printf-posix-tests (Makefile.am): Likewise.
55818         * modules/snprintf-posix-tests (Makefile.am): Likewise.
55819         * modules/sprintf-posix-tests (Makefile.am): Likewise.
55820         * modules/tsearch-tests (Makefile.am): Likewise.
55821         * modules/uniname/uniname-tests (Makefile.am): Likewise.
55822         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
55823         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
55824         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
55825         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
55826         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
55827         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
55828         * modules/vprintf-posix-tests (Makefile.am): Likewise.
55829         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
55830         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
55831         * modules/xstrtoimax-tests (Makefile.am): Likewise.
55832         * modules/xstrtol-tests (Makefile.am): Likewise.
55833         * modules/xstrtoumax-tests (Makefile.am): Likewise.
55834         * modules/yesno-tests (Makefile.am): Likewise.
55835
55836 2007-10-03  Bruno Haible  <bruno@clisp.org>
55837
55838         * modules/trunc-tests: New file.
55839         * tests/test-trunc.c: New file.
55840
55841         * modules/trunc: New file.
55842         * lib/trunc.c: New file.
55843         * m4/trunc.m4: New file.
55844         * lib/math.in.h (trunc): New declaration.
55845         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
55846         HAVE_DECL_TRUNC.
55847         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
55848         HAVE_DECL_TRUNC.
55849         * doc/functions/trunc.texi: Mention the 'trunc' module.
55850
55851 2007-10-03  Bruno Haible  <bruno@clisp.org>
55852
55853         * tests/test-fpending.c: New file, mostly copied
55854         from coreutils/lib/t-fpending.c.
55855         * modules/fpending-tests: New file.
55856
55857 2007-10-03  Bruno Haible  <bruno@clisp.org>
55858
55859         Port the stdio extensions to QNX (untested).
55860         * lib/fseterr.c (fseterr): Add support for QNX.
55861         * lib/fbufmode.c (fbufmode): Likewise.
55862         * lib/freadable.c (freadable): Likewise.
55863         * lib/fwritable.c (fwritable): Likewise.
55864         * lib/freading.c (freading): Likewise.
55865         * lib/fwriting.c (fwriting): Likewise.
55866         * lib/freadahead.c (freadahed): Likewise.
55867         * lib/fpurge.c (fpurge): Likewise.
55868         * lib/fseeko.c (rpl_fseeko): Likewise.
55869
55870 2007-10-03  Bruno Haible  <bruno@clisp.org>
55871             Jim Meyering  <jim@meyering.net>
55872             Eric Blake  <ebb9@byu.net>
55873
55874         * doc/relocatable.texi: Use @command instead of @program.
55875
55876 2007-10-02  Jim Meyering  <jim@meyering.net>
55877
55878         Perform one more "_.h" -> ".in.h" substitution.
55879         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
55880         instead of unistd_.h here, too.
55881
55882 2007-10-01  Bruno Haible  <bruno@clisp.org>
55883
55884         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
55885         Needed for the alloca-opt module.
55886
55887 2007-09-30  Bruno Haible  <bruno@clisp.org>
55888
55889         * lib/alloca.in.h: Renamed from lib/alloca_.h.
55890         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
55891         alloca_.h.
55892         * lib/argz.in.h: Renamed from lib/argz_.h.
55893         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
55894         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
55895         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
55896         byteswap_.h.
55897         * lib/dirent.in.h: Renamed from lib/dirent_.h.
55898         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
55899         dirent_.h.
55900         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
55901         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
55902         fcntl_.h.
55903         * lib/float.in.h: Renamed from lib/float_.h.
55904         * modules/float (Files, Makefile.am): Use float.in.h instead of
55905         float_.h.
55906         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
55907         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
55908         fnmatch_.h.
55909         * lib/getopt.in.h: Renamed from lib/getopt_.h.
55910         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
55911         getopt_.h.
55912         * lib/glob.in.h: Renamed from lib/glob_.h.
55913         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
55914         * lib/iconv.in.h: Renamed from lib/iconv_.h.
55915         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
55916         iconv_.h.
55917         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
55918         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
55919         inttypes_.h.
55920         * lib/locale.in.h: Renamed from lib/locale_.h.
55921         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
55922         locale_.h.
55923         * lib/math.in.h: Renamed from lib/math_.h.
55924         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
55925         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
55926         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
55927         of netinet_in_.h. Add dependency.
55928         * lib/poll.in.h: Renamed from lib/poll_.h.
55929         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
55930         * lib/search.in.h: Renamed from lib/search_.h.
55931         * modules/search (Files, Makefile.am): Use search.in.h instead of
55932         search_.h.
55933         * lib/signal.in.h: Renamed from lib/signal_.h.
55934         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
55935         _signal.h.
55936         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
55937         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
55938         stdbool_.h.
55939         * lib/stdint.in.h: Renamed from lib/stdint_.h.
55940         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
55941         stdint_.h.
55942         * lib/stdio.in.h: Renamed from lib/stdio_.h.
55943         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
55944         stdio_.h.
55945         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
55946         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
55947         stdlib_.h.
55948         * lib/string.in.h: Renamed from lib/string_.h.
55949         * modules/string (Files, Makefile.am): Use string.in.h instead of
55950         string_.h.
55951         * doc/gnulib-tool.texi (Initial import): Update.
55952         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
55953         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
55954         of sys_select_.h. Add dependency.
55955         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
55956         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
55957         of sys_socket_.h.
55958         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
55959         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
55960         sys_stat_.h.
55961         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
55962         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
55963         sys_time_.h.
55964         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
55965         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
55966         sysexits_.h.
55967         * lib/time.in.h: Renamed from lib/time_.h.
55968         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
55969         * lib/unistd.in.h: Renamed from lib/unistd_.h.
55970         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
55971         unistd_.h.
55972         * lib/wchar.in.h: Renamed from lib/wchar_.h.
55973         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
55974         wchar_.h.
55975         * lib/wctype.in.h: Renamed from lib/wctype_.h.
55976         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
55977         wctype_.h.
55978         * build-aux/bootstrap (slurp): Update.
55979         * lib/.cppi-disable: Update.
55980
55981 2007-09-30  Bruno Haible  <bruno@clisp.org>
55982
55983         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
55984         Needed on BeOS.
55985
55986 2007-09-30  Bruno Haible  <bruno@clisp.org>
55987
55988         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
55989
55990 2007-09-29  Bruno Haible  <bruno@clisp.org>
55991
55992         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
55993
55994 2007-09-29  Bruno Haible  <bruno@clisp.org>
55995
55996         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
55997         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
55998         * build-aux/install-reloc: Compile also areadlink.c.
55999         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
56000
56001 2007-09-29  Bruno Haible  <bruno@clisp.org>
56002
56003         * gnulib-tool (func_emit_initmacro_done): Indentation.
56004
56005 2007-09-29  Bruno Haible  <bruno@clisp.org>
56006
56007         * README: Add CVS checkout update instructions.
56008         Info from Bob Proulx <bob@proulx.com>.
56009
56010 2007-09-28  Eric Blake  <ebb9@byu.net>
56011
56012         Provide move-if-change.
56013         * build-aux/move-if-change: New file, based on best practice
56014         rather than any canonical upstream location.
56015
56016 2007-09-28  Jim Meyering  <jim@meyering.net>
56017
56018         Fix canonicalize loop-detection corner case.
56019         Do not attempt to stat the symlink values stored via seen_triple.
56020         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
56021         on linux-2.6.18, (but not 2.6.22).
56022         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
56023         triple_compare.  The former compares dev,ino,filename, while the latter
56024         would actually stat dirname(filename) when dev and ino were equal.
56025         * lib/hash-triple.c: Install <string.h>.
56026         (STREQ): Define.
56027         (triple_compare_ino_str): New function.
56028         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
56029
56030 2007-09-28  Eric Blake  <ebb9@byu.net>
56031
56032         Enforce that AC_REPLACE_FUNCS files exist.
56033         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
56034         override check for typos.
56035
56036         Fix test-closein on Solaris 10.
56037         * tests/test-closein.c (main): Don't assume stdin can be inherited
56038         closed on all systems.
56039         * tests/test-closein.sh: Likewise.
56040         Reported by Piotr Tarnowski.
56041
56042 2007-09-28  Jim Meyering  <jim@meyering.net>
56043
56044         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
56045
56046 2007-09-27  Jim Meyering  <jim@meyering.net>
56047
56048         canonicalize: Avoid a false-positive cycle failure.
56049         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
56050         Sort.  Remove cycle-check.
56051         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
56052         not cycle-check.h.
56053         (seen_triple): New function.
56054         (canonicalize_filename_mode): Use it instead of cycle-check.
56055         * tests/test-canonicalize.c: Add a test for this bug.
56056         * tests/test-canonicalize.sh: Set up and run the test.
56057
56058         New module, file-set, from coreutils.
56059         * modules/file-set: Define it.
56060         * lib/file-set.c, lib/file-set.h: Implement.
56061
56062         New module, hash-triple, from coreutils.
56063         * modules/hash-triple: Define it.
56064         * lib/hash-triple.c, lib/hash-triple.h: Implement.
56065
56066 2007-09-25  Eric Blake  <ebb9@byu.net>
56067
56068         Fix strerror on Interix.
56069         * lib/string_.h (strerror): Declare replacement.
56070         * doc/functions/strerror.texi (strerror): Document the Interix
56071         shortcoming.
56072         * modules/string (Makefile.am): Support new hooks.
56073         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
56074         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
56075         gl_FUNC_STRERROR_SEPARATE.
56076         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
56077         * lib/strerror.c (rpl_strerror): Provide replacement.
56078         * modules/strerror (Depends-on): Add string.
56079         (configure.ac): Detect use of module.
56080         * tests/test-strerror.c: New file.
56081         * modules/strerror-tests: New test module.
56082         * modules/argp (Depends-on): Add strerror.
56083         * modules/error (Depends-on): Likewise.
56084         Reported by Martin Koeppe.
56085
56086 2007-09-24  Bruno Haible  <bruno@clisp.org>
56087
56088         * README: Update git instructions.
56089
56090 2007-09-24  Eric Blake  <ebb9@byu.net>
56091
56092         Revert fpending breakage from 2007-09-08.
56093         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
56094         __fpending.c.
56095
56096 2007-09-24  Jim Meyering  <jim@meyering.net>
56097
56098         filenamecat.c: Add a test.
56099         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
56100         showing how the function works when DIR is the empty string.
56101
56102 2007-09-21  Simon Josefsson  <simon@josefsson.org>
56103
56104         * tests/test-canonicalize.sh: Turn on executable bit.
56105
56106 2007-09-19  Eric Blake  <ebb9@byu.net>
56107
56108         * README: Update CVS instructions.
56109
56110 2007-09-18  Bruno Haible  <bruno@clisp.org>
56111
56112         * modules/areadlink: New file.
56113         * lib/areadlink.h (areadlink): New declaration.
56114         * lib/areadlink.c: New file, based on lib/xreadlink.c.
56115
56116 2007-09-17  Jim Meyering  <jim@meyering.net>
56117
56118         * lib/savewd.c (ESTALE) [!defined]: Define.
56119         Reported to be required on Interix by Martin Koeppe.
56120
56121 2007-09-17  Bruno Haible  <bruno@clisp.org>
56122
56123         * gnulib-tool (func_version): Use $version.
56124
56125 2007-09-16  Bruno Haible  <bruno@clisp.org>
56126
56127         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
56128         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
56129         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
56130         Reported by Greg Schafer <gschafer@zip.com.au>.
56131
56132 2007-09-15  Bruno Haible  <bruno@clisp.org>
56133
56134         * gnulib-tool (sed): Try a little harder to make bash understand the
56135         alias.
56136         Reported by Bruce Korb <bruce.korb@gmail.com>.
56137
56138 2007-09-13  Eric Blake  <ebb9@byu.net>
56139
56140         * ChangeLog: Remove conflict markers.
56141
56142 2007-09-13  Simon Josefsson  <simon@josefsson.org>
56143
56144         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
56145         Reported by Bruno Haible <bruno@clisp.org>.
56146
56147 2007-09-12  Bruno Haible  <bruno@clisp.org>
56148
56149         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
56150         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
56151         is not defined.
56152
56153 2007-09-12  Eric Blake  <ebb9@byu.net>
56154
56155         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
56156         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
56157         Autoconf definition.
56158         * modules/euidaccess (Depends-on): Add extensions, for
56159         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
56160         * modules/fnmatch (Depends-on): Likewise.
56161         * modules/getaddrinfo (Depends-on): Likewise.
56162         * modules/getdelim (Depends-on): Likewise.
56163         * modules/getline (Depends-on): Likewise.
56164         * modules/getsubopt (Depends-on): Likewise.
56165         * modules/gettext (Depends-on): Likewise.
56166         * modules/group-member (Depends-on): Likewise.
56167         * modules/mbchar (Depends-on): Likewise.
56168         * modules/memmem (Depends-on): Likewise.
56169         * modules/mempcpy (Depends-on): Likewise.
56170         * modules/memrchr (Depends-on): Likewise.
56171         * modules/pagealign_alloc (Depends-on): Likewise.
56172         * modules/readutmp (Depends-on): Likewise.
56173         * modules/stpcpy (Depends-on): Likewise.
56174         * modules/stpncpy (Depends-on): Likewise.
56175         * modules/strchrnul (Depends-on): Likewise.
56176         * modules/strndup (Depends-on): Likewise.
56177         * modules/strsep (Depends-on): Likewise.
56178         * modules/strverscmp (Depends-on): Likewise.
56179         * modules/vasprintf (Depends-on): Likewise.
56180         * modules/wcwidth (Depends-on): Likewise.
56181         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
56182         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
56183         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
56184         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
56185         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
56186         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56187         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
56188         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
56189         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
56190         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
56191         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56192         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
56193         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
56194         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
56195         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
56196         * m4/readutmp.m4 (gl_READUTMP): Likewise.
56197         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56198         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
56199         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56200         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
56201         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56202         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
56203         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
56204         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
56205         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
56206         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56207         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
56208         so that lock.m4 can be used in gettext without extensions module.
56209
56210 2007-09-11  Bruno Haible  <bruno@clisp.org>
56211
56212         * m4/isc-posix.m4: Remove file.
56213         Suggested by Eric Blake.
56214
56215 2007-09-11  Eric Blake  <ebb9@byu.net>
56216
56217         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
56218
56219 2007-09-10  Bruno Haible  <bruno@clisp.org>
56220
56221         * posix-modules: Fix typo in error message.
56222         Reported by Matt <mkraai@beckman.com>.
56223
56224 2007-09-09  Bruno Haible  <bruno@clisp.org>
56225
56226         * doc/functions/getdelim.texi: Update list of platforms lacking the
56227         function.
56228         * doc/functions/getline.texi: Likewise.
56229
56230 2007-09-09  Jim Meyering  <jim@meyering.net>
56231
56232         * lib/hash.c (hash_initialize): Detect calloc failure.
56233         Reported by Bruno Haible.
56234
56235 2007-09-09  Bruno Haible  <bruno@clisp.org>
56236
56237         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
56238         malloc or realloc fails.
56239
56240 2007-09-09  Bruno Haible  <bruno@clisp.org>
56241
56242         * modules/getcwd (Depends-on): Add malloc-posix.
56243         * modules/glob (Depends-on): Likewise.
56244         * modules/putenv (Depends-on): Likewise.
56245         * modules/strdup (Depends-on): Likewise.
56246         * modules/getdelim (Depends-on): Add realloc-posix.
56247         * modules/read-file (Depends-on): Likewise.
56248
56249 2007-09-09  Bruno Haible  <bruno@clisp.org>
56250
56251         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
56252         (gl_FUNC_MALLOC_POSIX): Require it.
56253         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
56254         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
56255         * modules/realloc (Files): Add m4/malloc.m4.
56256         * modules/calloc (Files): Likewise.
56257
56258 2007-09-09  Bruno Haible  <bruno@clisp.org>
56259
56260         * modules/malloc-posix: New file.
56261         * modules/malloc (Depends-on): Add malloc-posix.
56262         * lib/malloc.c: Include errno.h.
56263         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
56264         and a POSIX-compatible malloc into a single function. Set ENOMEM
56265         when returning NULL.
56266         * m4/malloc.m4: New file.
56267         * doc/functions/malloc.texi: Mention the malloc-posix module.
56268         * lib/stdlib_.h (malloc): New declaration.
56269         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56270         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
56271         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
56272         and HAVE_MALLOC_POSIX.
56273
56274 2007-09-09  Bruno Haible  <bruno@clisp.org>
56275
56276         * modules/realloc-posix: New file.
56277         * modules/realloc (Depends-on): Add realloc-posix.
56278         * lib/realloc.c: Include errno.h.
56279         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
56280         and a POSIX-compatible realloc into a single function. Set ENOMEM
56281         when returning NULL.
56282         * m4/realloc.m4: New file.
56283         * doc/functions/realloc.texi: Mention the realloc-posix module.
56284         * lib/stdlib_.h (realloc): New declaration.
56285         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56286         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
56287         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
56288         and HAVE_REALLOC_POSIX.
56289
56290 2007-09-09  Bruno Haible  <bruno@clisp.org>
56291
56292         * modules/calloc-posix: New file.
56293         * modules/calloc (Depends-on): Add calloc-posix.
56294         * lib/calloc.c: Include errno.h.
56295         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
56296         and a POSIX-compatible calloc into a single function. Set ENOMEM
56297         when returning NULL.
56298         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
56299         * doc/functions/calloc.texi: Mention the calloc-posix module.
56300         * lib/stdlib_.h (calloc): New declaration.
56301         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56302         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
56303         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
56304         and HAVE_CALLOC_POSIX.
56305
56306 2007-09-09  Bruno Haible  <bruno@clisp.org>
56307
56308         Allow for modules to show an arbitrary notice.
56309         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
56310         * gnulib-tool: New option --extract-notice.
56311         (func_usage): Document it.
56312         (sed_extract_prog): Update.
56313         (func_get_notice): New function.
56314         (func_modules_notice): New function.
56315         (func_import, func_create_testdir): Invoke it.
56316         Suggested by Jim Meyering.
56317
56318 2007-09-09  Bruno Haible  <bruno@clisp.org>
56319
56320         * gnulib-tool: New options --verbose, --quiet.
56321         (func_usage): Document them.
56322         (verbose): New variable.
56323         (func_execute_command): New function.
56324         (func_import): Don't show the module list and the file list if
56325         $verbose < 0.
56326         (func_create_testdir): Likewise. Use func_execute_command.
56327         (func_create_megatestdir): Use func_execute_command.
56328
56329 2007-09-08  Bruno Haible  <bruno@clisp.org>
56330
56331         * gnulib-tool (func_import): Prefer rsync over wget when available,
56332         for fetching the PO files.
56333
56334 2007-09-08  Bruno Haible  <bruno@clisp.org>
56335
56336         * posix-modules: New file. Portions copied from gnulib-tool.
56337         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
56338
56339 2007-09-08  Jim Meyering  <jim@meyering.net>
56340
56341         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
56342         * lib/fpending.h: Rename from __fpending.h.
56343         * lib/fpending.c: Rename from __fpending.c.
56344         Include "fpending.h", not "__fpending.h".
56345         * lib/__fpending.h, lib/__fpending.c: Remove files.
56346         * modules/fpending (Files): Reflect new file names.
56347         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
56348
56349 2007-09-08  Bruno Haible  <bruno@clisp.org>
56350
56351         * m4/inttypes-h.m4: Remove stub file.
56352
56353 2007-09-07  Simon Josefsson  <simon@josefsson.org>
56354
56355         * doc/headers/stdint.texi: Discuss #include_next issue.
56356
56357 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56358
56359         * build-aux/bootstrap: Remove obsolete comment about wget --help.
56360
56361 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56362
56363         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
56364         in variable name.
56365
56366 2007-09-03  Jim Meyering  <jim@meyering.net>
56367
56368         New module: git-version-gen.
56369         * modules/git-version-gen: New file.
56370
56371         Import changes from coreutils for bootstrap script.
56372
56373         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
56374
56375         bootstrap: uses rsync to download the .po files
56376         * build-aux/bootstrap (po_download_command_format): New global.
56377         (download_po_files): Use rsync.
56378         (update_po_files): Don't remove .po files after download,
56379         so future rsync runs can take advantage of the copies.
56380
56381         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
56382
56383         Solve the unnecessary-.po-file-regeneration problem once and for all.
56384         * build-aux/bootstrap (download_po_files): New function, renamed from
56385         get_translations.  Now, downloads, but doesn't update LINGUAS.
56386         (update_po_files): New function.
56387
56388         bootstrap: Ignore more.
56389         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
56390         uniwidth to e.g., lib/.gitignore.
56391         (slurp): Handle the sys_stat_.h -> sys mapping, too.
56392
56393         * build-aux/bootstrap: New setting: vc_ignore.
56394         (insert_sorted_if_absent): Create $file if absent.
56395         Adapt to new, possibly empty, list: $vc_ignore.
56396
56397         bootstrap: generate more ignorable names
56398         * build-aux/bootstrap (slurp): When generating ignorable names,
56399         also map .sin to .sed, .gperf to .c, and .y to .c.
56400
56401 2007-09-03  Jim Meyering  <jim@meyering.net>
56402
56403         * build-aux/git-version-gen: New file, from coreutils.  For details, see
56404         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
56405
56406 2007-09-02  Bruno Haible  <bruno@clisp.org>
56407
56408         Fix mis-recognition of 'mcs' on QNX 6.
56409         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
56410         output contains the string "Mono".
56411         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
56412         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
56413
56414 2007-09-01  Bruno Haible  <bruno@clisp.org>
56415
56416         Fix collision between uniwidth/* and linebreak modules.
56417         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
56418         u32_width): Remove declarations.
56419         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
56420         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
56421         streq3, streq2, streq1, streq0): Remove functions.
56422         (STREQ): Remove macro.
56423         (is_cjk_encoding): Remove function.
56424         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
56425         (uc_width, u8_width, u16_width, u32_width): Remove functions.
56426         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
56427         * NEWS: Document the change.
56428
56429 2007-09-01  Bruno Haible  <bruno@clisp.org>
56430
56431         * lib/streq.h: Add double-inclusion guard.
56432
56433 2007-09-01  Karl Berry  <karl@gnu.org>
56434
56435         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
56436
56437 2007-08-28  Jim Meyering  <jim@meyering.net>
56438
56439         Rename mreadlink_with_size to areadlink_with_size.
56440         * NEWS: Document the change.
56441         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
56442         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
56443         * lib/mreadlink.h: Rename this to...
56444         * lib/areadlink.h: ...this.
56445         * modules/mreadlink-with-size: Rename this to...
56446         * modules/areadlink-with-size: ...this.
56447         * lib/canonicalize.c: Reflect the renaming.
56448         * modules/canonicalize: Likewise.
56449
56450 2007-08-26  Bruno Haible  <bruno@clisp.org>
56451
56452         * gnulib-tool (func_import): When deciding which files to remove,
56453         consider also dangling symbolic links.
56454         Reported by Eric Blake.
56455
56456 2007-08-26  Bruno Haible  <bruno@clisp.org>
56457
56458         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
56459
56460 2007-08-23  Simon Josefsson  <simon@josefsson.org>
56461
56462         * lib/readline.c: Don't include getline.h, the prototype is now
56463         found in stdio.h.
56464
56465 2007-08-23  Jim Meyering  <jim@meyering.net>
56466
56467         Getdelim touchup.
56468         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
56469         around the funlockfile call, since funlockfile never sets errno.
56470         Don't set errno upon failed realloc.
56471
56472 2007-08-22  Eric Blake  <ebb9@byu.net>
56473
56474         Getline touchups.
56475         * lib/getdelim.c (getdelim): Revert regression that required *n to
56476         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
56477         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
56478         getdelim, rather than whether implementation is missing.
56479         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
56480         * lib/stdio_.h (getline): Also declare if replacement is
56481         required.
56482         * doc/functions/getdelim.texi: New file.
56483         * doc/functions/getline.texi: Likewise.
56484         * doc/gnulib.texi (Function Substitutes): Add new files.
56485         Reported by Bruno Haible.
56486
56487 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
56488
56489         * users.txt: Add Guile.
56490
56491 2007-08-22  Eric Blake  <ebb9@byu.net>
56492
56493         * tests/test-getdelim.c (main): Use remove, not unlink.
56494         * tests/test-getline.c (main): Likewise.
56495
56496         Move getline and getdelim into stdio.h, per POSIX 200x.
56497         * modules/getline (Files): Remove getline.h.
56498         (Depends-on): Add stdio.
56499         (configure.ac): Add module indicator.
56500         * modules/getdelim (Files): Remove getdelim.h.
56501         (Depends-on): Add stdio.
56502         (configure.ac): Add module indicator.
56503         * modules/stdio (Makefile.am): Work with new indicators.
56504         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
56505         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
56506         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56507         * lib/getdelim.h: Delete.
56508         * lib/getline.h: Delete.
56509         * lib/stdio_.h (getdelim, getline): Declare.
56510         * modules/getdelim-tests: New module.
56511         * modules/getline-tests: Likewise.
56512         * tests/test-getdelim.c: New file.
56513         * tests/test-getline.c: Likewise.
56514         * NEWS: Document the change.
56515         * lib/getline.c: Update choice of header.
56516         * lib/csharpcomp.c: Likewise.
56517         * lib/getpass.c: Likewise.
56518         * lib/javacomp.c: Likewise.
56519         * lib/javaversion.c: Likewise.
56520         * lib/yesno.c: Likewise.
56521         * lib/getdelim.c: Likewise.
56522         (getdelim): Set errno on failure, and avoid memory leak.
56523
56524 2007-08-19  Bruno Haible  <bruno@clisp.org>
56525
56526         * modules/closein (Depends-on): Add freadahead.
56527         * lib/closein.c: Include freadahead.h.
56528         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
56529         is zero.
56530
56531 2007-08-19  Bruno Haible  <bruno@clisp.org>
56532
56533         * modules/freadahead-tests: New file.
56534         * tests/test-freadahead.sh: New file.
56535         * tests/test-freadahead.c: New file.
56536
56537         * modules/freadahead: New file.
56538         * lib/freadahead.h: New file.
56539         * lib/freadahead.c: New file.
56540         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
56541         fbufmode, fpurge, freadable, fwritable.
56542
56543 2007-08-19  Eric Blake  <ebb9@byu.net>
56544
56545         Test yesno in combination with closein.
56546         * lib/yesno.c (yesno): Document use of stdin.
56547         * modules/yesno-tests (Files): New module.
56548         * tests/test-yesno.c (main): New file.
56549         * tests/test-yesno.sh: Likewise.
56550
56551 2007-08-19  Bruno Haible  <bruno@clisp.org>
56552
56553         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
56554         * lib/fseeko.c (rpl_fseeko): Likewise.
56555         * lib/fseterr.c (fseterr): Likewise.
56556
56557 2007-08-19  Bruno Haible  <bruno@clisp.org>
56558
56559         * tests/test-lseek.c (main): Disable a test for BeOS.
56560         * doc/functions/lseek.texi: Document the BeOS bug.
56561
56562 2007-08-19  Bruno Haible  <bruno@clisp.org>
56563             Eric Blake  <ebb9@byu.net>
56564
56565         * lib/lseek.c: Include <sys/stat.h>.
56566         (rpl_lseek): Add workaround code also for Unix platforms.
56567         Needed for BeOS.
56568         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
56569         * doc/functions/lseek.texi: Document BeOS definiency.
56570
56571 2007-08-18  Bruno Haible  <bruno@clisp.org>
56572
56573         * modules/fstrcmp-tests: New file.
56574         * tests/test-fstrcmp.c: New file.
56575
56576 2007-08-18  Bruno Haible  <bruno@clisp.org>
56577
56578         * modules/fstrcmp: New file, from GNU gettext with modifications.
56579         * lib/fstrcmp.h: New file, from GNU gettext.
56580         * lib/fstrcmp.c: New file, from GNU gettext.
56581         * MODULES.html.sh (String handling): Add fstrcmp.
56582
56583 2007-08-18  Bruno Haible  <bruno@clisp.org>
56584
56585         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
56586         'bool'.
56587         (diag, compareseq): Remove const from the ctxt argument.
56588         (USE_HEURISTIC): Undefine at the end.
56589
56590 2007-08-18  Jim Meyering  <jim@meyering.net>
56591
56592         New file: lib/idcache.h
56593         * NEWS: Mention the addition.
56594         * modules/idcache (Files): Add lib/idcache.h
56595         * lib/idcache.c: Include "idcache.h".
56596         Don't include <sys/types.h>.
56597         Add a FIXME comment.
56598         Move file-scoped "static" declarations to the top.
56599         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
56600
56601 2007-08-17  Bruno Haible  <bruno@clisp.org>
56602         and Paul Eggert  <eggert@cs.ucla.edu>
56603
56604         * MODULES.html.sh: Add diffseq.
56605         * modules/diffseq: New file.
56606         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
56607         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
56608
56609 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56610
56611         Import changes from coreutils for bootstrap script.
56612
56613         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
56614
56615         * build-aux/bootstrap (slurp): Work even in environments where
56616         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
56617         current code does not slurp files whose names start with ".", and
56618         this looks like it might be a troublesome area.
56619
56620         2007-07-11  Jim Meyering  <jim@meyering.net>
56621
56622         If there's a GPL vN copyright comment, require that N == 3.
56623
56624         2007-07-08  Jim Meyering  <jim@meyering.net>
56625
56626         Run the coreutils-specific code only if tests/Makefile.am.in exists.
56627         * build-aux/bootstrap (mam_template): Move definition out of loop.
56628
56629         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
56630
56631         * build-aux/bootstrap (symlink_to_dir): Rename function from
56632         symlink_to_gnulib.  Add a directory parameter.  Update all
56633         callers.
56634         (cp_mark_as_generated): Also check for -- and link to -- files in
56635         gl/.
56636
56637         2007-07-08  Jim Meyering  <jim@meyering.net>
56638
56639         Adapt to deeper hierarchy in gnulib.
56640         * build-aux/bootstrap (symlink_to_dir): If the destination
56641         directory doesn't exist, create it. This is required at least for
56642         "lib/uniwidth/cjk.h".
56643
56644         2007-05-15  Jim Meyering  <jim@meyering.net>
56645
56646         * build-aux/bootstrap: Now that generated Makefile.am files
56647         are no longer under version control, they must be created at
56648         bootstrap time.
56649
56650 2007-08-14  Ben Pfaff  <blp@gnu.org>
56651
56652         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
56653
56654 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
56655
56656         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
56657         given the changes below.
56658         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
56659         even on hosts that have padding bits beyond the supported 64.
56660
56661 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
56662
56663         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
56664         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
56665         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
56666         depends on it.
56667         (xstrtol_error): Remove.
56668         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
56669         but with a different signature.
56670         (ATTRIBUTE_NORETURN, __attribute__): New macros.
56671         * lib/xstrtol-error.c: Include exitfail.h.
56672         (xstrtol_fatal): New function, with a different signature from the
56673         old xstrtol_error, so that the caller need not worry about passing
56674         in an exit status, or about storage management of the option argument.
56675         (xstrtol_error): Now a static function.  Redo signature to
56676         implement xstrtol_fatal.  Output the correct number of hyphens in
56677         front of the option so that the caller need not worry about
56678         storage management.
56679         (N_): New macro.
56680         (_): Remove; not used now.
56681         * modules/xstrtol: Depend on getopt.
56682         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
56683         of old STRTOL_FATAL_ERROR macro.
56684         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
56685         of test program.
56686         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
56687         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
56688
56689 2007-08-08  Eric Blake  <ebb9@byu.net>
56690
56691         * lib/xstrtol-error.c: Add missing include.
56692
56693         Move xstrtol messages into gnulib domain, when --pobase is used.
56694         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
56695         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
56696         * modules/xstrtol (Files): Distribute new file.
56697         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
56698         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
56699         * tests/test-xstrtol.c: ...into new file.
56700         * tests/test-xstrtoul.c: Also test xstrtoul.
56701         * tests/test-xstrtoimax.c: Also test xstrtoimax.
56702         * tests/test-xstrtoumax.c: Also test xstrtoumax.
56703         * tests/test-xstrtol.sh: Drive the tests.
56704         * tests/test-xstrtoimax.sh: Likewise.
56705         * tests/test-xstrtoumax.sh: Likewise.
56706         * modules/xstrtol-tests: New module.
56707         * modules/xstrtoimax-tests: Likewise.
56708         * modules/xstrtoumax-tests: Likewise.
56709
56710 2007-08-08  Jim Meyering  <jim@meyering.net>
56711
56712         New function: mfile_name_concat.
56713         * lib/filenamecat.c (mfile_name_concat): New function, just like
56714         file_name_concat, but return NULL upon failure rather than exiting
56715         with a diagnostic.
56716         * lib/filenamecat.h: Declare it.
56717
56718 2007-08-07  Bruno Haible  <bruno@clisp.org>
56719
56720         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
56721         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
56722         warning from gcc.
56723         Reported by Eric Blake.
56724
56725 2007-08-07  Simon Josefsson  <simon@josefsson.org>
56726
56727         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
56728         * modules/crypto/arcfour (License): Likewise.
56729         * modules/crypto/des-tests (License): Likewise.
56730         * modules/crypto/gc-arctwo-tests (License): Likewise.
56731         * modules/crypto/gc-des-tests (License): Likewise.
56732         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
56733         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
56734         * modules/crypto/gc-md2-tests (License): Likewise.
56735         * modules/crypto/gc-md4-tests (License): Likewise.
56736         * modules/crypto/gc-md5-tests (License): Likewise.
56737         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
56738         * modules/crypto/gc-rijndael-tests (License): Likewise.
56739         * modules/crypto/gc-sha1-tests (License): Likewise.
56740         * modules/crypto/gc-tests (License): Likewise.
56741         * modules/crypto/hmac-md5 (License): Likewise.
56742         * modules/crypto/hmac-sha1 (License): Likewise.
56743         * modules/crypto/md2-tests (License): Likewise.
56744         * modules/crypto/md4-tests (License): Likewise.
56745         * modules/crypto/md5 (License): Likewise.
56746         * modules/crypto/rijndael (License): Likewise.
56747         * modules/crypto/sha1 (License): Likewise.
56748         * modules/memxor (License): Likewise.
56749
56750 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
56751         and Bruno Haible  <bruno@clisp.org>
56752
56753         * NEWS: Describe interface changes to human, xstrtol.
56754         * lib/human.h: Include <xstrtol.h>.
56755         (human_options): Return enum strtol_error, not int.  Remove
56756         bool arg; take int * instead.
56757         * lib/human.c: Don't include "gettext.h".
56758         (_): Remove; no longer used.
56759         Don't include <xstrtol.h>, since human.h does it.
56760         (human_options): Adjust to abovementioned interface changes.
56761         Do not report error to stderr; that's now the caller's
56762         responsibility.
56763         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
56764         interface change.
56765         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
56766         Str, Argument_type_string.  All uses changed.  Put " argument"
56767         in diagnostics to make them clearer.  Change wording of suffix
56768         message for clarity.
56769         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
56770         Argument_type_string.
56771         (STRTOL_FATAL_WARN): Remove; no longer used.
56772         * modules/human (Depends-on): Remove gettext-h.
56773
56774 2007-08-06  Simon Josefsson  <simon@josefsson.org>
56775
56776         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
56777
56778 2007-07-31  Bruno Haible  <bruno@clisp.org>
56779
56780         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
56781         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
56782         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
56783
56784 2007-07-31  Bruno Haible  <bruno@clisp.org>
56785
56786         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
56787         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
56788
56789 2007-07-30  Bruno Haible  <bruno@clisp.org>
56790
56791         * modules/base64 (License): Use the synonymous term "LGPLv2+".
56792         * modules/c-ctype (License): Likewise.
56793         * modules/c-strcase (License): Likewise.
56794         * modules/check-version (License): Likewise.
56795         * modules/iconv (License): Likewise.
56796         * modules/iconv_open (License): Likewise.
56797         * modules/read-file (License): Likewise.
56798         * modules/striconv (License): Likewise.
56799         * modules/strverscmp (License): Likewise.
56800         * modules/vasprintf (License): Likewise.
56801         * modules/crypto/des (License): Likewise.
56802         * modules/crypto/gc (License): Likewise.
56803         * modules/crypto/gc-arcfour (License): Likewise.
56804         * modules/crypto/gc-arctwo (License): Likewise.
56805         * modules/crypto/gc-des (License): Likewise.
56806         * modules/crypto/gc-hmac-md5 (License): Likewise.
56807         * modules/crypto/gc-hmac-sha1 (License): Likewise.
56808         * modules/crypto/gc-md2 (License): Likewise.
56809         * modules/crypto/gc-md4 (License): Likewise.
56810         * modules/crypto/gc-md5 (License): Likewise.
56811         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
56812         * modules/crypto/gc-random (License): Likewise.
56813         * modules/crypto/gc-rijndael (License): Likewise.
56814         * modules/crypto/gc-sha1 (License): Likewise.
56815         * modules/crypto/md2 (License): Likewise.
56816         * modules/crypto/md4 (License): Likewise.
56817
56818 2007-07-30  Jim Meyering  <jim@meyering.net>
56819
56820         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
56821         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
56822         it has valid stat data.  This bug would cause du not to count the
56823         sizes of inaccessible directories.
56824         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
56825         in <http://bugzilla.redhat.com/250077>.
56826
56827 2007-07-25  Peter O'Gorman  <peter@pogma.com>
56828             Bruno Haible  <bruno@clisp.org>
56829
56830         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
56831         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
56832         #include_next, gives a diagnostic about it, but reports no error in
56833         the exit code.
56834         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
56835
56836 2007-07-24  Ben Pfaff  <blp@gnu.org>
56837
56838         Improve name: "count-one-bits" is better than "popcount".
56839         * MODULES.html.sh: Update name.
56840         * lib/popcount.h: Renamed lib/count-one-bits.h.
56841         (popcount): Renamed count_one_bits.
56842         (popcountl): Renamed count_one_bits_l.
56843         (popcountll): Renamed count_one_bits_ll.
56844         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
56845         * modules/popcount: Renamed module/count-one-bits.
56846         * modules/popcount-tests: Renamed module/count-one-bits-tests.
56847         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
56848
56849 2007-07-23  Ben Pfaff  <blp@gnu.org>
56850
56851         * lib/popcount.h (popcount32): Reduce size of constants, to allow
56852         better code generation, and add U to large constants to avoid
56853         warnings, in non-GCC case.
56854         Suggested by Bruno Haible.
56855
56856 2007-07-23  Ben Pfaff  <blp@gnu.org>
56857
56858         * lib/popcount.h: Use verify_true instead of if...abort.
56859         * modules/popcount: Depend on verify module.
56860         Suggested by Jim Meyering.
56861
56862 2007-07-23  Bruno Haible  <bruno@clisp.org>
56863
56864         * gnulib-tool (func_import): Create a .cvsignore file also when the
56865         directory is not yet in CVS but the toplevel directory is. When
56866         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
56867         Reported by Karl Berry.
56868
56869 2007-07-22  Ben Pfaff  <blp@gnu.org>
56870
56871         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
56872         case.
56873         Suggested by Eric Blake.
56874
56875 2007-07-22  Ben Pfaff  <blp@gnu.org>
56876
56877         New module: popcount.
56878         * MODULES.html.sh: Add popcount.
56879         * modules/popcount: New file.
56880         * modules/popcount-tests: New file.
56881         * tests/test-popcount.c: New file.
56882         * lib/popcount.h: New file.
56883         * m4/popcount.m4: New file.
56884
56885 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
56886
56887         * build-aux/announce-gen: Update to GPLv3.
56888
56889         * build-aux/config.guess: Update from config.
56890
56891 2007-07-21  Bruno Haible  <bruno@clisp.org>
56892
56893         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
56894         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
56895
56896 2007-07-20  Jim Meyering  <jim@meyering.net>
56897
56898         * check-module: Diagnose a self-dependency.
56899
56900 2007-07-19  Bruno Haible  <bruno@clisp.org>
56901
56902         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
56903         empty.
56904         Reported by Eric Blake.
56905
56906 2007-07-18  Bruno Haible  <bruno@clisp.org>
56907
56908         * gnulib-tool: New options --po-base, --po-domain.
56909         (func_usage): Document them.
56910         (pobase, po_domain): New variables.
56911         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
56912         DEFAULT_TEXT_DOMAIN.
56913         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
56914         (func_import): Consider pobase and po_domain. Create a po/ directory.
56915         (func_create_testdir): Set pobase and po_domain to empty.
56916         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
56917         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
56918
56919 2007-07-18  Bruno Haible  <bruno@clisp.org>
56920
56921         * gnulib-tool (func_get_automake_snippet): Synthesize also an
56922         EXTRA_DIST augmentation for files in build-aux/.
56923
56924 2007-07-16  Bruno Haible  <bruno@clisp.org>
56925
56926         * modules/lseek (License): Use the synonymous term "LGPLv2+".
56927         * modules/getdelim (License): Likewise.
56928
56929 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56930
56931         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
56932         * modules/d-type (License): Likewise.
56933         * modules/extensions (License): Likewise.
56934         * modules/fnmatch (License): Likewise.
56935         * modules/fseeko (License): Likewise.
56936         * modules/getaddrinfo (License): Likewise.
56937         * modules/getline (License): Likewise.
56938         * modules/getlogin_r (License): Likewise.
56939         * modules/getpass (License): Likewise.
56940         * modules/gettimeofday (License): Likewise.
56941         * modules/glob (License): Likewise.
56942         * modules/inet_ntop (License): Likewise.
56943         * modules/malloc (License): Likewise.
56944         * modules/malloca (License): Likewise.
56945         * modules/memmem (License): Likewise.
56946         * modules/mempcpy (License): Likewise.
56947         * modules/memset (License): Likewise.
56948         * modules/minmax (License): Likewise.
56949         * modules/mktime (License): Likewise.
56950         * modules/netinet_in (License): Likewise.
56951         * modules/pathmax (License): Likewise.
56952         * modules/poll (License): Likewise.
56953         * modules/regex (License): Likewise.
56954         * modules/snprintf (License): Likewise.
56955         * modules/stdbool (License): Likewise.
56956         * modules/stdint (License): Likewise.
56957         * modules/stdio (License): Likewise.
56958         * modules/strcase (License): Likewise.
56959         * modules/strcasestr (License): Likewise.
56960         * modules/strdup (License): Likewise.
56961         * modules/string (License): Likewise.
56962         * modules/strndup (License): Likewise.
56963         * modules/strnlen (License): Likewise.
56964         * modules/strpbrk (License): Likewise.
56965         * modules/strptime (License): Likewise.
56966         * modules/strsep (License): Likewise.
56967         * modules/sys_select (License): Likewise.
56968         * modules/sys_socket (License): Likewise.
56969         * modules/sys_stat (License): Likewise.
56970         * modules/sys_time (License): Likewise.
56971         * modules/time (License): Likewise.
56972         * modules/time_r (License): Likewise.
56973         * modules/timegm (License): Likewise.
56974         * modules/unistd (License): Likewise.
56975         * modules/vsnprintf (License): Likewise.
56976         * modules/wctype (License): Likewise.
56977
56978 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56979
56980         * modules/argz (License): LGPLv2+.
56981
56982 2007-07-15  Karl Berry  <karl@gnu.org>
56983
56984         * doc/gnulib.texi: revise node structure per new fdl.texi.
56985
56986 2007-07-14  Bruno Haible  <bruno@clisp.org>
56987
56988         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
56989         the output file.
56990         * lib/uniname/uninames.h: Regenerated.
56991
56992 2007-07-14  Karl Berry  <karl@gnu.org>
56993
56994         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
56995         omitting sectioning and index commands.
56996
56997 2007-07-13  Bruno Haible  <bruno@clisp.org>
56998
56999         New gnulib-tool option --more-symlinks.
57000         * gnulib-tool (func_usage): Document --more-symlinks.
57001         (do_copyrights): New variable.
57002         Recognize option --more-symlinks.
57003         (func_import): Don't add a copyright notice transform to
57004         sed_transform_lib_file if do_copyrights is empty.
57005
57006 2007-07-13  Bruno Haible  <bruno@clisp.org>
57007
57008         * lib/vasnprintf.c (decimal_point_char): Define also if
57009         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
57010         && !NEED_PRINTF_DIRECTIVE_A.
57011         Reported by Clemens Koller <clemens.koller@anagramm.de> via
57012         Gary V. Vaughan <gary@gnu.org>.
57013
57014 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
57015
57016         * lib/inttypes_.h: Undo previous change, since it was fixed
57017         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
57018
57019 2007-07-13  Bruno Haible  <bruno@clisp.org>
57020
57021         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
57022         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
57023
57024 2007-07-13  Jim Meyering  <jim@meyering.net>
57025
57026         df: Don't fail for Tru64's "file-on-file mount".
57027         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
57028         so we fall through and use statfs instead.  Details here:
57029         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
57030         Reported by Albert Chin.
57031
57032 2007-07-13  Bruno Haible  <bruno@clisp.org>
57033
57034         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
57035         * modules/configmake (License): Likewise.
57036         * modules/gettext (License): Likewise.
57037         * modules/gettext-h (License): Likewise.
57038         * modules/include_next (License): Likewise.
57039         * modules/link-warning (License): Likewise.
57040         * modules/localcharset (License): Likewise.
57041         * modules/localename (License): Likewise.
57042         * modules/lock (License): Likewise.
57043         * modules/relocatable-lib-lgpl (License): Likewise.
57044         * modules/size_max (License): Likewise.
57045         * modules/vasnprintf (License): Likewise.
57046         * modules/wchar (License): Likewise.
57047         * modules/xsize (License): Likewise.
57048
57049 2007-07-13  Bruno Haible  <bruno@clisp.org>
57050
57051         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
57052         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
57053
57054 2007-07-12  Bruno Haible  <bruno@clisp.org>
57055
57056         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
57057         in the modules files.
57058
57059 2007-07-11  Karl Berry  <karl@gnu.org>
57060
57061         * MODULES.html.sh (func_module): use
57062          sed -e '\|^'"${includefile}"'$|d'
57063          instead of /.../d, to avoid errors on $includefile's containing /.
57064
57065 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
57066
57067         * gnulib-tool (func_import): Avoid duplication of --avoid
57068         statements
57069         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
57070         names to `_' in variable names.
57071
57072 2007-07-10  Eric Blake  <ebb9@byu.net>
57073
57074         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
57075         * NEWS: Document this change.
57076
57077 2007-07-08  Bruno Haible  <bruno@clisp.org>
57078
57079         Update to Unicode 5.0.
57080         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
57081         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
57082         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
57083         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
57084         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
57085         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
57086         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
57087         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
57088         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
57089         U+10A3F, U+1D242..U+1D244.
57090         (nonspacing_table_ind): Update.
57091         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
57092         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
57093
57094 2007-07-08  Bruno Haible  <bruno@clisp.org>
57095
57096         Update to Unicode 5.0.
57097         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
57098         code transform. Extend the name index field of unicode_name_to_code and
57099         unicode_code_to_name from 16 to 24 bits.
57100         * lib/uniname/uniname.c (unicode_character_name,
57101         unicode_name_character): Add the range 0x12xxx to the code transform.
57102         * lib/uniname/uninames.h: Regenerated.
57103         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
57104
57105 2007-07-07  Bruno Haible  <bruno@clisp.org>
57106
57107         * modules/wcwidth-tests: New file.
57108         * tests/test-wcwidth.c: New file.
57109
57110         Work around MacOS X wcwidth() bug.
57111         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
57112         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
57113         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
57114         original wcwidth in non-UTF-8 locales.
57115         * modules/wcwidth (Depends-on): Add localcharset, streq,
57116         uniwidth/width.
57117         * doc/functions/wcwidth.texi: Update.
57118
57119 2007-07-07  Bruno Haible  <bruno@clisp.org>
57120
57121         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
57122         (wcwidth): New declaration.
57123         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
57124         macros.
57125         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
57126         here. Prepare for creating <wchar.h> unconditionally.
57127         * modules/wchar (Depends-on): Add link-warning.
57128         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
57129         REPLACE_WCWIDTH, and GL_LINK_WARNING.
57130         * lib/wcwidth.h: Remove file.
57131         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
57132         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
57133         * modules/wcwidth (Files): Remove lib/wcwidth.h.
57134         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
57135         (Include): Replace wcwidth.h with <wchar.h>.
57136         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
57137         * lib/mbchar.h: Don't include wcwidth.h.
57138         * lib/mbswidth.c: Likewise.
57139         * NEWS: Mention the change.
57140
57141 2007-07-07  Bruno Haible  <bruno@clisp.org>
57142
57143         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
57144         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
57145         definition with an external declaration.
57146         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
57147         defined as a function. Remove AC_C_INLINE requirement.
57148         * modules/wcwidth (Files): Add lib/wcwidth.c.
57149         (Makefile.am): Remove redundant statement.
57150
57151 2007-07-07  Bruno Haible  <bruno@clisp.org>
57152
57153         * MODULES.html.sh (Unicode string functions): Add the new modules.
57154
57155         * tests/uniwidth/test-u32-strwidth.c: New file.
57156         * modules/uniwidth/u32-strwidth-tests: New file.
57157
57158         * lib/uniwidth/u32-strwidth.c: New file.
57159         * modules/uniwidth/u32-strwidth: New file.
57160
57161         * tests/uniwidth/test-u16-strwidth.c: New file.
57162         * modules/uniwidth/u16-strwidth-tests: New file.
57163
57164         * lib/uniwidth/u16-strwidth.c: New file.
57165         * modules/uniwidth/u16-strwidth: New file.
57166
57167         * tests/uniwidth/test-u8-strwidth.c: New file.
57168         * modules/uniwidth/u8-strwidth-tests: New file.
57169
57170         * lib/uniwidth/u8-strwidth.c: New file.
57171         * modules/uniwidth/u8-strwidth: New file.
57172
57173         * tests/uniwidth/test-u32-width.c: New file.
57174         * modules/uniwidth/u32-width-tests: New file.
57175
57176         * lib/uniwidth/u32-width.c: New file.
57177         * modules/uniwidth/u32-width: New file.
57178
57179         * tests/uniwidth/test-u16-width.c: New file.
57180         * modules/uniwidth/u16-width-tests: New file.
57181
57182         * lib/uniwidth/u16-width.c: New file.
57183         * modules/uniwidth/u16-width: New file.
57184
57185         * tests/uniwidth/test-u8-width.c: New file.
57186         * modules/uniwidth/u8-width-tests: New file.
57187
57188         * lib/uniwidth/u8-width.c: New file.
57189         * modules/uniwidth/u8-width: New file.
57190
57191         * tests/uniwidth/test-uc_width.c: New file.
57192         * modules/uniwidth/width-tests: New file.
57193
57194         * lib/uniwidth/width.c: New file, from GNU libiconv.
57195         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
57196         * modules/uniwidth/width: New file.
57197
57198         * lib/uniwidth.h: New file, from GNU libiconv.
57199         * modules/uniwidth/base: New file.
57200
57201 2007-07-07  Bruno Haible  <bruno@clisp.org>
57202
57203         * lib/uniname.h: New file, from GNU gettext.
57204         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
57205         * lib/uniname/uninames.h: New file, from GNU gettext.
57206         * lib/uniname/uniname.c: New file, from GNU gettext.
57207         * tests/uniname/test-uninames.sh: New file.
57208         * tests/uniname/test-uninames.c: New file, from GNU gettext.
57209         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
57210         * modules/uniname/base: New file.
57211         * modules/uniname/uniname: New file.
57212         * modules/uniname/uniname-tests: New file.
57213         * MODULES.html.sh (Unicode string functions): Add the new modules.
57214
57215 2007-07-06  Bruno Haible  <bruno@clisp.org>
57216
57217         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
57218
57219 2007-07-06  Bruno Haible  <bruno@clisp.org>
57220
57221         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
57222         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
57223         includes <cygwin/sys_time.h> which includes <sys/select.h> which
57224         include <sys/time.h>.
57225         Reported by Eric Blake.
57226
57227 2007-07-06  Eric Blake  <ebb9@byu.net>
57228
57229         Fix testing canonicalize on cygwin.
57230         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
57231         Revert patch from 2007-06-19.
57232         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
57233         canonicalize module is also in use.
57234         * tests/test-canonicalize.c: New file.
57235         * tests/test-canonicalize.sh: Likewise.
57236         * modules/canonicalize-tests: Likewise.
57237
57238 2007-07-06  Jim Meyering  <jim@meyering.net>
57239
57240         * lib/getugroups.c (getugroups): Detect getgrent failure.
57241         Adjust comment to reflect reality: this function may return -1.
57242
57243 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
57244
57245         * build-aux/bootstrap (TP_URL,get_translations): Update to use
57246         the new TP address.
57247         (usage): Fix typo
57248         (gnulib_mk): New variable.
57249
57250 2007-07-05  Jim Meyering  <jim@meyering.net>
57251
57252         Don't let endgrent clobber errno, no matter how improbable.
57253         * lib/getugroups.c (getugroups): Save and restore errno around
57254         endgrent call.
57255
57256         Close the group DB even when failing with 2^31 or more members.
57257         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
57258
57259 2007-07-04  Jim Meyering  <jim@meyering.net>
57260
57261         * lib/getugroups.h: New file.
57262         * lib/getugroups.c: Include "getugroups.h".
57263         Remove uses of "register" keyword.
57264         Move local variable, "cp", down into scope where used.
57265         Give "username" parameter the "const" attribute.
57266         * modules/getugroups (Files): Add lib/getugroups.h
57267
57268 2007-07-04  Karl Berry  <karl@gnu.org>
57269
57270         * MODULES.html.sh (func_all_modules): Complete rename of
57271         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
57272
57273 2007-07-02  Bruno Haible  <bruno@clisp.org>
57274
57275         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
57276         mode, when inttypes.h comes from gnulib.
57277         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57278
57279 2007-07-02  Simon Josefsson  <simon@josefsson.org>
57280
57281         * NEWS: Mention lgpl module name change.
57282
57283         * modules/lgpl-2.1: Renamed from lgpl.
57284
57285         * NEWS: Mention gpl module name change.
57286
57287         * modules/gpl-3.0: New file, based on gpl-2.0.
57288
57289         * modules/gpl-2.0: Renamed from gpl.
57290
57291         * modules/gpl: Fix filename, doc/gpl.texi is now found at
57292         doc/gpl-2.0.texi.
57293
57294 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
57295
57296         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
57297         #define __STDC_LIMIT_MACROS temporarily while including
57298         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
57299         Problem reported by Joel E. Denny in
57300         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
57301
57302 2007-07-01  Bruno Haible  <bruno@clisp.org>
57303
57304         * lib/unistdio.h: New file.
57305         * lib/unistdio/u-asnprintf.h: New file.
57306         * lib/unistdio/u-asprintf.h: New file.
57307         * lib/unistdio/u-printf-args.c: New file.
57308         * lib/unistdio/u-printf-args.h: New file.
57309         * lib/unistdio/u-printf-parse.h: New file.
57310         * lib/unistdio/u-snprintf.h: New file.
57311         * lib/unistdio/u-sprintf.h: New file.
57312         * lib/unistdio/u-vasprintf.h: New file.
57313         * lib/unistdio/u-vsnprintf.h: New file.
57314         * lib/unistdio/u-vsprintf.h: New file.
57315         * lib/unistdio/ulc-asnprintf.c: New file.
57316         * lib/unistdio/ulc-asprintf.c: New file.
57317         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
57318         * lib/unistdio/ulc-printf-parse.c: New file.
57319         * lib/unistdio/ulc-snprintf.c: New file.
57320         * lib/unistdio/ulc-sprintf.c: New file.
57321         * lib/unistdio/ulc-vasnprintf.c: New file.
57322         * lib/unistdio/ulc-vasprintf.c: New file.
57323         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
57324         * lib/unistdio/ulc-vsnprintf.c: New file.
57325         * lib/unistdio/ulc-vsprintf.c: New file.
57326         * lib/unistdio/u8-asnprintf.c: New file.
57327         * lib/unistdio/u8-asprintf.c: New file.
57328         * lib/unistdio/u8-printf-parse.c: New file.
57329         * lib/unistdio/u8-snprintf.c: New file.
57330         * lib/unistdio/u8-sprintf.c: New file.
57331         * lib/unistdio/u8-vasnprintf.c: New file.
57332         * lib/unistdio/u8-vasprintf.c: New file.
57333         * lib/unistdio/u8-vsnprintf.c: New file.
57334         * lib/unistdio/u8-vsprintf.c: New file.
57335         * lib/unistdio/u8-u8-asnprintf.c: New file.
57336         * lib/unistdio/u8-u8-asprintf.c: New file.
57337         * lib/unistdio/u8-u8-snprintf.c: New file.
57338         * lib/unistdio/u8-u8-sprintf.c: New file.
57339         * lib/unistdio/u8-u8-vasnprintf.c: New file.
57340         * lib/unistdio/u8-u8-vasprintf.c: New file.
57341         * lib/unistdio/u8-u8-vsnprintf.c: New file.
57342         * lib/unistdio/u8-u8-vsprintf.c: New file.
57343         * lib/unistdio/u16-asnprintf.c: New file.
57344         * lib/unistdio/u16-asprintf.c: New file.
57345         * lib/unistdio/u16-printf-parse.c: New file.
57346         * lib/unistdio/u16-snprintf.c: New file.
57347         * lib/unistdio/u16-sprintf.c: New file.
57348         * lib/unistdio/u16-vasnprintf.c: New file.
57349         * lib/unistdio/u16-vasprintf.c: New file.
57350         * lib/unistdio/u16-vsnprintf.c: New file.
57351         * lib/unistdio/u16-vsprintf.c: New file.
57352         * lib/unistdio/u16-u16-asnprintf.c: New file.
57353         * lib/unistdio/u16-u16-asprintf.c: New file.
57354         * lib/unistdio/u16-u16-snprintf.c: New file.
57355         * lib/unistdio/u16-u16-sprintf.c: New file.
57356         * lib/unistdio/u16-u16-vasnprintf.c: New file.
57357         * lib/unistdio/u16-u16-vasprintf.c: New file.
57358         * lib/unistdio/u16-u16-vsnprintf.c: New file.
57359         * lib/unistdio/u16-u16-vsprintf.c: New file.
57360         * lib/unistdio/u32-asnprintf.c: New file.
57361         * lib/unistdio/u32-asprintf.c: New file.
57362         * lib/unistdio/u32-printf-parse.c: New file.
57363         * lib/unistdio/u32-snprintf.c: New file.
57364         * lib/unistdio/u32-sprintf.c: New file.
57365         * lib/unistdio/u32-vasnprintf.c: New file.
57366         * lib/unistdio/u32-vasprintf.c: New file.
57367         * lib/unistdio/u32-vsnprintf.c: New file.
57368         * lib/unistdio/u32-vsprintf.c: New file.
57369         * lib/unistdio/u32-u32-asnprintf.c: New file.
57370         * lib/unistdio/u32-u32-asprintf.c: New file.
57371         * lib/unistdio/u32-u32-snprintf.c: New file.
57372         * lib/unistdio/u32-u32-sprintf.c: New file.
57373         * lib/unistdio/u32-u32-vasnprintf.c: New file.
57374         * lib/unistdio/u32-u32-vasprintf.c: New file.
57375         * lib/unistdio/u32-u32-vsnprintf.c: New file.
57376         * lib/unistdio/u32-u32-vsprintf.c: New file.
57377         * tests/unistdio/test-ulc-asnprintf1.c: New file.
57378         * tests/unistdio/test-ulc-asnprintf1.h: New file.
57379         * tests/unistdio/test-ulc-printf1.h: New file.
57380         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
57381         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
57382         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
57383         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
57384         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
57385         * tests/unistdio/test-ulc-vasprintf1.c: New file.
57386         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
57387         * tests/unistdio/test-ulc-vsprintf1.c: New file.
57388         * tests/unistdio/test-u8-asnprintf1.c: New file.
57389         * tests/unistdio/test-u8-asnprintf1.h: New file.
57390         * tests/unistdio/test-u8-printf1.h: New file.
57391         * tests/unistdio/test-u8-vasnprintf1.c: New file.
57392         * tests/unistdio/test-u8-vasnprintf2.c: New file.
57393         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
57394         * tests/unistdio/test-u8-vasnprintf3.c: New file.
57395         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
57396         * tests/unistdio/test-u8-vasprintf1.c: New file.
57397         * tests/unistdio/test-u8-vsnprintf1.c: New file.
57398         * tests/unistdio/test-u8-vsprintf1.c: New file.
57399         * tests/unistdio/test-u16-asnprintf1.c: New file.
57400         * tests/unistdio/test-u16-asnprintf1.h: New file.
57401         * tests/unistdio/test-u16-printf1.h: New file.
57402         * tests/unistdio/test-u16-vasnprintf1.c: New file.
57403         * tests/unistdio/test-u16-vasnprintf2.c: New file.
57404         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
57405         * tests/unistdio/test-u16-vasnprintf3.c: New file.
57406         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
57407         * tests/unistdio/test-u16-vasprintf1.c: New file.
57408         * tests/unistdio/test-u16-vsnprintf1.c: New file.
57409         * tests/unistdio/test-u16-vsprintf1.c: New file.
57410         * tests/unistdio/test-u32-asnprintf1.c: New file.
57411         * tests/unistdio/test-u32-asnprintf1.h: New file.
57412         * tests/unistdio/test-u32-printf1.h: New file.
57413         * tests/unistdio/test-u32-vasnprintf1.c: New file.
57414         * tests/unistdio/test-u32-vasnprintf2.c: New file.
57415         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
57416         * tests/unistdio/test-u32-vasnprintf3.c: New file.
57417         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
57418         * tests/unistdio/test-u32-vasprintf1.c: New file.
57419         * tests/unistdio/test-u32-vsnprintf1.c: New file.
57420         * tests/unistdio/test-u32-vsprintf1.c: New file.
57421         * modules/unistdio/base: New file.
57422         * modules/unistdio/u-printf-args: New file.
57423         * modules/unistdio/ulc-asnprintf: New file.
57424         * modules/unistdio/ulc-asprintf: New file.
57425         * modules/unistdio/ulc-fprintf: New file.
57426         * modules/unistdio/ulc-printf-parse: New file.
57427         * modules/unistdio/ulc-snprintf: New file.
57428         * modules/unistdio/ulc-sprintf: New file.
57429         * modules/unistdio/ulc-vasnprintf: New file.
57430         * modules/unistdio/ulc-vasprintf: New file.
57431         * modules/unistdio/ulc-vfprintf: New file.
57432         * modules/unistdio/ulc-vsnprintf: New file.
57433         * modules/unistdio/ulc-vsprintf: New file.
57434         * modules/unistdio/u8-asnprintf: New file.
57435         * modules/unistdio/u8-asprintf: New file.
57436         * modules/unistdio/u8-printf-parse: New file.
57437         * modules/unistdio/u8-snprintf: New file.
57438         * modules/unistdio/u8-sprintf: New file.
57439         * modules/unistdio/u8-vasnprintf: New file.
57440         * modules/unistdio/u8-vasprintf: New file.
57441         * modules/unistdio/u8-vsnprintf: New file.
57442         * modules/unistdio/u8-vsprintf: New file.
57443         * modules/unistdio/u8-u8-asnprintf: New file.
57444         * modules/unistdio/u8-u8-asprintf: New file.
57445         * modules/unistdio/u8-u8-snprintf: New file.
57446         * modules/unistdio/u8-u8-sprintf: New file.
57447         * modules/unistdio/u8-u8-vasnprintf: New file.
57448         * modules/unistdio/u8-u8-vasprintf: New file.
57449         * modules/unistdio/u8-u8-vsnprintf: New file.
57450         * modules/unistdio/u8-u8-vsprintf: New file.
57451         * modules/unistdio/u16-asnprintf: New file.
57452         * modules/unistdio/u16-asprintf: New file.
57453         * modules/unistdio/u16-printf-parse: New file.
57454         * modules/unistdio/u16-snprintf: New file.
57455         * modules/unistdio/u16-sprintf: New file.
57456         * modules/unistdio/u16-vasnprintf: New file.
57457         * modules/unistdio/u16-vasprintf: New file.
57458         * modules/unistdio/u16-vsnprintf: New file.
57459         * modules/unistdio/u16-vsprintf: New file.
57460         * modules/unistdio/u16-u16-asnprintf: New file.
57461         * modules/unistdio/u16-u16-asprintf: New file.
57462         * modules/unistdio/u16-u16-snprintf: New file.
57463         * modules/unistdio/u16-u16-sprintf: New file.
57464         * modules/unistdio/u16-u16-vasnprintf: New file.
57465         * modules/unistdio/u16-u16-vasprintf: New file.
57466         * modules/unistdio/u16-u16-vsnprintf: New file.
57467         * modules/unistdio/u16-u16-vsprintf: New file.
57468         * modules/unistdio/u32-asnprintf: New file.
57469         * modules/unistdio/u32-asprintf: New file.
57470         * modules/unistdio/u32-printf-parse: New file.
57471         * modules/unistdio/u32-snprintf: New file.
57472         * modules/unistdio/u32-sprintf: New file.
57473         * modules/unistdio/u32-vasnprintf: New file.
57474         * modules/unistdio/u32-vasprintf: New file.
57475         * modules/unistdio/u32-vsnprintf: New file.
57476         * modules/unistdio/u32-vsprintf: New file.
57477         * modules/unistdio/u32-u32-asnprintf: New file.
57478         * modules/unistdio/u32-u32-asprintf: New file.
57479         * modules/unistdio/u32-u32-snprintf: New file.
57480         * modules/unistdio/u32-u32-sprintf: New file.
57481         * modules/unistdio/u32-u32-vasnprintf: New file.
57482         * modules/unistdio/u32-u32-vasprintf: New file.
57483         * modules/unistdio/u32-u32-vsnprintf: New file.
57484         * modules/unistdio/u32-u32-vsprintf: New file.
57485         * modules/unistdio/ulc-asnprintf-tests: New file.
57486         * modules/unistdio/ulc-vasnprintf-tests: New file.
57487         * modules/unistdio/ulc-vasprintf-tests: New file.
57488         * modules/unistdio/ulc-vsnprintf-tests: New file.
57489         * modules/unistdio/ulc-vsprintf-tests: New file.
57490         * modules/unistdio/u8-asnprintf-tests: New file.
57491         * modules/unistdio/u8-vasnprintf-tests: New file.
57492         * modules/unistdio/u8-vasprintf-tests: New file.
57493         * modules/unistdio/u8-vsnprintf-tests: New file.
57494         * modules/unistdio/u8-vsprintf-tests: New file.
57495         * modules/unistdio/u16-asnprintf-tests: New file.
57496         * modules/unistdio/u16-vasnprintf-tests: New file.
57497         * modules/unistdio/u16-vasprintf-tests: New file.
57498         * modules/unistdio/u16-vsnprintf-tests: New file.
57499         * modules/unistdio/u16-vsprintf-tests: New file.
57500         * modules/unistdio/u32-asnprintf-tests: New file.
57501         * modules/unistdio/u32-vasnprintf-tests: New file.
57502         * modules/unistdio/u32-vasprintf-tests: New file.
57503         * modules/unistdio/u32-vsnprintf-tests: New file.
57504         * modules/unistdio/u32-vsprintf-tests: New file.
57505         * MODULES.html.sh (Unicode string functions): Add the new modules.
57506
57507 2007-07-01  Bruno Haible  <bruno@clisp.org>
57508
57509         * lib/sprintf.c (sprintf): Limit the available length estimation,
57510         to avoid address wraparound.
57511         * lib/vsprintf.c (vsprintf): Likewise.
57512         * modules/sprintf-posix (Dependencies): Add stdint.
57513         * modules/vsprintf-posix (Dependencies): Likewise.
57514
57515 2007-07-01  Bruno Haible  <bruno@clisp.org>
57516
57517         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
57518         Windows PATH as well. Conservative double-quoting. Comments.
57519
57520 2007-07-01  Bruno Haible  <bruno@clisp.org>
57521             Eric Blake  <ebb9@byu.net>
57522             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57523
57524         * gnulib-tool (self_abspathname): Fix algorithm to cope with
57525         empty components in $PATH, denoting '.'.
57526
57527 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57528
57529         * gnulib-tool: Fix indentation.
57530         (func_create_megatestdir): Likewise.
57531         Report by Bruno Haible.
57532
57533 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57534
57535         Sync from Automake.
57536         * build-aux/gnupload: Fix shell portability issues with for loops.
57537         Report by Karl Berry.
57538
57539 2007-06-29  Simon Josefsson  <simon@josefsson.org>
57540
57541         * build-aux/maint.mk (POURL): Use translationproject.org.
57542
57543 2007-06-27  Simon Josefsson  <simon@josefsson.org>
57544             Bruno Haible  <bruno@clisp.org>
57545
57546         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
57547         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
57548         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
57549         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
57550         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
57551
57552 2007-06-27  Bruno Haible  <bruno@clisp.org>
57553
57554         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
57555         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
57556
57557 2007-06-26  Karl Berry  <karl@gnu.org>
57558
57559         * MODULES.html.sh: remove xreadlink-with-size.
57560
57561 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57562
57563         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
57564         method that I hope also handles the double-include problem noted
57565         by Bruno Haible in
57566         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
57567
57568 2007-06-23  Bruno Haible  <bruno@clisp.org>
57569
57570         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57571         Don't let the 'mostlyclean' target fail if the last subdirectory could
57572         not be removed.
57573         Reported by Karl Berry.
57574
57575 2007-06-23  Bruno Haible  <bruno@clisp.org>
57576
57577         * gnulib-tool (echo): Add a speedier workaround for ksh.
57578         * tests/test-echo.sh: Likewise.
57579
57580 2007-06-23  Bruno Haible  <bruno@clisp.org>
57581
57582         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
57583         * tests/test-echo.sh: Likewise.
57584
57585 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57586
57587         * gnulib-tool (IFS): Initialize early, so we don't set it to
57588         empty later.
57589         (self_abspathname): Rewrite algorithm to set it, reindent.
57590         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
57591         (func_create_megatestdir): Merge some sed scripts.
57592
57593 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57594
57595         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
57596         exposed by Sun Studio 11 cc on Solaris 8.
57597
57598 2007-06-22  Bruno Haible  <bruno@clisp.org>
57599
57600         * gnulib-tool (echo): Ensure the echo primitive does not interpret
57601         backslashes.
57602         * tests/test-echo.sh: New file.
57603
57604 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57605
57606         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
57607         simplify `sed_replace_build_aux' scripts, they are portable but
57608         echoing them with `echo' is not.
57609         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
57610
57611 2007-06-21  Karl Berry  <karl@gnu.org>
57612
57613         * config/srclist.txt: guess we can't handle the licenses via
57614         srclist at the moment.
57615
57616 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
57617
57618         * MODULES.html.sh: Add include_next.
57619         * modules/include_next: New file.
57620
57621 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
57622
57623         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
57624         INCLUDE_NEXT.
57625         (gl_CHECK_NEXT_HEADERS): New macro.
57626         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
57627         the obsolescent gl_ABSOLUTE_HEADER.
57628         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
57629         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
57630         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
57631         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57632         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
57633         * m4/math_h.m4 (gl_MATH_H): Likewise.
57634         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
57635         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
57636         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
57637         * m4/stdint.m4 (gl_STDINT_H): Likewise.
57638         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
57639         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
57640         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
57641         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57642         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57643         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
57644         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
57645         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
57646         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
57647         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
57648         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
57649         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
57650         * m4/inttypes.m4 (gl_INTTYPES_H): Define
57651         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
57652         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
57653         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
57654         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
57655         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
57656         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
57657         * lib/float_.h: Likewise.
57658         * lib/inttypes_.h: Likewise.
57659         * lib/math_.h: Likewise.
57660         * lib/search_.h: Likewise.
57661         * lib/signal_.h: Likewise.
57662         * lib/stdint_.h: Likewise.
57663         * lib/stdio_.h: Likewise.
57664         * lib/stdlib_.h: Likewise.
57665         * lib/string_.h: Likewise.
57666         * lib/sys_stat_.h: Likewise.
57667         * lib/sys_time_.h: Likewise.
57668         * lib/time_.h: Likewise.
57669         * lib/unistd_.h: Likewise.
57670         * lib/wchar_.h: Likewise.
57671         * lib/wctype_.h: Likewise.
57672         * lib/dirent_.h: Likewise.
57673         * lib/iconv_.h: Likewise.
57674         * lib/locale_.h: Likewise.
57675         * lib/netinet_in_.h: Likewise.
57676         * lib/sys_select_.h: Likewise.
57677         * lib/sys_socket_.h: Likewise.
57678         * lib/sysexits_.h: Likewise.
57679         * modules/fcntl (Depends-on): Depend on include_next, not
57680         absolute_header.
57681         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
57682         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
57683         * modules/fchdir: Likewise.
57684         * modules/float: Likewise.
57685         * modules/iconv_open: Likewise.
57686         * modules/inttypes: Likewise.
57687         * modules/locale: Likewise.
57688         * modules/math: Likewise.
57689         * modules/netinet_in: Likewise.
57690         * modules/search: Likewise.
57691         * modules/signal: Likewise.
57692         * modules/stdint: Likewise.
57693         * modules/stdio: Likewise.
57694         * modules/stdlib: Likewise.
57695         * modules/string: Likewise.
57696         * modules/sys_select: Likewise.
57697         * modules/sys_socket: Likewise.
57698         * modules/sys_stat: Likewise.
57699         * modules/sys_time: Likewise.
57700         * modules/sysexits: Likewise.
57701         * modules/time: Likewise.
57702         * modules/unistd: Likewise.
57703         * modules/wchar: Likewise.
57704         * modules/wctype: Likewise.
57705         * modules/sys_stat: Change maintainer to "all".
57706         * modules/unistd: Likewise.
57707
57708 2007-06-20  Karl Berry  <karl@gnu.org>
57709
57710         * config/srclist.txt: track www changes in license files.
57711
57712 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
57713
57714         * build-aux/bootstrap: Remove stray dot.
57715         Make sure build_aux settings are honored when linking
57716         gnulib_extra_files.
57717
57718 2007-06-19  Eric Blake  <ebb9@byu.net>
57719
57720         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
57721         Allow compilation on cygwin.
57722
57723 2007-06-19  Jim Meyering  <jim@meyering.net>
57724
57725         xreadlink-with-size: Remove module.  No longer used.
57726         Ex-callers now use xreadlink or mreadlink-with-size.
57727         * modules/xreadlink-with-size: Remove module.
57728         * lib/xreadlink-with-size.c: Remove file.
57729         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
57730         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
57731         just before the function definition *is* accurate.
57732
57733         Eliminate one way canonicalize_filename_mode could exit.
57734         * lib/canonicalize.c (canonicalize_filename_mode):
57735         Use mreadlink_with_size, not xreadlink_with_size.
57736
57737 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
57738
57739         Detect porting problems to FreeBSD/arm, which has time_t wider than
57740         long int.  Original problem reported for GNU diff by Xin Li in
57741         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
57742         * modules/getdate (Depends-on): Add intprops, verify.
57743         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
57744         is an integer type no wider than long int.
57745
57746 2007-06-18  Jim Meyering  <jim@meyering.net>
57747
57748         New module: mreadlink-with-size.
57749         * MODULES.html.sh: Add mreadlink-with-size.
57750         * modules/mreadlink-with-size: New module
57751         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
57752         not xreadlink-with-size.
57753         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
57754
57755 2007-06-16  Bruno Haible  <bruno@clisp.org>
57756
57757         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
57758         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
57759         Reported by Gary V. Vaughan <gary@gnu.org>.
57760
57761 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
57762
57763         Revamp lchown so that it lives in unistd.h where it belongs.
57764         * lib/lchown.h: Remove.
57765         * lib/dirchownmod.c: Don't include lib/lchown.h.
57766         * lib/fchownat.c: Likewise.
57767         * lib/openat.c: Likewise.
57768         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
57769         does not follow symlinks.
57770         (EOPNOTSUPP): Define if not defined.
57771         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
57772         is defined to 0.
57773         (lchown): New decl.
57774         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
57775         Do not check for lchown decl.
57776         Set REPLACE_LCHOWN.
57777         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
57778         REPLACE_LCHOWN.
57779         * modules/chown: Make it clear it follows symlinks.
57780         * modules/lchown: Make it clear it doesn't follow symlinks.
57781         (Files): Remove lib/lchown.h
57782         (Depends-on): Add unistd.
57783         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
57784         (Include): Include <unistd.h>, not "lchown.h".
57785         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
57786         REPLACE_LCHOWN.
57787
57788 2007-06-15  Jim Meyering  <jim@meyering.net>
57789
57790         Change license (GPL to LGPL) of fsusage and dependents.
57791         * modules/fsusage (License): Change to LGPL.
57792         * modules/full-read (License): Likewise.
57793         * modules/full-write (License): Likewise.
57794         * modules/safe-read (License): Likewise.
57795         * modules/safe-write (License): Likewise.
57796
57797 2007-06-14  Ben Pfaff  <blp@gnu.org>
57798
57799         Missing part of allocsa -> malloca transition.
57800         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
57801         gl_MALLOCA.
57802
57803 2007-06-12  Bruno Haible  <bruno@clisp.org>
57804
57805         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
57806         to ia64, x86_64, i386.
57807         Reported by Eric Blake.
57808
57809 2007-06-12  Bruno Haible  <bruno@clisp.org>
57810
57811         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
57812         cross-compiling to x86_64.
57813
57814 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
57815
57816         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
57817         glitch reported by Ralf Wildenhues in
57818         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
57819
57820         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
57821         Vin Shelton.
57822
57823 2007-06-11  Bruno Haible  <bruno@clisp.org>
57824
57825         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
57826         replacement string.
57827         Reported by Eric Blake.
57828
57829 2007-06-10  Bruno Haible  <bruno@clisp.org>
57830
57831         Prepare vasnprintf code for use with Unicode strings.
57832         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
57833         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
57834         TYPE_U32_STRING.
57835         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
57836         a_u32_string variants.
57837         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
57838         * lib/printf-args.c: Don't include config.h and the specification
57839         header if PRINTF_FETCHARGS is already defined.
57840         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
57841         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
57842         TYPE_U16_STRING, TYPE_U32_STRING.
57843         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
57844         u16_directive, u16_directives, u32_directive, u32_directives): New
57845         types.
57846         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
57847         New declarations.
57848         * lib/printf-parse.c: Don't include config.h and the specification
57849         header if PRINTF_PARSE is already defined. Eliminate the set of
57850         parameters for WIDE_CHAR_VERSION; the user of this file must provide
57851         them now. Include c-ctype.h.
57852         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
57853         directive and CHAR_T_ONLY_ASCII.
57854         * lib/vasnprintf.c: Don't include config.h and the specification header
57855         if VASNPRINTF is already defined.
57856         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
57857         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
57858         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
57859         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
57860         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
57861         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
57862         code accordingly.
57863         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
57864         pad_ourselves also in this case, with the 'c' and 's' directives, and
57865         with a different notion of "width".
57866         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
57867
57868 2007-06-10  Bruno Haible  <bruno@clisp.org>
57869
57870         * modules/unistr/u32-mbsnlen: New file.
57871         * lib/unistr/u32-mbsnlen.c: New file.
57872
57873         * modules/unistr/u16-mbsnlen: New file.
57874         * lib/unistr/u16-mbsnlen.c: New file.
57875
57876         * modules/unistr/u8-mbsnlen: New file.
57877         * lib/unistr/u8-mbsnlen.c: New file.
57878
57879         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
57880         declarations.
57881
57882 2007-06-10  Bruno Haible  <bruno@clisp.org>
57883
57884         * lib/string_.h (mbsnlen): New declaration.
57885         * lib/mbsnlen.c: New file.
57886         * m4/mbsnlen.m4: New file.
57887         * modules/mbsnlen: New file.
57888         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
57889         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
57890         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
57891
57892 2007-06-10  Bruno Haible  <bruno@clisp.org>
57893
57894         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
57895
57896 2007-06-10  Bruno Haible  <bruno@clisp.org>
57897
57898         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
57899         * lib/mbuiter.h: Likewise.
57900
57901 2007-06-10  Bruno Haible  <bruno@clisp.org>
57902
57903         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
57904         declaration.
57905
57906 2007-06-10  Karl Berry  <karl@gnu.org>
57907
57908         * config/srclist.txt: remove gettext entries, Bruno prefers
57909         to update individually.
57910
57911 2007-06-10  Bruno Haible  <bruno@clisp.org>
57912
57913         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
57914         'maxlen'. Ensure only length + width bytes are allocated, not
57915         length + 1 + width.
57916
57917 2007-06-09  Bruno Haible  <bruno@clisp.org>
57918
57919         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
57920         (CHAR_T): Remove macro.
57921         (VASNPRINTF): Update.
57922
57923 2007-06-09  Bruno Haible  <bruno@clisp.org>
57924
57925         * MODULES.html.sh (Unicode string functions): Add the new modules.
57926
57927         * modules/uniconv/u32-conv-to-enc: New file.
57928         * lib/uniconv/u32-conv-to-enc.c: New file.
57929         * modules/uniconv/u32-conv-to-enc-tests: New file.
57930         * tests/uniconv/test-u32-conv-to-enc.c: New file.
57931
57932         * modules/uniconv/u16-conv-to-enc: New file.
57933         * lib/uniconv/u16-conv-to-enc.c: New file.
57934         * lib/uniconv/u-conv-to-enc.h: New file.
57935         * modules/uniconv/u16-conv-to-enc-tests: New file.
57936         * tests/uniconv/test-u16-conv-to-enc.c: New file.
57937
57938         * modules/uniconv/u8-conv-to-enc: New file.
57939         * lib/uniconv/u8-conv-to-enc.c: New file.
57940         * modules/uniconv/u8-conv-to-enc-tests: New file.
57941         * tests/uniconv/test-u8-conv-to-enc.c: New file.
57942
57943         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
57944         u32_conv_to_encoding): New declarations.
57945
57946 2007-06-09  Bruno Haible  <bruno@clisp.org>
57947
57948         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
57949
57950 2007-06-09  Bruno Haible  <bruno@clisp.org>
57951
57952         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
57953         * modules/malloca: Renamed from modules/allocsa, updated.
57954         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
57955         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
57956         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
57957         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
57958         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
57959         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
57960         * modules/xmalloca: Renamed from modules/xallocsa, updated.
57961         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
57962         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
57963         * modules/c-strcasestr (Depends-on): Update.
57964         * lib/c-strcasestr.c: Update.
57965         * modules/c-strstr (Depends-on): Update.
57966         * lib/c-strstr.c: Update.
57967         * modules/canonicalize-lgpl (Depends-on): Update.
57968         * lib/canonicalize-lgpl.c: Update.
57969         * modules/clean-temp (Depends-on): Update.
57970         * lib/clean-temp.c: Update.
57971         * modules/csharpcomp (Depends-on): Update.
57972         * lib/csharpcomp.c: Update.
57973         * modules/csharpexec (Depends-on): Update.
57974         * lib/csharpexec.c: Update.
57975         * modules/javacomp (Depends-on): Update.
57976         * lib/javacomp.c: Update.
57977         * modules/javaexec (Depends-on): Update.
57978         * lib/javaexec.c: Update.
57979         * modules/mbscasestr (Depends-on): Update.
57980         * lib/mbscasestr.c: Update.
57981         * modules/mbsstr (Depends-on): Update.
57982         * lib/mbsstr.c: Update.
57983         * modules/setenv (Depends-on): Update.
57984         * lib/setenv.c: Update.
57985         * modules/strcasestr (Depends-on): Update.
57986         * lib/strcasestr.c: Update.
57987         * modules/striconveha (Depends-on): Update.
57988         * lib/striconveha.c: Update.
57989         * modules/relocatable-prog-wrapper (Files): Update.
57990         * lib/relocwrapper.c: Update.
57991         * build-aux/install-reloc: Update.
57992         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
57993
57994 2007-06-08  Bruno Haible  <bruno@clisp.org>
57995
57996         Port to uClibc.
57997         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
57998         * lib/fpurge.c (fpurge): Likewise.
57999         * lib/freading.c (freading): Likewise.
58000         * lib/fseeko.c (rpl_fseeko): Likewise.
58001         * lib/fseterr.c (fseterr): Likewise.
58002         * lib/fwriting.c (fwriting): Likewise.
58003         * tests/test-fflush.c (main): Avoid a failure on uClibc.
58004
58005 2007-06-08  Bruno Haible  <bruno@clisp.org>
58006
58007         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
58008         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
58009         * modules/gettext (Files): Add m4/intlmacosx.m4.
58010
58011 2007-06-07  Bruno Haible  <bruno@clisp.org>
58012
58013         * modules/localename-tests: New file.
58014         * tests/test-localename.c: New file.
58015
58016         New module 'localename'.
58017         * lib/localename.h: New file.
58018         * lib/localename.c: New file, from GNU gettext.
58019         * m4/localename.m4: New file.
58020         * modules/localename: New file.
58021
58022 2007-06-07  Bruno Haible  <bruno@clisp.org>
58023
58024         Work around the lack of <wchar.h> on some builds of uClibc.
58025         * doc/headers/wchar.texi: Update.
58026         * lib/wchar_.h: Include <wchar.h> only if it exists.
58027         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
58028         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
58029         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
58030         doesn't exist.
58031         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
58032         * modules/mbfile (Depends-on): Add wchar.
58033         * modules/mbiter (Depends-on): Likewise.
58034         * modules/mbuiter (Depends-on): Likewise.
58035         Reported by Simon Josefsson.
58036
58037 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
58038
58039         Work around problem reported by Steven M. Schweda in
58040         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
58041         Tru64 5.1B with the Compaq compiler environment installed declares
58042         an 'isblank' function but does not define it in the C library.
58043         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
58044         * lib/regex_internal.h (isblank): Likewise.
58045         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
58046         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
58047
58048 2007-06-05  Bruno Haible  <bruno@clisp.org>
58049
58050         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
58051         ia64.
58052         * modules/printf-safe: New file.
58053         * modules/fprintf-posix (Depends-on): Add printf-safe.
58054         * modules/printf-posix (Depends-on): Likewise.
58055         * modules/snprintf-posix (Depends-on): Likewise.
58056         * modules/sprintf-posix (Depends-on): Likewise.
58057         * modules/vasnprintf-posix (Depends-on): Likewise.
58058         * modules/vasprintf-posix (Depends-on): Likewise.
58059         * modules/vfprintf-posix (Depends-on): Likewise.
58060         * modules/vprintf-posix (Depends-on): Likewise.
58061         * modules/vsnprintf-posix (Depends-on): Likewise.
58062         * modules/vsprintf-posix (Depends-on): Likewise.
58063         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
58064         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
58065         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
58066         "no" on i386, x86_64, ia64.
58067         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
58068         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58069         on i386, x86_64, ia64.
58070         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
58071         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58072         on i386, x86_64, ia64.
58073         * tests/test-vasnprintf-posix.c: Include float.h.
58074         (LDBL80_WORDS): New macro.
58075         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58076         on i386, x86_64, ia64.
58077         * tests/test-vasprintf-posix.c: Include float.h.
58078         (LDBL80_WORDS): New macro.
58079         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58080         on i386, x86_64, ia64.
58081         * tests/test-snprintf-posix.c: Include float.h.
58082         * tests/test-sprintf-posix.c: Likewise.
58083         * tests/test-vsnprintf-posix.c: Likewise.
58084         * tests/test-vsprintf-posix.c: Likewise.
58085
58086 2007-06-05  Bruno Haible  <bruno@clisp.org>
58087
58088         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
58089         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
58090         non-IEEE numbers on i386, x86_64, ia64.
58091         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
58092         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
58093         * tests/test-isnanl.h: Include float.h.
58094         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
58095
58096 2007-06-05  Bruno Haible  <bruno@clisp.org>
58097
58098         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
58099         also the %a / %A. Handle the %a / %A code before this extra handling.
58100
58101 2007-06-05  Bruno Haible  <bruno@clisp.org>
58102
58103         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
58104         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
58105
58106 2007-06-05  Bruno Haible  <bruno@clisp.org>
58107
58108         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
58109         typo in variable name.
58110
58111 2007-06-05  Eric Blake  <ebb9@byu.net>
58112
58113         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
58114         Reported by Simon Josefsson.
58115
58116 2007-06-04  Bruno Haible  <bruno@clisp.org>
58117
58118         Avoid test failures on some PowerPC platforms.
58119         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
58120         Define differently for PowerPC.
58121         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
58122         Reported by Gary V. Vaughan <gary@gnu.org>.
58123
58124 2007-06-02  Bruno Haible  <bruno@clisp.org>
58125
58126         Fix test-stdint failure on FreeBSD/ia64.
58127         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
58128         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
58129         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
58130         * doc/headers/stdint.texi: Update.
58131
58132 2007-06-01  Bruno Haible  <bruno@clisp.org>
58133
58134         * tests/test-binary-io.c (main): Pass a third argument to open().
58135         Reported by Gary V. Vaughan <gary@gnu.org>.
58136
58137 2007-06-01  Bruno Haible  <bruno@clisp.org>
58138
58139         * doc/functions/frexpl.texi: Update for mingw.
58140
58141 2007-06-01  Bruno Haible  <bruno@clisp.org>
58142
58143         * tests/test-lseek.c (main): Disable test of errno for invalid third
58144         argument.
58145         * doc/functions/lseek.texi: Update.
58146         Reported by Gary V. Vaughan <gary@gnu.org>.
58147
58148 2007-05-28  Bruno Haible  <bruno@clisp.org>
58149
58150         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
58151
58152 2007-05-31  Eric Blake  <ebb9@byu.net>
58153
58154         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
58155         cross compiling.
58156
58157 2007-05-30  Eric Blake  <ebb9@byu.net>
58158         and Bruno Haible  <bruno@clisp.org>
58159
58160         Work around mingw test failures exposed by m4-1.4.9b.
58161         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
58162         * tests/test-unistd.c: Disable uid_t and git_t tests for the
58163         moment.
58164
58165 2007-05-30  Bruno Haible  <bruno@clisp.org>
58166
58167         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
58168         assuming that they are closed. Needed on HP-UX 11.
58169
58170 2007-05-29  Bruno Haible  <bruno@clisp.org>
58171
58172         Fix a problem with #include_next.
58173         * lib/dirent_.h: Split the double-inclusion guard.
58174         * lib/fcntl_.h: Likewise.
58175         * lib/float_.h: Likewise.
58176         * lib/iconv_.h: Likewise.
58177         * lib/inttypes_.h: Likewise.
58178         * lib/locale_.h: Likewise.
58179         * lib/math_.h: Likewise.
58180         * lib/netinet_in_.h: Likewise.
58181         * lib/search_.h: Likewise.
58182         * lib/signal_.h: Likewise.
58183         * lib/stdint_.h: Likewise.
58184         * lib/stdio_.h: Likewise.
58185         * lib/stdlib_.h: Likewise.
58186         * lib/string_.h: Likewise.
58187         * lib/sys_select_.h: Likewise.
58188         * lib/sys_socket_.h: Likewise.
58189         * lib/sys_stat_.h: Likewise.
58190         * lib/sys_time_.h: Likewise.
58191         * lib/sysexits_.h: Likewise.
58192         * lib/time_.h: Likewise.
58193         * lib/unistd_.h: Likewise.
58194         * lib/wchar_.h: Likewise.
58195         * lib/wctype_.h: Likewise.
58196
58197 2007-05-29  Bruno Haible  <bruno@clisp.org>
58198
58199         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
58200         for the moment.
58201
58202 2007-05-29  Bruno Haible  <bruno@clisp.org>
58203
58204         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
58205         invocation.
58206         Reported by Eric Blake.
58207
58208 2007-05-29  Bruno Haible  <bruno@clisp.org>
58209
58210         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
58211         compiling case.
58212
58213 2007-05-29  Eric Blake  <ebb9@byu.net>
58214             Bruno Haible  <bruno@clisp.org>
58215
58216         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
58217         cross compiles.
58218
58219 2007-05-28  Eric Blake  <ebb9@byu.net>
58220
58221         * modules/closein-tests (test_closein_LDADD): Support test on
58222         cygwin with libtool.
58223
58224 2007-05-28  Bruno Haible  <bruno@clisp.org>
58225
58226         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
58227         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58228         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58229         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58230         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58231         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58232         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58233         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58234         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58235
58236 2007-05-28  Eric Blake  <ebb9@byu.net>
58237
58238         Unconditionally include <config.h> in unit tests.
58239         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
58240         * tests/test-allocsa.c, tests/test-arcfour.c,
58241         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
58242         tests/test-array_list.c, tests/test-array_oset.c,
58243         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
58244         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
58245         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
58246         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
58247         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
58248         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
58249         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
58250         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
58251         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
58252         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
58253         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
58254         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
58255         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
58256         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
58257         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
58258         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
58259         test-md5.c, test-memmem.c, test-printf-posix.c,
58260         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
58261         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
58262         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
58263         test-strcasestr.c, test-striconv.c, test-striconveh.c,
58264         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
58265         test-vasnprintf-posix2.c, test-vasnprintf.c,
58266         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
58267         test-vfprintf-posix.c, test-vprintf-posix.c,
58268         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
58269         test-xvasprintf.c: Likewise.
58270
58271 2007-05-28  Bruno Haible  <bruno@clisp.org>
58272
58273         * gnulib-tool (func_import): Remember the --with-tests command-line
58274         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
58275         Reported by Eric Blake.
58276
58277 2007-05-28  Bruno Haible  <bruno@clisp.org>
58278
58279         * modules/ftell-tests: New file.
58280         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
58281         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
58282
58283         * lib/ftell.c: New file.
58284         * modules/ftell: New file.
58285         * m4/ftell.m4: New file.
58286         * doc/functions/ftell.texi: Update.
58287         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
58288         REPLACE_FTELL.
58289         * lib/stdio_.h (rpl_ftell): New declaration.
58290         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
58291         REPLACE_FTELL.
58292
58293 2007-05-28  Eric Blake  <ebb9@byu.net>
58294
58295         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
58296
58297 2007-05-28  Bruno Haible  <bruno@clisp.org>
58298
58299         * modules/fseek-tests: New file.
58300         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
58301         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
58302
58303         * lib/fseek.c: New file.
58304         * modules/fseek: New file.
58305         * m4/fseek.m4: New file.
58306         * doc/functions/fseek.texi: Update.
58307         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
58308         REPLACE_FSEEK.
58309         * lib/stdio_.h (rpl_fseek): New declaration.
58310         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
58311         REPLACE_FSEEK.
58312
58313 2007-05-28  Bruno Haible  <bruno@clisp.org>
58314
58315         * lib/stdio_.h (fflush): More comments.
58316
58317 2007-05-28  Bruno Haible  <bruno@clisp.org>
58318
58319         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
58320         runtime test.
58321
58322 2007-05-28  Eric Blake  <ebb9@byu.net>
58323
58324         Improve lseek module.
58325         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
58326         * lib/unistd_.h (lseek): Scale back link warning message.
58327         * tests/test-lseek.c: Beef up test.
58328         * tests/test-lseek.sh: Exercise more facets of lseek.
58329         Reported by Bruno Haible.
58330
58331 2007-05-28  Bruno Haible  <bruno@clisp.org>
58332
58333         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
58334         to define.
58335
58336 2007-05-27  Bruno Haible  <bruno@clisp.org>
58337
58338         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
58339
58340 2007-05-27  Bruno Haible  <bruno@clisp.org>
58341
58342         * modules/openmp: New file.
58343         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
58344         Noah Misch.
58345
58346 2007-05-26  Bruno Haible  <bruno@clisp.org>
58347
58348         * modules/chdir-long (Depends-on): Add fchdir.
58349         * modules/chdir-safer (Depends-on): Likewise.
58350         * modules/fts (Depends-on): Likewise.
58351         * modules/fts-lgpl (Depends-on): Likewise.
58352         * modules/openat (Depends-on): Likewise.
58353         * modules/savewd (Depends-on): Likewise.
58354
58355 2007-05-24  Eric Blake  <ebb9@byu.net>
58356
58357         Fix lseek on mingw.
58358         * modules/lseek: New module.
58359         * m4/lseek.m4: New file.
58360         * lib/lseek.c: New file.
58361         * modules/lseek-tests: New file.
58362         * tests/test-lseek.c: New file.
58363         * tests/test-lseek.sh: New file.
58364         * MODULES.html.sh: Document lseek module.
58365         * modules/fflush (Depends-on): Add lseek, fseeko.
58366         * modules/fseeko (Depends-on): Likewise.
58367         * modules/ftello (Depends-on): Likewise.
58368         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
58369         broken.
58370         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
58371         broken.
58372         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
58373         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
58374         * lib/ftello.c (rpl_ftello): Likewise.
58375         * tests/test-fseeko.c (main): Test this.
58376         * tests/test-fseeko.sh: Likewise.
58377         * tests/test-ftello.c (main): Likewise.
58378         * tests/test-ftello.sh: Likewise.
58379         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
58380         implies replacing fseek.
58381         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
58382         HAVE_FTELLO.
58383         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
58384         * modules/unistd (Makefile.am): Likewise.
58385         * lib/unistd_.h (lseek): Declare a replacement.
58386         * doc/functions/lseek.texi (lseek): Document this fix.
58387         * doc/functions/fseek.texi (fseek): Likewise.
58388         * doc/functions/ftell.texi (ftell): Likewise.
58389
58390 2007-05-24  Bruno Haible  <bruno@clisp.org>
58391
58392         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
58393         in the printed representation of a NaN.
58394         * tests/test-vasprintf-posix.c (test_function): Likewise.
58395         * tests/test-snprintf-posix.h (test_function): Likewise.
58396         * tests/test-sprintf-posix.h (test_function): Likewise.
58397         Reported by Eric Blake.
58398
58399 2007-05-23  Eric Blake  <ebb9@byu.net>
58400
58401         Fix fseeko/ftello on cygwin 1.5.24.
58402         * doc/functions/fseeko.texi (fseeko): Document the fix.
58403         * doc/functions/ftello.texi (ftello): Document the fix.
58404         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
58405         * doc/functions/stdout.text (stdout): New file.
58406         * doc/functions/stderr.text (stderr): New file.
58407         * doc/gnulib.texi (Function Substitutes): Use new files.
58408         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
58409         prior to 1.7.0.
58410         * tests/test-ftello.c (main): Likewise for ftello.
58411         * tests/test-fseeko.sh: New file.
58412         * tests/test-ftello.sh: New file.
58413         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
58414         with seekable stdin.
58415         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
58416         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
58417         (gl_REPLACE_FSEEKO): New macro.
58418         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
58419         * modules/fseeko (Files): Distribute fseeko.c.
58420         * modules/ftello (Files): Distribute ftello.c.
58421         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
58422         mode.
58423         * lib/ftello.c (rpl_ftello): New file.
58424         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
58425         fseeko, ftello.
58426         (gl_STDIN_LARGE_OFFSET): New macro.
58427         * modules/stdio (Makefile.am): Perform the replacement.
58428         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
58429
58430 2007-05-23  Bruno Haible  <bruno@clisp.org>
58431
58432         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
58433         GNULIB_POSIXCHECK is defined.
58434
58435 2007-05-21  Bruno Haible  <bruno@clisp.org>
58436
58437         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
58438         Check also the output for NaN arguments. When cross-compiling, guess
58439         no on IRIX.
58440         * lib/vasnprintf.c: Update comments.
58441         * tests/test-vasnprintf-posix.c (strisnan): New function.
58442         (test_function): Use it.
58443         * tests/test-vasprintf-posix.c (strisnan): New function.
58444         (test_function): Use it.
58445         * tests/test-snprintf-posix.h (strisnan): New function.
58446         (test_function): Use it.
58447         * tests/test-sprintf-posix.h (strisnan): New function.
58448         (test_function): Use it.
58449         Reported by Eric Blake.
58450
58451 2007-05-20  Bruno Haible  <bruno@clisp.org>
58452
58453         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
58454         numbers that fails on BeOS.
58455         * doc/functions/frexpl.texi: Update.
58456
58457 2007-05-20  Jim Meyering  <jim@meyering.net>
58458
58459         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
58460         forced upon us by glibc-2.6.
58461
58462 2007-05-20  Bruno Haible  <bruno@clisp.org>
58463
58464         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
58465         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
58466         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
58467         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
58468         NEED_PRINTF_INFINITE.
58469         (is_infinitel): New function.
58470         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
58471         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
58472         gl_PREREQ_VASNPRINTF_INFINITE.
58473         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
58474         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58475         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
58476         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
58477         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
58478         gl_PREREQ_VASNPRINTF_INFINITE.
58479         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58480         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58481         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58482         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58483         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58484         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58485         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58486         * doc/functions/fprintf.texi: Update.
58487         * doc/functions/printf.texi: Update.
58488         * doc/functions/snprintf.texi: Update.
58489         * doc/functions/sprintf.texi: Update.
58490         * doc/functions/vfprintf.texi: Update.
58491         * doc/functions/vprintf.texi: Update.
58492         * doc/functions/vsnprintf.texi: Update.
58493         * doc/functions/vsprintf.texi: Update.
58494
58495 2007-05-20  Bruno Haible  <bruno@clisp.org>
58496
58497         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
58498         was not found in libc.
58499         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
58500
58501 2007-05-20  Bruno Haible  <bruno@clisp.org>
58502
58503         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58504         printed as "-nan" instead of "nan".
58505         * tests/test-vasprintf-posix.c (test_function): Likewise.
58506         * tests/test-snprintf-posix.h (test_function): Likewise.
58507         * tests/test-sprintf-posix.h (test_function): Likewise.
58508         Needed for HP-UX 11.
58509
58510 2007-05-20  Jim Meyering  <jim@meyering.net>
58511
58512         Fix buggy test for the fchownat-deref bug.
58513         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
58514         symlink required for the run-test.  Without it, this test would
58515         always declare that fchownat doesn't work, and client code would
58516         unnecessarily use the replacement function with fixed libc.
58517         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
58518         Reported by Greg Schafer.
58519
58520 2007-05-19  Bruno Haible  <bruno@clisp.org>
58521
58522         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
58523         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
58524         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
58525         Needed for IRIX 6.5 and Solaris 2.5.1.
58526
58527 2007-05-19  Bruno Haible  <bruno@clisp.org>
58528
58529         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
58530         (test_function): Skip tests involving -0.0 on platforms where
58531         -0.0 = 0.0.
58532         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
58533         (test_function): Skip tests involving -0.0 on platforms where
58534         -0.0 = 0.0.
58535         * tests/test-snprintf-posix.h (have_minus_zero): New function.
58536         (test_function): Skip tests involving -0.0 on platforms where
58537         -0.0 = 0.0.
58538         * tests/test-sprintf-posix.h (have_minus_zero): New function.
58539         (test_function): Skip tests involving -0.0 on platforms where
58540         -0.0 = 0.0.
58541         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
58542         tests.
58543         * tests/test-printf-posix.h (test_function): Likewise.
58544         * tests/test-printf-posix.output: Remove all -0.0 related results.
58545         Needed for IRIX 6.5.
58546
58547 2007-05-19  Bruno Haible  <bruno@clisp.org>
58548
58549         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58550         printed as "nan0x7fffffff" instead of "nan".
58551         * tests/test-vasprintf-posix.c (test_function): Likewise.
58552         * tests/test-snprintf-posix.h (test_function): Likewise.
58553         * tests/test-sprintf-posix.h (test_function): Likewise.
58554         * tests/test-fprintf-posix.h (NaN): Remove macro.
58555         (test_function): Remove all NaN related tests.
58556         * tests/test-printf-posix.h (NaN): Remove macro.
58557         (test_function): Remove all NaN related tests.
58558         * tests/test-printf-posix.output: Remove all NaN related results.
58559         Needed for IRIX 6.5.
58560
58561 2007-05-19  Bruno Haible  <bruno@clisp.org>
58562
58563         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
58564         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
58565
58566 2007-05-19  Bruno Haible  <bruno@clisp.org>
58567
58568         * lib/float_.h: New file.
58569         * m4/float_h.m4: New file.
58570         * modules/float: New file.
58571         * modules/isnanl (Dependencies): Add float.
58572         * modules/isnanl-nolibm (Dependencies): Likewise.
58573         * modules/mathl (Dependencies): Likewise.
58574         * modules/printf-frexpl (Dependencies): Likewise.
58575         * modules/signbit (Dependencies): Likewise.
58576         * modules/vasnprintf (Dependencies): Likewise.
58577         * doc/headers/float.texi: Update.
58578
58579 2007-05-19  Jim Meyering  <jim@meyering.net>
58580
58581         * lib/utimens.c (gl_futimens): Rename from futimens,
58582         now that glibc-2.6 declares futimens.
58583         * lib/utimens.h: Likewise.
58584
58585 2007-05-19  Bruno Haible  <bruno@clisp.org>
58586
58587         Avoid test failures on mingw.
58588         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
58589         * tests/test-printf-posix.sh: Likewise.
58590         * tests/test-vfprintf-posix.sh: Likewise.
58591         * tests/test-vprintf-posix.sh: Likewise.
58592
58593 2007-05-19  Bruno Haible  <bruno@clisp.org>
58594
58595         Fix *printf result for NaN, Inf, -0.0 on mingw.
58596         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
58597         * lib/vasnprintf.c: Include math.h and isnan.h.
58598         (is_infinite_or_zero): New function.
58599         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
58600         values in the %f, %F, %e, %E, %g, %G directives.
58601         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
58602         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58603         gl_PRINTF_INFINITE and test its result. Invoke
58604         gl_PREREQ_VASNPRINTF_INFINITE.
58605         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58606         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58607         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58608         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58609         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58610         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58611         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58612         * doc/functions/fprintf.texi: Update.
58613         * doc/functions/printf.texi: Update.
58614         * doc/functions/snprintf.texi: Update.
58615         * doc/functions/sprintf.texi: Update.
58616         * doc/functions/vfprintf.texi: Update.
58617         * doc/functions/vprintf.texi: Update.
58618         * doc/functions/vsnprintf.texi: Update.
58619         * doc/functions/vsprintf.texi: Update.
58620
58621 2007-05-19  Bruno Haible  <bruno@clisp.org>
58622
58623         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
58624         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
58625         Instead of multiplying with 10^k, set extra_zeroes to k.
58626         (scale10_round_long_double): Remove function.
58627
58628 2007-05-18  Bruno Haible  <bruno@clisp.org>
58629
58630         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
58631         introduced on 2007-05-06.
58632
58633 2007-05-18  Bruno Haible  <bruno@clisp.org>
58634
58635         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
58636         %g directives.
58637         * tests/test-vasprintf-posix.c (test_function): Likewise.
58638         * tests/test-snprintf-posix.h (test_function): Likewise.
58639         * tests/test-sprintf-posix.h (test_function): Likewise.
58640
58641 2007-05-18  Bruno Haible  <bruno@clisp.org>
58642
58643         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
58644         (strmatch): New function.
58645         (test_function): Test the %f directive on numbers of various exponents.
58646         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
58647         (strmatch): New function.
58648         (test_function): Test the %f directive on numbers of various exponents.
58649         * tests/test-snprintf-posix.h (strmatch): New function.
58650         (test_function): Test the %f directive on numbers of various exponents.
58651         * tests/test-sprintf-posix.h (strmatch): New function.
58652         (test_function): Test the %f directive on numbers of various exponents.
58653         * tests/test-snprintf-posix.c (SIZEOF): New macro.
58654         * tests/test-sprintf-posix.c (SIZEOF): New macro.
58655         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
58656         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
58657
58658 2007-05-18  Bruno Haible  <bruno@clisp.org>
58659
58660         Add support for 'long double' number output.
58661         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
58662         * lib/vasnprintf.c: Include math.h and float+.h.
58663         (mp_limb_t): New type.
58664         (GMP_LIMB_BITS): New macro.
58665         (mp_twolimb_t): New type.
58666         (GMP_TWOLIMB_BITS): New macro.
58667         (mpn_t): New type.
58668         (multiply, divide, convert_to_decimal, decode_long_double,
58669         scale10_round_long_double, scale10_round_decimal_long_double,
58670         floorlog10l): New functions.
58671         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
58672         for the %f, %F, %e, %E, %g, %G directives.
58673         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
58674         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58675         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
58676         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
58677         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58678         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58679         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58680         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58681         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58682         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58683         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58684         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
58685         * modules/snprintf-posix (Depends-on): Likewise.
58686         * modules/sprintf-posix (Depends-on): Likewise.
58687         * modules/vasnprintf-posix (Depends-on): Likewise.
58688         * modules/vasprintf-posix (Depends-on): Likewise.
58689         * modules/vfprintf-posix (Depends-on): Likewise.
58690         * modules/vsnprintf-posix (Depends-on): Likewise.
58691         * modules/vsprintf-posix (Depends-on): Likewise.
58692         * modules/vasnprintf (Files): Add lib/float+.h.
58693         * doc/functions/fprintf.texi: Update.
58694         * doc/functions/printf.texi: Update.
58695         * doc/functions/snprintf.texi: Update.
58696         * doc/functions/sprintf.texi: Update.
58697         * doc/functions/vfprintf.texi: Update.
58698         * doc/functions/vprintf.texi: Update.
58699         * doc/functions/vsnprintf.texi: Update.
58700         * doc/functions/vsprintf.texi: Update.
58701
58702 2007-05-18  Bruno Haible  <bruno@clisp.org>
58703
58704         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
58705
58706 2007-05-18  Bruno Haible  <bruno@clisp.org>
58707
58708         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
58709         for printing 64-bit integers. Needed for mingw.
58710
58711 2007-05-18  Bruno Haible  <bruno@clisp.org>
58712
58713         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
58714         gl_FUNC_FREXPL_WORKS.
58715         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
58716
58717 2007-05-18  Bruno Haible  <bruno@clisp.org>
58718
58719         * modules/frexpl-nolibm-tests: New file.
58720
58721         * modules/frexpl-nolibm: New file.
58722         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
58723
58724 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
58725
58726         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
58727         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
58728         GCC 4.2, which otherwise issues a lot of warnings.
58729         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
58730         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
58731         Likewise.
58732         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
58733         * modules/iconv_open (iconv.h): Likewise.
58734         * modules/locale (locale.h): Likewise.
58735         * modules/netinet_in (netinet/in.h): Likewise.
58736         * modules/sys_select (sys_select.h): Likewise.
58737         * modules/sys_socket (sys/socket.h): Likewise.
58738         * modules/sys_stat (sys/stat.h): Likewise.
58739         * modules/sysexits (sysexits.h): Likewise.
58740         * modules/unistd (unistd.h): Likewise.
58741
58742 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58743
58744         * modules/closein-tests (Makefile.am): Distribute
58745         `test-closein.sh'.
58746
58747 2007-05-17  Bruno Haible  <bruno@clisp.org>
58748
58749         * tests/test-printf-posix.output: Renamed from
58750         tests/test-fprintf-posix.out.
58751         * modules/fprintf-posix-tests: Update.
58752         * modules/printf-posix-tests: Update.
58753         * modules/vfprintf-posix-tests: Update.
58754         * modules/vprintf-posix-tests: Update.
58755         * tests/test-fprintf-posix.sh: Update.
58756         * tests/test-printf-posix.sh: Update.
58757         * tests/test-vfprintf-posix.sh: Update.
58758         * tests/test-vprintf-posix.sh: Update.
58759         Reported by Ralf Wildenhues.
58760
58761 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
58762
58763         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
58764         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
58765         GCC 4.2, which otherwise issues a lot of warnings.
58766         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
58767         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
58768         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
58769         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
58770         it should no longer be needed.
58771         * lib/string_.h: Likewise.
58772         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
58773         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
58774         * modules/inttypes (inttypes.h): Likewise.
58775         * modules/math (math.h): Likewise.
58776         * modules/search (search.h): Likewise.
58777         * modules/signal (signal.h): Likewise.
58778         * modules/stdint (stdint.h): Likewise.
58779         * modules/stdio (stdio.h): Likewise.
58780         * modules/stdlib (stdlib.h): Likewise.
58781         * modules/string (string.h): Likewise.
58782         * modules/sys_time (sys/time.h): Likewise.
58783         * modules/time (time.h): Likewise.
58784         * modules/wchar (wchar.h): Likewise.
58785         * modules/wctype (wtype.h): Likewise.
58786
58787 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
58788
58789         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
58790
58791 2007-05-13  Bruno Haible  <bruno@clisp.org>
58792
58793         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
58794         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
58795         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
58796         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
58797         (gl_PREREQ_STRTOK_R): Don't require it here.
58798
58799 2007-05-13  Bruno Haible  <bruno@clisp.org>
58800
58801         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
58802         when used in C++ mode.
58803
58804 2007-05-12  Bruno Haible  <bruno@clisp.org>
58805
58806         * lib/linebuffer.h: Tweak doc.
58807         * lib/linebuffer.c: Likewise.
58808
58809 2007-05-12  James Youngman  <jay@gnu.org>
58810
58811         * lib/linebuffer.c (readlinebuffer_delim): New function,
58812         like readlinebuffer, but use a caller-specified delimiter.
58813         (readlinebuffer): Just call readlinebuffer_delim with '\n'
58814         as the delimiter.
58815         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
58816
58817 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
58818
58819         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
58820         * modules/openat (Files): Remove openat-die.c.
58821         (Depends-on): Add openat-die.
58822         * modules/openat-die: New module.
58823
58824 2007-05-06  Bruno Haible  <bruno@clisp.org>
58825
58826         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
58827         Update with info about Cygwin.
58828         * doc/functions/fprintf.texi: Update.
58829         * doc/functions/printf.texi: Update.
58830         * doc/functions/snprintf.texi: Update.
58831         * doc/functions/sprintf.texi: Update.
58832         * doc/functions/vfprintf.texi: Update.
58833         * doc/functions/vprintf.texi: Update.
58834         * doc/functions/vsnprintf.texi: Update.
58835         * doc/functions/vsprintf.texi: Update.
58836         Reported by Eric Blake.
58837
58838 2007-05-06  Bruno Haible  <bruno@clisp.org>
58839
58840         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
58841         padding ourselves for the floating-point directives.
58842         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
58843         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
58844         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
58845         gl_PRINTF_FLAG_ZERO and test its result. Invoke
58846         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
58847         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58848         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
58849         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58850         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58851         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58852         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58853         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58854         * tests/test-snprintf-posix.h (test_function): Also check the width
58855         and some flags in the %f directive.
58856         * tests/test-sprintf-posix.h (test_function): Likewise.
58857         * tests/test-vasnprintf-posix.c (test_function): Likewise.
58858         * tests/test-vasprintf-posix.c (test_function): Likewise.
58859         * doc/functions/fprintf.texi: Update.
58860         * doc/functions/printf.texi: Update.
58861         * doc/functions/snprintf.texi: Update.
58862         * doc/functions/sprintf.texi: Update.
58863         * doc/functions/vfprintf.texi: Update.
58864         * doc/functions/vprintf.texi: Update.
58865         * doc/functions/vsnprintf.texi: Update.
58866         * doc/functions/vsprintf.texi: Update.
58867
58868 2007-05-06  Bruno Haible  <bruno@clisp.org>
58869
58870         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
58871         pass the ' flag character to sprintf or snprintf.
58872         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
58873         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
58874         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
58875         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
58876         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
58877         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58878         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
58879         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58880         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58881         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58882         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58883         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58884         * tests/test-snprintf-posix.h (test_function): Also check the grouping
58885         flag.
58886         * tests/test-sprintf-posix.h (test_function): Likewise.
58887         * tests/test-vasnprintf-posix.c (test_function): Likewise.
58888         * tests/test-vasprintf-posix.c (test_function): Likewise.
58889         * doc/functions/fprintf.texi: Update.
58890         * doc/functions/printf.texi: Update.
58891         * doc/functions/snprintf.texi: Update.
58892         * doc/functions/sprintf.texi: Update.
58893         * doc/functions/vfprintf.texi: Update.
58894         * doc/functions/vprintf.texi: Update.
58895         * doc/functions/vsnprintf.texi: Update.
58896         * doc/functions/vsprintf.texi: Update.
58897
58898 2007-05-01  Bruno Haible  <bruno@clisp.org>
58899
58900         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
58901
58902 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
58903
58904         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
58905         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
58906
58907 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
58908
58909         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
58910         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
58911         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
58912
58913 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
58914
58915         * lib/argp-help.c (struct hol_entry): New member `ord'.
58916         (HOL_ENTRY_PTRCMP): Use ord for comparison
58917         (hol_sort): Initialize ord.
58918
58919 2007-05-01  Bruno Haible  <bruno@clisp.org>
58920
58921         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
58922         Reported by Eric Blake.
58923         * doc/gnulib.texi (Function Substitutes): Update.
58924
58925 2007-05-01  Bruno Haible  <bruno@clisp.org>
58926
58927         * doc/functions.texi: Remove file, now redundant through
58928         doc/functions/*.texi.
58929
58930 2007-05-01  Bruno Haible  <bruno@clisp.org>
58931
58932         * modules/argp (Depends-on): Add sleep.
58933
58934 2007-05-01  Bruno Haible  <bruno@clisp.org>
58935
58936         * modules/sleep-tests: New file.
58937         * tests/test-sleep.c: New file.
58938
58939         * modules/sleep: New file.
58940         * lib/sleep.c: New file.
58941         * m4/sleep.m4: New file.
58942         * lib/unistd_.h (sleep): New declaration.
58943         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
58944         HAVE_SLEEP.
58945         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
58946         * doc/functions/sleep.texi: Document the sleep module.
58947
58948 2007-05-01  Bruno Haible  <bruno@clisp.org>
58949
58950         * lib/sigprocmask.h: Remove file.
58951         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
58952         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
58953         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
58954         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
58955         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
58956         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
58957         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
58958         HAVE_SIGSET_T as a shell variable.
58959         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
58960         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
58961         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
58962         (Depends-on): Add signal. Remove verify.
58963         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
58964         (Include): Mention <signal.h> instead of sigprocmask.h.
58965         * NEWS: Mention the change.
58966         * lib/fatal-signal.c: Don't include sigprocmask.h.
58967
58968 2007-05-01  Bruno Haible  <bruno@clisp.org>
58969
58970         * modules/signal: New file.
58971         * lib/signal_.h: New file.
58972         * m4/signal_h.m4: New file.
58973
58974 2007-05-01  Bruno Haible  <bruno@clisp.org>
58975
58976         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
58977         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
58978         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
58979         HAVE_WCTYPE_CTMP_BUG into wctype.h.
58980
58981 2007-05-01  Bruno Haible  <bruno@clisp.org>
58982
58983         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
58984         configure time.
58985         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
58986         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
58987         * modules/sys_stat (Makefile.am): Substitute their values into
58988         sys/stat.h.
58989
58990 2007-05-01  Bruno Haible  <bruno@clisp.org>
58991
58992         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
58993         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
58994         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
58995
58996 2007-05-01  Bruno Haible  <bruno@clisp.org>
58997
58998         * doc/header/assert.texi: Undo last change: don't mention the gnulib
58999         'assert' module here.
59000
59001 2007-05-01  Bruno Haible  <bruno@clisp.org>
59002
59003         * doc/functions/*.texi: New files.
59004         * doc/functions/google-ranking.txt: New file.
59005         * doc/gnulib.texi (Function Substitutes): New chapter.
59006         (ctime, inet_ntoa): Remove sections.
59007         * doc/ctime.texi: Remove file.
59008         * doc/inet_ntoa.texi: Remove file.
59009         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
59010         dependencies.
59011         (%.info): New rule, specifying a --reference-limit.
59012
59013 2007-05-01  Bruno Haible  <bruno@clisp.org>
59014
59015         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
59016
59017 2007-05-01  Bruno Haible  <bruno@clisp.org>
59018
59019         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
59020         the portability of 'mkdir' to mingw systems.
59021
59022 2007-05-01  Bruno Haible  <bruno@clisp.org>
59023
59024         * doc/headers/google-ranking.txt: New file.
59025
59026 2007-04-30  Eric Blake  <ebb9@byu.net>
59027
59028         Prefer fseeko to fseek.
59029         * modules/getpass (Depends-on): Add fseeko.
59030         * lib/getpass.c (getpass): Use fseeko, not fseek.
59031
59032 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
59033
59034         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
59035         assumes the sorting is stable, while most qsort implementations
59036         are not.  Use argument addresses to ensure they never compare as
59037         equal.
59038
59039         * tests/test-argp-2.sh (usage-indent test): Fix output
59040         (func_compare): Restore diff options
59041         * tests/test-argp.c: Restore #include "progname.h"
59042
59043 2007-04-29  Bruno Haible  <bruno@clisp.org>
59044
59045         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
59046         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59047         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
59048         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59049         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
59050         (configure.ac): Define CHECK_SNPRINTF_POSIX.
59051         (TESTS, check_PROGRAMS): Add test-snprintf.
59052         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
59053         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
59054         (TESTS, check_PROGRAMS): Add test-vsnprintf.
59055         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
59056         assertions that fail on HP-UX, OSF/1, or IRIX.
59057         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
59058
59059 2007-04-29  Bruno Haible  <bruno@clisp.org>
59060
59061         * MODULES.html.sh (posix_functions): Remove 'contents'.
59062
59063 2007-04-29  Karl Berry  <karl@gnu.org>
59064
59065         * config/srclist.txt (gendocs_template_min): new entry.
59066
59067 2007-04-29  Bruno Haible  <bruno@clisp.org>
59068
59069         Work around fpurge bug on BSD systems.
59070         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
59071         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
59072         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
59073         fpurge to rpl_fpurge if the system already has this function.
59074         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
59075         the case where the system already has this function. Correct invariants
59076         on BSD systems.
59077         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
59078         BSD systems.
59079
59080 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
59081
59082         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
59083         proposed by Sven Verdoolaege.
59084
59085         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
59086         options.
59087         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
59088         (usage and help tests): Update
59089
59090 2007-04-29  Bruno Haible  <bruno@clisp.org>
59091
59092         * tests/test-fflush.c (main): Use a file of size 17, not 10.
59093         Print more information in case of failure. Disable a test on BeOS.
59094
59095 2007-04-29  Bruno Haible  <bruno@clisp.org>
59096
59097         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
59098         This helps debugging on systems on which no gdb is available.
59099
59100 2007-04-29  Bruno Haible  <bruno@clisp.org>
59101
59102         * lib/freading.h: Improve comments.
59103         * lib/fwriting.h: Likewise.
59104         * tests/test-freading.c (main): Don't check freading immediately after
59105         repositioning. Needed for glibc.
59106
59107 2007-04-29  Bruno Haible  <bruno@clisp.org>
59108
59109         * lib/freading.c (freading): Trivial simplification.
59110
59111 2007-04-28  Bruno Haible  <bruno@clisp.org>
59112
59113         * tests/test-fwriting.c (main): Also test the interaction between
59114         fflush and fwriting.
59115         * modules/fwriting-tests (Depends-on): Add fflush.
59116
59117         * tests/test-freading.c (main): Also test the interaction between
59118         fflush and freading.
59119         * modules/freading-tests (Depends-on): Add fflush.
59120
59121 2007-04-28  Bruno Haible  <bruno@clisp.org>
59122
59123         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
59124         fseeko and ftello.
59125         Suggested by Eric Blake.
59126
59127 2007-04-28  Jim Meyering  <jim@meyering.net>
59128
59129         Avoid false-negative in gl_STDINT_H's C99 conformance test.
59130         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
59131         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
59132
59133 2007-04-27  Eric Blake  <ebb9@byu.net>
59134
59135         * doc/headers/assert.texi (assert.h): Document assert module use.
59136
59137 2007-04-27  Bruno Haible  <bruno@clisp.org>
59138
59139         * doc/headers/*.texi: New files.
59140         * doc/gnulib.texi (Header File Substitutes): New chapter.
59141         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
59142         dependencies.
59143         (standards.info ,standards.html, standards.dvi): Update dependencies.
59144         (mostlyclean, clean): New targets.
59145
59146 2007-04-27  Bruno Haible  <bruno@clisp.org>
59147
59148         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
59149         * modules/sysexits (Files, Makefile.am): Update.
59150
59151         * lib/sys_socket_.h: Renamed from lib/socket_.h.
59152         * modules/sys_socket (Files, Makefile.am): Update.
59153
59154         * lib/sys_stat_.h: Renamed from lib/stat_.h.
59155         * modules/sys_stat (Files, Makefile.am): Update.
59156
59157 2007-04-27  Eric Blake  <ebb9@byu.net>
59158
59159         * lib/freading.h: Improve comments.
59160         * lib/fwriting.h: Likewise.
59161         * lib/fflush.c: Likewise.
59162
59163         Fix closein for mingw.
59164         * modules/closein-tests: Add tests for closein.
59165         * tests/test-closein.c: New file.
59166         * tests/test-closein.sh: Likewise.
59167         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
59168         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
59169
59170 2007-04-27  Bruno Haible  <bruno@clisp.org>
59171
59172         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
59173         version is < 6.
59174         * lib/math_.h [__DECC]: Likewise.
59175         * lib/stdio_.h [__DECC]: Likewise.
59176         * lib/stdlib_.h [__DECC]: Likewise.
59177         * lib/string_.h [__DECC]: Likewise.
59178         * lib/time_.h [__DECC]: Likewise.
59179         * lib/wchar_.h [__DECC]: Likewise.
59180         * lib/wctype_.h [__DECC]: Likewise.
59181
59182 2007-04-27  Bruno Haible  <bruno@clisp.org>
59183
59184         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
59185
59186 2007-04-27  Bruno Haible  <bruno@clisp.org>
59187
59188         * lib/fflush.c: Add comments.
59189         * modules/fpurge-tests (Depends-on): Add fflush.
59190         * modules/freadable-tests (Depends-on): Likewise.
59191         * modules/fwritable-tests (Depends-on): Likewise.
59192
59193 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
59194
59195         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
59196         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
59197         Report by Bruno Haible <bruno@clisp.org>.
59198
59199 2007-04-26  Eric Blake  <ebb9@byu.net>
59200
59201         Fix fflush on mingw.
59202         * modules/fflush (Depends-on): Add freading.
59203         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
59204         but unread data.
59205
59206 2007-04-26  Eric Blake  <ebb9@byu.net>
59207         and Bruno Haible  <bruno@clisp.org>
59208
59209         Implement freading and fwriting.
59210         * lib/freading.c: New file.
59211         * lib/freading.h: Likewise.
59212         * m4/freading.m4: Likewise.
59213         * modules/freading: Likewise.
59214         * modules/freading-tests: Likewise.
59215         * tests/test-freading.c: Likewise.
59216         * lib/fwriting.c: New file.
59217         * lib/fwriting.h: Likewise.
59218         * m4/fwriting.m4: Likewise.
59219         * modules/fwriting: Likewise.
59220         * modules/fwriting-tests: Likewise.
59221         * tests/test-fwriting.c: Likewise.
59222         * MODULES.html.sh (File stream based Input/Output): Mention them.
59223
59224 2007-04-26  Bruno Haible  <bruno@clisp.org>
59225
59226         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
59227         'long' when we assume it.
59228         Suggested by Eric Blake.
59229
59230 2007-04-26  Bruno Haible  <bruno@clisp.org>
59231
59232         Ensure fseeko, ftello are declared on glibc systems.
59233         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
59234         * modules/fseeko (configure.ac-early): Likewise.
59235         * modules/ftello (configure.ac-early): Likewise.
59236         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
59237         AC_FUNC_FSEEKO for this.
59238         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
59239         (gl_CHECK_FSEEKO): Remove macro.
59240
59241 2007-04-26  Bruno Haible  <bruno@clisp.org>
59242
59243         * tests/test-fflush.c (main): Also check the ftell result after
59244         fflush and fseek/fseeko.
59245         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
59246         file descriptor position cache in the stream.
59247         * lib/fseeko.c (rpl_fseeko): Likewise.
59248
59249 2007-04-26  Bruno Haible  <bruno@clisp.org>
59250
59251         * modules/fflush-tests (Depends-on): Add fseeko.
59252
59253 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
59254             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59255
59256         * lib/argz_.h: ensure error_t definition is obtained in same
59257         mechanism system argz.h would have.
59258         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
59259         argz facilities are known bad.  Err on the side of caution if
59260         cross-compiling.
59261
59262 2007-04-25  Eric Blake  <ebb9@byu.net>
59263
59264         * lib/fpurge.c (includes): Use stdlib.h for free.
59265         * tests/test-fflush.c (main): Also test fflush-fseeko.
59266
59267 2007-04-25  Bruno Haible  <bruno@clisp.org>
59268
59269         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
59270         * lib/fseeko.c: New file.
59271         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
59272         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
59273         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
59274         gl_FUNC_FSEEKO.
59275         (gl_FUNC_FSEEKO): Invoke it.
59276         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
59277         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
59278         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
59279
59280 2007-04-25  Bruno Haible  <bruno@clisp.org>
59281
59282         * modules/fflush (Depends-on): Add ftello.
59283
59284 2007-04-25  Bruno Haible  <bruno@clisp.org>
59285
59286         * modules/ftello-tests: New file.
59287         * tests/test-ftello.c: New file.
59288
59289         * modules/ftello: New file.
59290         * m4/ftello.m4: New file.
59291         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
59292         HAVE_FTELLO.
59293         * lib/stdio_.h (ftello): New declaration.
59294         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
59295         HAVE_FTELLO.
59296
59297 2007-04-25  Bruno Haible  <bruno@clisp.org>
59298
59299         * modules/fseeko-tests: New file.
59300         * tests/test-fseeko.c: New file.
59301
59302         * modules/fseeko: New file.
59303         * m4/fseeko.m4: New file.
59304         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
59305         HAVE_FSEEKO.
59306         * lib/stdio_.h (fseeko): New declaration.
59307         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
59308         HAVE_FSEEKO.
59309
59310 2007-04-25  Bruno Haible  <bruno@clisp.org>
59311
59312         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
59313
59314 2007-04-25  Bruno Haible  <bruno@clisp.org>
59315
59316         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
59317         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
59318         * tests/test-unistd.c: Likewise.
59319         * tests/test-fcntl.c: Likewise.
59320
59321 2007-04-23  Eric Blake  <ebb9@byu.net>
59322
59323         * lib/fflush.c: Fix missing include.
59324         Reported by Bruno Haible.
59325
59326 2007-04-23  Bruno Haible  <bruno@clisp.org>
59327
59328         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
59329         Reported by Eric Blake.
59330
59331 2007-04-23  Bruno Haible  <bruno@clisp.org>
59332
59333         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
59334
59335 2007-04-23  Bruno Haible  <bruno@clisp.org>
59336
59337         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
59338
59339 2007-04-23  Bruno Haible  <bruno@clisp.org>
59340
59341         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
59342         Needed on HP-UX 11.
59343
59344 2007-04-16  Eric Blake  <ebb9@byu.net>
59345
59346         Make fflush rely on fpurge.
59347         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
59348         open coding all variants.
59349         * modules/fflush (Depends-on): Add fpurge and unistd.
59350         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
59351         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
59352
59353         Fix --with-tests compilation on cygwin.
59354         * modules/argmatch-tests (Makefile.am): List gnulib library first
59355         in LDADD.
59356         * modules/argp-tests (Makefile.am): Likewise.
59357         * modules/array-list-tests (Makefile.am): Likewise.
59358         * modules/array-oset-tests (Makefile.am): Likewise.
59359         * modules/avltree-list-tests (Makefile.am): Likewise.
59360         * modules/avltree-oset-tests (Makefile.am): Likewise.
59361         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59362         * modules/carray-list-tests (Makefile.am): Likewise.
59363         * modules/dirname-tests (Makefile.am): Likewise.
59364         * modules/frexp-tests (Makefile.am): Likewise.
59365         * modules/isnanl-tests (Makefile.am): Likewise.
59366         * modules/linked-list-tests (Makefile.am): Likewise.
59367         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59368         * modules/lock-tests (Makefile.am): Likewise.
59369         * modules/rbtree-list-tests (Makefile.am): Likewise.
59370         * modules/rbtree-oset-tests (Makefile.am): Likewise.
59371         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59372         * modules/tls-tests (Makefile.am): Likewise.
59373         * modules/tsearch-tests (Makefile.am): Likewise.
59374         * modules/xvasprintf-tests (Makefile.am): Likewise.
59375
59376         Fix fpurge for cygwin.
59377         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
59378         value.
59379         * modules/fpurge-tests (Depends-on): Clean up trash.
59380
59381 2007-04-16  Simon Josefsson  <simon@josefsson.org>
59382
59383         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
59384
59385         * m4/autobuild.m4: Re-indent.
59386
59387 2007-04-13  Bruno Haible  <bruno@clisp.org>
59388
59389         * modules/fpurge-tests: New file.
59390         * tests/test-fpurge.c: New file.
59391
59392         * modules/fpurge: New file.
59393         * lib/fpurge.h: New file.
59394         * lib/fpurge.c: New file.
59395         * m4/fpurge.m4: New file.
59396
59397 2007-04-13  Bruno Haible  <bruno@clisp.org>
59398
59399         * modules/fbufmode-tests: New file.
59400         * tests/test-fbufmode.c: New file.
59401
59402         * modules/fbufmode: New file.
59403         * lib/fbufmode.h: New file.
59404         * lib/fbufmode.c: New file.
59405         * m4/fbufmode.m4: New file.
59406
59407 2007-04-13  Bruno Haible  <bruno@clisp.org>
59408
59409         * modules/fwritable-tests: New file.
59410         * tests/test-fwritable.c: New file.
59411
59412         * modules/fwritable: New file.
59413         * lib/fwritable.h: New file.
59414         * lib/fwritable.c: New file.
59415         * m4/fwritable.m4: New file.
59416
59417 2007-04-13  Bruno Haible  <bruno@clisp.org>
59418
59419         * modules/freadable-tests: New file.
59420         * tests/test-freadable.c: New file.
59421
59422         * modules/freadable: New file.
59423         * lib/freadable.h: New file.
59424         * lib/freadable.c: New file.
59425         * m4/freadable.m4: New file.
59426
59427 2007-04-13  Bruno Haible  <bruno@clisp.org>
59428
59429         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
59430         MOSTLYCLEANFILES.
59431
59432 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
59433
59434         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
59435         gzip bootstrap.conf to avoid dragging in i18n machinery.
59436         (gnulib_tool_option): Use it.
59437
59438 2007-04-13  Bruno Haible  <bruno@clisp.org>
59439
59440         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
59441         %F directives.
59442         * tests/test-vasprintf-posix.c (test_function): Likewise.
59443         * tests/test-snprintf-posix.h (test_function): Likewise.
59444         * tests/test-sprintf-posix.h (test_function): Likewise.
59445         * tests/test-fprintf-posix.h (test_function): Likewise.
59446         * tests/test-printf-posix.h (test_function): Likewise.
59447         * tests/test-fprintf-posix.out: Likewise.
59448
59449 2007-04-13  Bruno Haible  <bruno@clisp.org>
59450
59451         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
59452         * modules/tls-tests (configure.ac): Likewise.
59453         Reported by Arto C. Nirkko <anirkko@insel.ch>.
59454
59455 2007-04-13  Bruno Haible  <bruno@clisp.org>
59456
59457         * lib/tls.c (glthread_tls_get): Fix return type.
59458         Patch by Arto C. Nirkko <anirkko@insel.ch>.
59459
59460 2007-04-12  Eric Blake  <ebb9@byu.net>
59461
59462         * modules/gettime (Depends-on): Remove gettime.
59463         Reported by Dmitry V. Levin.
59464
59465 2007-04-12  Bruno Haible  <bruno@clisp.org>
59466
59467         * modules/fflush (Include): Mention <stdio.h>.
59468         * modules/strtoimax (Include): Mention <inttypes.h>.
59469         * modules/strtoumax (Include): Likewise.
59470
59471 2007-04-12  Eric Blake  <ebb9@byu.net>
59472
59473         * .cvsignore: New file.
59474         * .gitignore: Likewise.
59475
59476 2007-04-12  Bruno Haible  <bruno@clisp.org>
59477
59478         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
59479         not before, since $(LDADD) often contains libgnu.a.
59480         * modules/striconv-tests (test_striconv_LDADD): Likewise.
59481         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
59482         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
59483         Needed on Cygwin.
59484
59485 2007-04-12  Eric Blake  <ebb9@byu.net>
59486
59487         Work around glibc's failure to flush stdin on fclose.
59488         * lib/closein.c (close_stdin): Flush stdin before closing.
59489
59490         Work around glibc's failure to reset seekable stdin on exit.
59491         * modules/closein: New module.
59492         * lib/closein.c: New file.
59493         * lib/closein.h: Likewise.
59494         * m4/closein.m4: Likewise.
59495         * MODULES.html.sh (File stream based Input/Output): Document it.
59496
59497 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59498
59499         * gnulib-tool: Rename generated 'autobuild' script to
59500         'do-autobuild' in --create-megatestdir output.
59501
59502         * doc/gnulib.texi (Build robot for gnulib): Fix.
59503
59504 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59505
59506         * modules/sysexits (Depends-on): Add absolute-header.
59507
59508 2007-04-12  Eric Blake  <ebb9@byu.net>
59509
59510         No need to preserve errno on success.
59511         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
59512         Reported by Bruno Haible.
59513
59514 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59515
59516         * MODULES.html.sh (Support for maintaining and releasing
59517         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
59518
59519 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59520
59521         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
59522
59523 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59524
59525         * modules/autobuild: New module.
59526
59527         * m4/autobuild.m4: New file.
59528
59529 2007-04-11  Bruno Haible  <bruno@clisp.org>
59530
59531         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
59532         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
59533         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
59534         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
59535         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59536         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59537         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59538         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59539         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59540         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59541         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
59542         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59543         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59544         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
59545         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59546         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59547         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
59548         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59549         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59550         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
59551         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59552         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59553         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
59554         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59555         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59556         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
59557         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59558         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59559         Reported by Eric Blake.
59560
59561 2007-04-11  Bruno Haible  <bruno@clisp.org>
59562
59563         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
59564
59565 2007-04-10  Bruno Haible  <bruno@clisp.org>
59566
59567         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
59568         for NaN and Infinity. Needed on FreeBSD 6.1.
59569         * tests/test-vasnprintf-posix.c (test_function): Undo last change
59570         regarding results for "%010a" of Infinity and NaN.
59571         * tests/test-vasprintf-posix.c (test_function): Likewise.
59572         * tests/test-snprintf-posix.h (test_function): Likewise.
59573         * tests/test-sprintf-posix.h (test_function): Likewise.
59574         * tests/test-fprintf-posix.h (test_function): Likewise.
59575         * tests/test-printf-posix.h (test_function): Likewise.
59576         * tests/test-fprintf-posix.out: Likewise.
59577
59578 2007-04-10  Bruno Haible  <bruno@clisp.org>
59579
59580         * modules/locale-tests: New file.
59581         * tests/test-locale.c: New file.
59582
59583         * modules/locale: New file.
59584         * lib/locale_.h: New file.
59585         * m4/locale_h.m4: New file.
59586
59587 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
59588             Bruno Haible  <bruno@clisp.org>
59589
59590         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
59591         be determined, test for availability of the copysignf, copysign,
59592         copysignl functions.
59593         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
59594         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
59595         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
59596
59597 2007-04-09  Eric Blake  <ebb9@byu.net>
59598
59599         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
59600         * modules/stdio (Makefile.am): Support fflush.
59601         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
59602         * modules/fflush: New file.
59603         * lib/fflush.c: Likewise.
59604         * m4/fflush.m4: Likewise.
59605         * modules/fflush-tests: New test.
59606         * tests/test-fflush.c: Likewise.
59607         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
59608
59609 2007-04-06  Bruno Haible  <bruno@clisp.org>
59610
59611         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
59612         (VASNPRINTF): Use signbit for faster determination whether to print a
59613         minus sign.
59614         * modules/vasnprintf (Files): Remove lib/float+.h.
59615         * modules/fprintf-posix (Depends-on): Add signbit.
59616         * modules/snprintf-posix (Depends-on): Likewise.
59617         * modules/sprintf-posix (Depends-on): Likewise.
59618         * modules/vasnprintf-posix (Depends-on): Likewise.
59619         * modules/vasprintf-posix (Depends-on): Likewise.
59620         * modules/vfprintf-posix (Depends-on): Likewise.
59621         * modules/vsnprintf-posix (Depends-on): Likewise.
59622         * modules/vsprintf-posix (Depends-on): Likewise.
59623
59624 2007-04-06  Bruno Haible  <bruno@clisp.org>
59625
59626         * tests/test-frexp.c (main): Test also the sign bit of zero results.
59627         * tests/test-frexpl.c (main): Likewise.
59628         * tests/test-ldexpl.c (main): Likewise.
59629         * modules/frexp-tests (Depends-on): Add signbit.
59630         * modules/frexpl-tests (Depdends-on): Likewise.
59631         * modules/ldexpl-tests (Depdends-on): Likewise.
59632
59633 2007-04-06  Bruno Haible  <bruno@clisp.org>
59634
59635         * modules/signbit-tests: New file.
59636         * tests/test-signbit.c: New file.
59637
59638         * modules/signbit: New file.
59639         * lib/signbitf.c: New file.
59640         * lib/signbitd.c: New file.
59641         * lib/signbitl.c: New file.
59642         * m4/signbit.m4: New file.
59643         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
59644         (signbit): New macro.
59645         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
59646         REPLACE_SIGNBIT.
59647         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
59648         REPLACE_FREXPL into math.h.
59649
59650 2007-04-06  Bruno Haible  <bruno@clisp.org>
59651
59652         * modules/isnanf-nolibm-tests: New file.
59653         * tests/test-isnanf.c: New file.
59654
59655         * modules/isnanf-nolibm: New file.
59656         * lib/isnanf.h: New file.
59657         * lib/isnanf.c: New file.
59658         * lib/isnan.c: Consider the USE_FLOAT macro.
59659         * m4/isnanf.m4: New file.
59660
59661 2007-04-06  Bruno Haible  <bruno@clisp.org>
59662
59663         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
59664         (Link): New section.
59665
59666         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
59667
59668 2007-04-06  Bruno Haible  <bruno@clisp.org>
59669
59670         Assume the 'long double' type.
59671         * m4/longdouble.m4: Remove file.
59672         * config/srclist.txt: Don't mention longdouble.m4.
59673         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
59674         * lib/float+.h: Likewise.
59675         * lib/frexp.c: Likewise.
59676         * lib/printf-args.h: Likewise.
59677         * lib/printf-args.c: Likewise.
59678         * lib/printf-frexp.c: Likewise.
59679         * lib/printf-parse.c: Likewise.
59680         * lib/vasnprintf.c: Likewise.
59681         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
59682         * m4/intl.m4: Likewise.
59683         * m4/isnanl.m4: Likewise.
59684         * m4/printf.m4: Likewise.
59685         * m4/printf-frexpl.m4: Likewise.
59686         * m4/vasnprintf.m4: Likewise.
59687         * modules/allocsa (Files): Remove m4/longdouble.m4.
59688         * modules/gettext (Files): Likewise.
59689         * modules/relocatable-prog-wrapper (Files): Likewise.
59690         * modules/vasnprintf (Files): Likewise.
59691         * modules/isnanl (Files): Likewise.
59692         (Include): Simplify.
59693         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
59694         (Include): Simplify.
59695         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
59696         (Include): Simplify.
59697         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
59698         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59699         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
59700         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59701         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
59702         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59703         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
59704         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59705         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
59706         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59707         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
59708         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59709         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
59710         * tests/test-isnanl.c: Likewise.
59711         * tests/test-snprintf-posix.h: Likewise.
59712         * tests/test-sprintf-posix.h: Likewise.
59713         * tests/test-vasnprintf-posix.c: Likewise.
59714         * tests/test-vasnprintf-posix2.c: Likewise.
59715         * tests/test-vasprintf-posix.c: Likewise.
59716
59717 2007-04-06  Bruno Haible  <bruno@clisp.org>
59718
59719         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
59720         * lib/math_.h [__DECC]: Include the overridden include file through
59721         #include_next, outside the double-inclusion guard.
59722         * lib/stdio_.h [__DECC]: Likewise.
59723         * lib/stdlib_.h [__DECC]: Likewise.
59724         * lib/string_.h [__DECC]: Likewise.
59725         * lib/time_.h [__DECC]: Likewise.
59726         * lib/wchar_.h [__DECC]: Likewise.
59727         * lib/wctype_.h [__DECC]: Likewise.
59728         * lib/inttypes_.h [__DECC]: Likewise.
59729         Reported by Albert Chin <china@thewrittenword.com> in
59730         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
59731
59732 2007-04-04  Eric Blake  <ebb9@byu.net>
59733
59734         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
59735         1.5.x.
59736
59737 2007-04-04  Bruno Haible  <bruno@clisp.org>
59738
59739         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
59740         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
59741
59742 2007-04-04  Bruno Haible  <bruno@clisp.org>
59743
59744         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
59745         results for "%010a" of Infinity and NaN.
59746         * tests/test-vasprintf-posix.c (test_function): Likewise.
59747         * tests/test-snprintf-posix.h (test_function): Likewise.
59748         * tests/test-sprintf-posix.h (test_function): Likewise.
59749         * tests/test-fprintf-posix.h (test_function): Remove these tests.
59750         * tests/test-printf-posix.h (test_function): Likewise.
59751         * tests/test-fprintf-posix.out: Update.
59752         Needed for FreeBSD 6.1.
59753
59754 2007-04-04  Bruno Haible  <bruno@clisp.org>
59755
59756         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
59757         directly used by the gnulib modules nor by gnulib-tool.
59758
59759 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
59760
59761         * DEPENDENCIES: Give overall description of version dependency
59762         desirability.  Use more-typical names for apps.
59763         Add shell, coreutils, diffutils, grep, tar, gzip.
59764
59765 2007-04-04  Simon Josefsson  <simon@josefsson.org>
59766
59767         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
59768
59769 2007-04-04  Karl Berry  <karl@gnu.org>
59770
59771         * MODULES.html.sh (func_module): missing '.
59772
59773 2007-04-03  Bruno Haible  <bruno@clisp.org>
59774
59775         * modules/argmatch-tests (Makefile.am): New variable
59776         test_argmatch_LDADD.
59777         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
59778         * modules/array-list-tests (Makefile.am): New variable
59779         test_array_list_LDADD.
59780         * modules/array-oset-tests (Makefile.am): New variable
59781         test_array_oset_LDADD.
59782         * modules/avltree-list-tests (Makefile.am): New variable
59783         test_avltree_list_LDADD.
59784         * modules/avltree-oset-tests (Makefile.am): New variable
59785         test_avltree_oset_LDADD.
59786         * modules/avltreehash-list-tests (Makefile.am): New variable
59787         test_avltreehash_list_LDADD.
59788         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
59789         test_canonicalize_lgpl_LDADD.
59790         * modules/carray-list-tests (Makefile.am): New variable
59791         test_carray_list_LDADD.
59792         * modules/dirname-tests (Makefile.am): New variable
59793         test_dirname_LDADD.
59794         * modules/linked-list-tests (Makefile.am): New variable
59795         test_linked_list_LDADD.
59796         * modules/linkedhash-list-tests (Makefile.am): New variable
59797         test_linkedhash_list_LDADD.
59798         * modules/rbtree-list-tests (Makefile.am): New variable
59799         test_rbtree_list_LDADD.
59800         * modules/rbtree-oset-tests (Makefile.am): New variable
59801         test_rbtree_oset_LDADD.
59802         * modules/rbtreehash-list-tests (Makefile.am): New variable
59803         test_rbtreehash_list_LDADD.
59804         * modules/xvasprintf-tests (Makefile.am): New variable
59805         test_xvasprintf_LDADD.
59806         Reported by Eric Blake.
59807
59808 2007-04-03  Eric Blake  <ebb9@byu.net>
59809
59810         * DEPENDENCIES: Weaken m4 requirements.
59811
59812 2007-04-03  Bruno Haible  <bruno@clisp.org>
59813
59814         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
59815         * modules/isnanl-tests (configure.ac): Likewise.
59816
59817 2007-04-03  Ben Pfaff  <blp@gnu.org>
59818
59819         * modules/iconv_open: Add $(srcdir)/ to source directory
59820         references in Makefile fragments that call gperf, to fix VPATH
59821         builds.
59822
59823 2007-04-03  Bruno Haible  <bruno@clisp.org>
59824
59825         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
59826         * lib/ldexpl.c: Undo last change.
59827
59828 2007-04-03  Bruno Haible  <bruno@clisp.org>
59829
59830         * modules/printf-frexpl (Depends-on): Undo last change.
59831         (Files): Add m4/ldexpl.m4.
59832
59833 2007-04-03  Bruno Haible  <bruno@clisp.org>
59834
59835         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
59836         * modules/isnanl (Link): New section.
59837
59838         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
59839         * modules/frexp (Link): New section.
59840
59841         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
59842         * modules/frexpl (Link): New section.
59843
59844         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
59845         * modules/ldexpl (Link): New section.
59846
59847 2007-04-03  Bruno Haible  <bruno@clisp.org>
59848
59849         * modules/TEMPLATE-EXTENDED: New file.
59850         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
59851
59852 2007-04-03  Bruno Haible  <bruno@clisp.org>
59853
59854         * DEPENDENCIES: New file.
59855         Suggested by Simon Josefsson.
59856
59857 2007-04-03  Bruno Haible  <bruno@clisp.org>
59858
59859         * doc/gnulib.texi: Escape @.
59860
59861 2007-04-03  James Youngman  <jay@gnu.org>
59862         and Paul Eggert  <eggert@cs.ucla.edu>
59863
59864         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
59865         birthtime on all systems that have birthtime, not just those which
59866         use st_birthtimensec rather than st_birthtim.  Putting zero in
59867         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
59868         that the birth time is not available for files on an NFS mount.
59869
59870 2007-04-03  Simon Josefsson  <simon@josefsson.org>
59871
59872         * modules/memxor: Move back from crypto/, suggested by Bruno.
59873         * modules/crypto/hmac-sha1: Fix memxor dependency.
59874
59875         * modules/crypto/gc: Moved from ../.
59876
59877 2007-04-02  Eric Blake  <ebb9@byu.net>
59878
59879         * lib/ldexpl.c (includes): Avoid libm.
59880
59881         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
59882
59883 2007-04-02  Bruno Haible  <bruno@clisp.org>
59884
59885         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
59886         on IRIX.
59887
59888 2007-04-02  Bruno Haible  <bruno@clisp.org>
59889
59890         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
59891         x86 or x86_64 platforms running MacOS X.
59892         Reported by Ryan Schmidt <@ryandesign.com>.
59893
59894 2007-04-02  Bruno Haible  <bruno@clisp.org>
59895
59896         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
59897         i386.
59898
59899 2007-04-01  Simon Josefsson  <simon@josefsson.org>
59900
59901         * modules/crypto/arcfour: Moved from ../.
59902         * modules/crypto/arcfour-tests: Moved from ../.
59903         * modules/crypto/arctwo: Moved from ../.
59904         * modules/crypto/arctwo-tests: Moved from ../.
59905         * modules/crypto/des: Moved from ../.
59906         * modules/crypto/des-tests: Moved from ../.
59907         * modules/crypto/gc-arcfour: Moved from ../.
59908         * modules/crypto/gc-arcfour-tests: Moved from ../.
59909         * modules/crypto/gc-arctwo: Moved from ../.
59910         * modules/crypto/gc-arctwo-tests: Moved from ../.
59911         * modules/crypto/gc-des: Moved from ../.
59912         * modules/crypto/gc-des-tests: Moved from ../.
59913         * modules/crypto/gc-hmac-md5: Moved from ../.
59914         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
59915         * modules/crypto/gc-hmac-sha1: Moved from ../.
59916         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
59917         * modules/crypto/gc-md2: Moved from ../.
59918         * modules/crypto/gc-md2-tests: Moved from ../.
59919         * modules/crypto/gc-md4: Moved from ../.
59920         * modules/crypto/gc-md4-tests: Moved from ../.
59921         * modules/crypto/gc-md5: Moved from ../.
59922         * modules/crypto/gc-md5-tests: Moved from ../.
59923         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
59924         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
59925         * modules/crypto/gc-random: Moved from ../.
59926         * modules/crypto/gc-rijndael: Moved from ../.
59927         * modules/crypto/gc-rijndael-tests: Moved from ../.
59928         * modules/crypto/gc-sha1: Moved from ../.
59929         * modules/crypto/gc-sha1-tests: Moved from ../.
59930         * modules/crypto/gc-tests: Moved from ../.
59931         * modules/crypto/hmac-md5: Moved from ../.
59932         * modules/crypto/hmac-md5-tests: Moved from ../.
59933         * modules/crypto/hmac-sha1: Moved from ../.
59934         * modules/crypto/hmac-sha1-tests: Moved from ../.
59935         * modules/crypto/md2: Moved from ../.
59936         * modules/crypto/md2-tests: Moved from ../.
59937         * modules/crypto/md4: Moved from ../.
59938         * modules/crypto/md4-tests: Moved from ../.
59939         * modules/crypto/md5: Moved from ../.
59940         * modules/crypto/md5-tests: Moved from ../.
59941         * modules/crypto/memxor: Moved from ../.
59942         * modules/crypto/rijndael: Moved from ../.
59943         * modules/crypto/rijndael-tests: Moved from ../.
59944         * modules/crypto/sha1: Moved from ../.
59945
59946 2007-03-30  James Youngman  <jay@gnu.org>
59947
59948         * tests/test-stat-time.c (prepare_test): use chmod() rather than
59949         rename() to change the ctime of a file (because ctime is unaffected
59950         by rename on jfs2 on AIX 5.1).
59951         (main): Start by doing cleanup, in case a previous run failed leaving
59952         test files behind.
59953
59954 2007-03-31  Bruno Haible  <bruno@clisp.org>
59955
59956         Support old proprietary implementations of iconv.
59957         * modules/iconv_open: New file.
59958         * lib/iconv_.h: New file.
59959         * m4/iconv_h.m4: New file.
59960         * lib/iconv_open.c: New file.
59961         * lib/iconv_open-aix.gperf: New file.
59962         * lib/iconv_open-hpux.gperf: New file.
59963         * lib/iconv_open-irix.gperf: New file.
59964         * lib/iconv_open-osf.gperf: New file.
59965         * m4/iconv_open.m4: New file.
59966         * modules/linebreak (Depends-on): Add iconv_open.
59967         * modules/striconv (Depends-on): Likewise.
59968         * modules/striconveh (Depends-on): Likewise.
59969         * modules/unicodeio (Depends-on): Likewise.
59970         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
59971         (iconv_t)(-1).
59972         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
59973         conversion if cd is (iconv_t)(-1).
59974         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
59975         is not possible.
59976
59977 2007-03-31  Bruno Haible  <bruno@clisp.org>
59978
59979         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
59980         work on Solaris either. Protect also second use of "autodetect_jp".
59981
59982 2007-03-31  Bruno Haible  <bruno@clisp.org>
59983
59984         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
59985         the function is not present.
59986
59987 2007-03-31  Bruno Haible  <bruno@clisp.org>
59988
59989         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
59990         the function is not present.
59991
59992 2007-03-31  Bruno Haible  <bruno@clisp.org>
59993
59994         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
59995         a bug in HP-UX iconv_open().
59996
59997 2007-03-31  Bruno Haible  <bruno@clisp.org>
59998
59999         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
60000         (Mathematics <math.h>): New section, add fpieee.
60001         (Input/output <stdio.h>): Add fseterr.
60002         (Mathematics <math.h>): New section, add printf-frexp.
60003         (Container data structures): Add sublist.
60004         (Core language properties): Add fpucw, inline.
60005         (Functions for greatest-width integer types <inttypes.h>): Add
60006         imaxabs, imaxdiv, inttypes.
60007         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
60008         isnanl-nolibm, ldexp.
60009         (Mathematics <math.h>): New section, add printf-frexpl.
60010         (Support for systems lacking POSIX:2001): Add fprintf-posix,
60011         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
60012         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
60013         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
60014         (Unicode string functions): Add unistr/u*-mbtoucr.
60015         (Java): Add javacomp-script, javaexec-script.
60016         (C#): Add csharpcomp-script, csharpexec-script.
60017         (Support for building libraries and executables): Add havelib,
60018         relocatable-*.
60019         (Support for maintaining and releasing projects): Renamed from
60020         'Support for maintaining and release projects'. Add announce-gen.
60021
60022 2007-03-31  Bruno Haible  <bruno@clisp.org>
60023
60024         * README: Talk primarily about git.
60025         (git and CVS): Renamed from CVS.
60026         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
60027         gnulib is available through git.
60028         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
60029
60030 2007-03-30  Bruno Haible  <bruno@clisp.org>
60031
60032         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
60033         * lib/poll_.h: Likewise.
60034         * lib/stat_.h: Likewise.
60035         * lib/sys_time_.h: Likewise.
60036         * lib/sysexit_.h: Likewise.
60037         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
60038         * lib/stdbool_.h: Likewise.
60039         * lib/byteswap_.h: Add double-inclusion guard.
60040
60041 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
60042
60043         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
60044
60045 2007-03-30  Karl Berry  <karl@gnu.org>
60046
60047         * config/srclist-update: double space after USA in the license
60048         substitution, since that's how it's usually (?) written.
60049
60050 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60051
60052         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
60053         reported by Bruno Haible.
60054
60055 2007-03-29  Bruno Haible  <bruno@clisp.org>
60056
60057         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
60058         a bug in AIX iconv().
60059
60060 2007-03-29  Bruno Haible  <bruno@clisp.org>
60061
60062         * modules/ldexpl-tests: New file.
60063         * tests/test-ldexpl.c: New file.
60064
60065 2007-03-29  Bruno Haible  <bruno@clisp.org>
60066
60067         * lib/ldexpl.c: Include fpucw.h.
60068         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
60069         multiplication.
60070         * modules/ldexpl (Depends-on): Add fpucw.
60071
60072 2007-03-29  Bruno Haible  <bruno@clisp.org>
60073
60074         * modules/ldexpl: New file.
60075         * m4/ldexpl.m4: New file.
60076         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
60077         set.
60078         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
60079         REPLACE_LDEXPL.
60080         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
60081         REPLACE_LDEXPL.
60082         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
60083         gl_FUNC_LDEXPL_WORKS.
60084         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
60085         * modules/mathl (Files): Remove lib/ldexpl.c.
60086         (Depends-on): Add ldexpl.
60087
60088 2007-03-29  Bruno Haible  <bruno@clisp.org>
60089
60090         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
60091
60092 2007-03-29  Bruno Haible  <bruno@clisp.org>
60093
60094         * tests/test-striconveh.c (main): Don't assume that a direct conversion
60095         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
60096         and possibly also HP-UX.
60097         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60098         work on AIX, IRIX, HP-UX, OSF/1.
60099         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
60100         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
60101         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
60102         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
60103         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
60104         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
60105
60106 2007-03-29  Bruno Haible  <bruno@clisp.org>
60107
60108         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
60109
60110 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60111
60112         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
60113         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
60114
60115 2007-03-29  Eric Blake  <ebb9@byu.net>
60116
60117         * lib/acl-internal.h: Remove redundant include.
60118         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
60119         Cygwin when a file is locked.
60120
60121 2007-03-29  Bruno Haible  <bruno@clisp.org>
60122
60123         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
60124         file.
60125         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
60126
60127 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60128
60129         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
60130         try to remove a parent directory if the child couldn't be removed
60131         (except for the first rmdir, which could fail because the child
60132         doesn't exist).  Problem reported by Jeff Blaine in
60133         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
60134
60135 2007-03-28  Bruno Haible  <bruno@clisp.org>
60136
60137         * lib/striconveh.c (utf8conv_carefully): New function.
60138         (mem_cd_iconveh_internal): Invoke it.
60139
60140 2007-03-28  Bruno Haible  <bruno@clisp.org>
60141
60142         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
60143         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
60144         input.
60145         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
60146         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
60147         unistr/u8-uctomb.
60148
60149 2007-03-28  Bruno Haible  <bruno@clisp.org>
60150
60151         * modules/unistr/u8-mbtoucr: New file.
60152         * lib/unistr/u8-mbtoucr.c: New file.
60153         * modules/unistr/u16-mbtoucr: New file.
60154         * lib/unistr/u16-mbtoucr.c: New file.
60155         * modules/unistr/u16-mbtoucr: New file.
60156         * lib/unistr/u16-mbtoucr.c: New file.
60157         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
60158
60159 2007-03-27  Simon Josefsson  <simon@josefsson.org>
60160             Bruno Haible  <bruno@clisp.org>
60161
60162         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
60163         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
60164         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
60165
60166         * m4/stdio_h.m4: Add stubs for vasprintf too.
60167
60168         * modules/stdio: Support vasprintf in sed command.
60169
60170         * modules/vasprintf: Depend on stdio for prototypes.  Remove
60171         vasprintf.h.  Add stdio module indicator.
60172
60173         * lib/stdio_.h: Declare asprintf and vasprintf, based on
60174         vasprintf.h.
60175
60176         * lib/vasprintf.h: File removed.
60177
60178         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
60179         * lib/vasprintf.c: Ditto.
60180         * lib/xvasprintf.c: Ditto.
60181         * tests/test-vasprintf-posix.c: Ditto.
60182         * tests/test-vasprintf.c: Ditto.
60183
60184 2007-03-27  Bruno Haible  <bruno@clisp.org>
60185
60186         Make vasnprintf multithread-safe.
60187         * lib/vasnprintf.c (decimal_point_char): New function.
60188         (VASNPRINTF): Use it.
60189         Suggested by Simon Josefsson.
60190
60191 2007-03-27  Eric Blake  <ebb9@byu.net>
60192
60193         Support sub-second birthtime on cygwin.
60194         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
60195         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
60196         (get_stat_birthtime): Also work with st_birthtim.
60197
60198 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
60199
60200         * lib/stat-time.h (USE_BIRTHTIME): Remove.
60201         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
60202         (get_stat_birthtime_ns): Do not try to use "spare" fields.
60203         (get_stat_birthtime_ns): Simplify compile-time tests.
60204         (get_stat_birthtime): Change the API to look like
60205         get_stat_mtime etc., except return a negative tv_nsec on error.
60206         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
60207         Don't check for "spare" fields.
60208         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
60209         or for struct stat.st_birthtime, as these tests aren't used.
60210         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
60211
60212 2007-03-27  Bruno Haible  <bruno@clisp.org>
60213
60214         * lib/stat-time.h: Include <sys/stat.h>.
60215
60216 2007-03-27  James Youngman  <jay@gnu.org>
60217
60218         * lib/stat-time.h (get_stat_birthtime): New function for
60219           retrieving st_birthtime as provided by UFS2 (hence *BSD).
60220         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
60221           and its variants.
60222         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
60223         * modules/stat-time-test: New file.
60224         * tests/test-stat-time.c: New test, devised by Bruno Haible.
60225
60226 2007-03-26  Bruno Haible  <bruno@clisp.org>
60227
60228         Better support of signalling NaNs.
60229         * lib/atanl.c: Include isnanl.h.
60230         (atanl): Perform test for NaN at the beginning of the function and
60231         through a call to isnanl.
60232         * lib/cosl.c: Include isnanl.h.
60233         (cosl): Perform test for NaN at the beginning of the function and
60234         through a call to isnanl.
60235         * lib/ldexpl.c: Include isnanl.h.
60236         (ldexpl): Perform test for NaN through a call to isnanl.
60237         * lib/logl.c: Include isnanl.h.
60238         (logl): Perform test for NaN at the beginning of the function and
60239         through a call to isnanl.
60240         * lib/sinl.c: Include isnanl.h.
60241         (sinl): Perform test for NaN at the beginning of the function and
60242         through a call to isnanl.
60243         * lib/sqrtl.c: Include isnanl.h.
60244         (sqrtl): Perform test for NaN at the beginning of the function and
60245         through a call to isnanl.
60246         * lib/tanl.c: Include isnanl.h.
60247         (tanl): Perform test for NaN at the beginning of the function and
60248         through a call to isnanl.
60249         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
60250         * modules/mathl (Depends-on): Add isnanl.
60251
60252 2007-03-26  Eric Blake  <ebb9@byu.net>
60253
60254         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
60255         regression in logic sense of previous patch.
60256
60257 2007-03-26  Bruno Haible  <bruno@clisp.org>
60258
60259         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
60260         unportable shell command "if ! ...".
60261         Reported by Ralf Wildenhues.
60262
60263 2007-03-25  Bruno Haible  <bruno@clisp.org>
60264
60265         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
60266         <sysexits.h> file, and only add EX_CONFIG.
60267         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
60268         absolute file name and whether it is sufficient. Substitute also
60269         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
60270         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
60271         ABSOLUTE_SYSEXITS_H into sysexits.h.
60272
60273 2007-03-25  Bruno Haible  <bruno@clisp.org>
60274
60275         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
60276         hints is NULL.
60277
60278 2007-03-25  Bruno Haible  <bruno@clisp.org>
60279
60280         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
60281         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
60282
60283 2007-03-25  Bruno Haible  <bruno@clisp.org>
60284
60285         * lib/vasnprintf.c: Include langinfo.h.
60286         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
60287         multithread-safe.
60288         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
60289         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
60290         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60291         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60292         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60293         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60294         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60295         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
60296         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60297         Reported by Simon Josefsson.
60298
60299 2007-03-25  Bruno Haible  <bruno@clisp.org>
60300
60301         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
60302         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
60303         * modules/vasnprintf (Depends-on): Add stdint.
60304
60305 2007-03-25  Bruno Haible  <bruno@clisp.org>
60306
60307         * modules/fpieee: New file.
60308         * m4/fpieee.m4: New file.
60309         * modules/isnan-nolibm (Depends-on): Add fpieee.
60310         * modules/isnanl-nolibm (Depends-on): Add fpieee.
60311         * modules/isnanl (Depends-on): Add fpieee.
60312
60313 2007-03-25  Bruno Haible  <bruno@clisp.org>
60314
60315         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
60316
60317 2007-03-25  Bruno Haible  <bruno@clisp.org>
60318
60319         Avoid test failures on IRIX 6.5.
60320         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
60321         (main): Use it.
60322         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
60323         macros.
60324         (main): Use them.
60325
60326 2007-03-25  Bruno Haible  <bruno@clisp.org>
60327
60328         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
60329         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
60330         exists but doesn't work.
60331         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
60332         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
60333         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
60334         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
60335         math.h.
60336
60337 2007-03-25  Bruno Haible  <bruno@clisp.org>
60338
60339         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
60340         returns inf. Needed on IRIX 6.5.
60341
60342 2007-03-25  Bruno Haible  <bruno@clisp.org>
60343
60344         * tests/test-frexpl.c: Include isnanl-nolibm.h.
60345         (main): Use isnanl instead of x != x idiom.
60346         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
60347
60348         * tests/test-frexp.c: Include isnan.h.
60349         (main): Use isnan instead of x != x idiom.
60350         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
60351
60352 2007-03-25  Bruno Haible  <bruno@clisp.org>
60353
60354         * tests/test-frexp.c (NaN): New function/macro.
60355         (main): Use it instead of 0.0 / 0.0.
60356         * tests/test-isnan.c (NaN): New function/macro.
60357         (main): Use it instead of 0.0 / 0.0.
60358         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
60359         (test_function): Use it instead of 0.0 / 0.0.
60360         * tests/test-vasprintf-posix.c (NaN): New function/macro.
60361         (test_function): Use it instead of 0.0 / 0.0.
60362         * tests/test-snprintf-posix.h (NaN): New function/macro.
60363         (test_function): Use it instead of 0.0 / 0.0.
60364         * tests/test-sprintf-posix.h (NaN): New function/macro.
60365         (test_function): Use it instead of 0.0 / 0.0.
60366         * tests/test-fprintf-posix.h (NaN): New function/macro.
60367         (test_function): Use it instead of 0.0 / 0.0.
60368         * tests/test-printf-posix.h (NaN): New function/macro.
60369         (test_function): Use it instead of 0.0 / 0.0.
60370
60371         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
60372
60373 2007-03-25  Bruno Haible  <bruno@clisp.org>
60374
60375         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
60376
60377 2007-03-25  Bruno Haible  <bruno@clisp.org>
60378
60379         * lib/regexec.c (merge_state_with_log): Make static.
60380
60381 2007-03-25  Bruno Haible  <bruno@clisp.org>
60382
60383         * lib/trigl.c (kernel_rem_pio2): Make static.
60384
60385 2007-03-25  Bruno Haible  <bruno@clisp.org>
60386
60387         * lib/sincosl.c (sincosl_table): Make static.
60388
60389 2007-03-25  Bruno Haible  <bruno@clisp.org>
60390
60391         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
60392         if the compiler does not support C99.
60393
60394 2007-03-25  Bruno Haible  <bruno@clisp.org>
60395
60396         * modules/time (Makefile.am): Ensure all rule action lines start with a
60397         tab.
60398
60399 2007-03-24  Bruno Haible  <bruno@clisp.org>
60400
60401         * modules/tsearch-tests: New file.
60402         * tests/test-tsearch.sh: New file.
60403         * tests/test-tsearch.c: New file, mostly copied from glibc.
60404
60405         * modules/search-tests: New file.
60406         * tests/test-search.c: New file.
60407
60408         * modules/search: New file.
60409         * lib/search_.h: New file, incorporating lib/tsearch.h.
60410         * m4/search_h.m4: New file.
60411         * lib/tsearch.h: Remove file.
60412         * lib/tsearch.c: Include search.h instead of tsearch.h.
60413         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
60414         HAVE_TSEARCH.
60415         * modules/tsearch (Files): Remove lib/tsearch.h.
60416         (Depends-on): Add search.
60417         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
60418         (Include): Change tsearch.h into search.h.
60419
60420 2007-03-24  Bruno Haible  <bruno@clisp.org>
60421
60422         * modules/fpucw: New file.
60423         * lib/fpucw.h: New file.
60424         * lib/frexp.c: Include fpucw.h.
60425         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60426         (FUNC): Use them.
60427         * lib/printf-frexp.c: Include fpucw.h.
60428         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60429         (FUNC): Use them.
60430         * lib/vasnprintf.c: Include fpucw.h.
60431         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
60432         'long double' calculations.
60433         * tests/test-frexpl.c: Include fpucw.h.
60434         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60435         * tests/test-printf-frexpl.c: Include fpucw.h.
60436         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60437         * modules/frexpl (Depends-on): Add fpucw.
60438         * modules/printf-frexpl (Depends-on): Likewise.
60439         * modules/fprintf-posix (Depends-on): Likewise.
60440         * modules/snprintf-posix (Depends-on): Likewise.
60441         * modules/sprintf-posix (Depends-on): Likewise.
60442         * modules/vasnprintf-posix (Depends-on): Likewise.
60443         * modules/vasprintf-posix (Depends-on): Likewise.
60444         * modules/vfprintf-posix (Depends-on): Likewise.
60445         * modules/vsnprintf-posix (Depends-on): Likewise.
60446         * modules/vsprintf-posix (Depends-on): Likewise.
60447         * modules/frexpl-tests (Depends-on): Likewise.
60448         * modules/printf-frexpl-tests (Depends-on): Likewise.
60449
60450 2007-03-24  Bruno Haible  <bruno@clisp.org>
60451
60452         * lib/float+.h: New file.
60453         * lib/isnan.c: Include float+.h.
60454         (SIZE): New macro.
60455         (FUNC): Compare only SIZE bytes of the value.
60456         * lib/vasnprintf.c: Include float+.h.
60457         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
60458         SIZEOF_LDBL or SIZEOF_DBL bytes.
60459         * modules/isnan-nolibm (Files): Add lib/float+.h.
60460         * modules/isnanl-nolibm (Files): Add lib/float+.h.
60461         * modules/isnanl (Files): Add lib/float+.h.
60462         * modules/vasnprintf (Files): Add lib/float+.h.
60463
60464 2007-03-24  Bruno Haible  <bruno@clisp.org>
60465
60466         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
60467         include isnanl-nolibm.h.
60468
60469 2007-03-24  Bruno Haible  <bruno@clisp.org>
60470
60471         * tests/test-read-file.c (main): Don't produce spurious output for
60472         expected situations. Make the test fail if it encountered unexpected
60473         results.
60474
60475 2007-03-24  Bruno Haible  <bruno@clisp.org>
60476
60477         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
60478         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
60479
60480 2007-03-24  Bruno Haible  <bruno@clisp.org>
60481
60482         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
60483
60484 2007-03-24  Bruno Haible  <bruno@clisp.org>
60485
60486         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
60487         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
60488
60489         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
60490         * modules/utf8-ucs4: Turn into a symbolic link to module
60491         unistr/u8-mbtouc.
60492
60493         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
60494         utf8-ucs4-unsafe.
60495         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
60496         unistr/u8-mbtouc-unsafe.
60497
60498         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
60499         * modules/utf16-ucs4: Turn into a symbolic link to module
60500         unistr/u16-mbtouc.
60501
60502         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
60503         utf16-ucs4-unsafe.
60504         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
60505         unistr/u16-mbtouc-unsafe.
60506
60507         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
60508         * modules/ucs4-utf8: Turn into a symbolic link to module
60509         unistr/u8-ubtomb.
60510
60511         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
60512         * modules/ucs4-utf16: Turn into a symbolic link to module
60513         unistr/u16-ubtomb.
60514
60515 2007-03-24  Bruno Haible  <bruno@clisp.org>
60516
60517         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
60518         Enable the function only if HAVE_INLINE.
60519         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
60520         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60521         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
60522         Enable the function only if HAVE_INLINE.
60523         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
60524         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60525         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
60526         Enable the function only if HAVE_INLINE.
60527         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
60528         Enable the function only if HAVE_INLINE.
60529         * modules/utf8-ucs4: Update.
60530         * modules/utf8-ucs4-unsafe: Update.
60531         * modules/utf16-ucs4: Update.
60532         * modules/utf16-ucs4-unsafe: Update.
60533         * modules/ucs4-utf8: Update.
60534         * modules/ucs4-utf16: Update.
60535
60536 2007-03-24  Bruno Haible  <bruno@clisp.org>
60537
60538         * lib/utf8-ucs4.h: Remove file.
60539         * lib/utf8-ucs4-unsafe.h: Remove file.
60540         * lib/utf16-ucs4.h: Remove file.
60541         * lib/utf16-ucs4-unsafe.h: Remove file.
60542         * lib/ucs4-utf8.h: Remove file.
60543         * lib/ucs4-utf16.h: Remove file.
60544         * lib/unistr.h: Include their previous contents.
60545         * m4/utf-ucs4.m4: Remove file.
60546         * m4/ucs4-utf.m4: Remove file.
60547         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
60548         (Depends-on): Add unistr/base.
60549         (configure.ac): Remove gl_UTF_UCS4.
60550         (Makefile.am): Update.
60551         (Include): Change to unistr.h.
60552         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
60553         (Depends-on): Add unistr/base.
60554         (configure.ac): Remove gl_UTF_UCS4.
60555         (Makefile.am): Update.
60556         (Include): Change to unistr.h.
60557         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
60558         (Depends-on): Add unistr/base.
60559         (configure.ac): Remove gl_UTF_UCS4.
60560         (Makefile.am): Update.
60561         (Include): Change to unistr.h.
60562         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
60563         (Depends-on): Add unistr/base.
60564         (configure.ac): Remove gl_UTF_UCS4.
60565         (Makefile.am): Update.
60566         (Include): Change to unistr.h.
60567         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
60568         (Depends-on): Add unistr/base.
60569         (configure.ac): Remove gl_UCS4_UTF.
60570         (Makefile.am): Update.
60571         (Include): Change to unistr.h.
60572         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
60573         (Depends-on): Add unistr/base.
60574         (configure.ac): Remove gl_UCS4_UTF.
60575         (Makefile.am): Update.
60576         (Include): Change to unistr.h.
60577         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
60578         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
60579         utf8-ucs4-unsafe.h.
60580         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
60581         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
60582         utf16-ucs4-unsafe.h.
60583         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
60584         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
60585         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
60586         * lib/unistr/u8-strchr.c: Likewise.
60587         * lib/unistr/u8-strrchr.c: Likewise.
60588         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
60589         * lib/unistr/u16-strchr.c: Likewise.
60590         * lib/unistr/u16-strrchr.c: Likewise.
60591         * lib/striconveh.c: Update.
60592         * lib/linebreak.c: Update.
60593
60594 2007-03-24  Bruno Haible  <bruno@clisp.org>
60595
60596         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
60597         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
60598
60599 2007-03-22  Bruno Haible  <bruno@clisp.org>
60600
60601         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
60602
60603 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
60604
60605         * MODULES.html.sh (File system functions): New module write-any-file.
60606         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
60607         * m4/write-any-file.m4: New files.
60608
60609 2007-03-23  Eric Blake  <ebb9@byu.net>
60610
60611         * gnulib-tool: Rearrange space-tab sequences, since some editors
60612         like to eat them.
60613
60614 2007-03-23  Eric Blake  <ebb9@byu.net>
60615
60616         * lib/version-etc.c (version_etc_va): Update license wording to
60617         be more concise.  Recommended by Richard Stallman.
60618
60619 2007-03-22  Bruno Haible  <bruno@clisp.org>
60620
60621         * lib/poll.c (MSG_PEEK): New fallback definition.
60622
60623 2007-03-22  Bruno Haible  <bruno@clisp.org>
60624
60625         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
60626         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
60627         (main): Update.
60628         Fixes a compilation error on BeOS.
60629
60630 2007-03-22  Bruno Haible  <bruno@clisp.org>
60631
60632         * modules/frexpl-tests: New file.
60633         * tests/test-frexpl.c: New file.
60634
60635         * modules/frexpl: New file.
60636         * m4/frexpl.m4: New file.
60637         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
60638         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
60639         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
60640         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
60641         (Depends-on): Add frexpl. Remove isnanl-nolibm.
60642         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
60643
60644 2007-03-22  Bruno Haible  <bruno@clisp.org>
60645
60646         * lib/frexpl.c: Share code with lib/frexp.c.
60647         * modules/mathl (Files): Add lib/frexp.c.
60648         (Depends-on): Add isnanl-nolibm.
60649
60650 2007-03-22  Bruno Haible  <bruno@clisp.org>
60651
60652         * modules/printf-frexp (Files): Add m4/frexp.m4.
60653         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
60654         only if the found frexp function actually works.
60655
60656 2007-03-22  Bruno Haible  <bruno@clisp.org>
60657
60658         * lib/frexp.c: Remove older implementation that uses divisions.
60659
60660 2007-03-21  Bruno Haible  <bruno@clisp.org>
60661
60662         * modules/frexp-tests: New file.
60663         * tests/test-frexp.c: New file.
60664
60665         * modules/frexp: New file.
60666         * lib/frexp.c: New file.
60667         * m4/frexp.m4: New file.
60668         * lib/math_.h (frexp): New declaration.
60669         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
60670         REPLACE_FREXP.
60671         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
60672
60673 2007-03-21  Bruno Haible  <bruno@clisp.org>
60674
60675         * modules/isnanl-tests: New file.
60676         * tests/test-isnanl.c: New file.
60677
60678         * modules/isnanl: New file.
60679         * lib/isnanl.h: New file.
60680         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
60681         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
60682         gl_FUNC_ISNANL_WORKS.
60683         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
60684         New macros.
60685
60686 2007-03-21  Bruno Haible  <bruno@clisp.org>
60687
60688         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
60689         lib/isnanl.h.
60690         (Include): Update.
60691         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
60692         * lib/vasnprintf.c: Update.
60693         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
60694         tests/test-isnanl.h, remove tests/test-isnanl.c.
60695         (Makefile.am): Update.
60696         * tests/test-isnanl-nolibm.c: New file.
60697         * tests/test-isnanl.h: New file.
60698         * tests/test-isnanl.c: Remove file.
60699
60700 2007-03-21  Jim Meyering  <jim@meyering.net>
60701
60702         When trying to open ".", treat ESTALE like EACCES.
60703         * lib/savewd.c (savewd_save): Resort to forking not just upon
60704         failure with EACCES, but also when errno is ESTALE.
60705
60706 2007-03-20  Bruno Haible  <bruno@clisp.org>
60707
60708         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
60709         Needed on AIX 5.1. Reported by Matthew Woehlke.
60710
60711 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
60712
60713         Suggestions by Bruno Haible:
60714         * lib/acl-internal.h: Include "gettext.h" rather than rolling
60715         our own.
60716         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
60717         * modules/acl (Depends-on): Add gettext.
60718
60719 2007-03-19  Bruno Haible  <bruno@clisp.org>
60720
60721         * modules/iconvme: Remove file.
60722         * lib/iconvme.h: Remove file.
60723         * lib/iconvme.c: Remove file.
60724         * m4/iconvme.m4: Remove file.
60725
60726 2007-03-19  Bruno Haible  <bruno@clisp.org>
60727
60728         * doc/relocatable-maint.texi: Break long shell script line.
60729         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
60730
60731 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
60732
60733         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
60734         handle file_has_acl.
60735         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
60736         * lib/acl.c: Move header inclusions and related macro defns into
60737         lib/acl-internal.h.
60738         (S_ISLNK): Remove defn, since that's now done for us.
60739         (file_has_acl): Move to lib/file-has-acl.c.
60740         Call acl_trivial if available.  This is the crucial part of the fix.
60741         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
60742         shared within the library.  Rewrite a bit, partly to make it compatible
60743         with the GNU coding style.
60744         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
60745         Remove unnecessary double-quotes.
60746         Don't test for acl_to_text; the build will catch that.
60747         Replace acl_entries if it doesn't exist and it is needed.
60748         Check for -lsec and acl_trivial (as used on Solaris 10).
60749         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
60750         lib/file-has-acl.c.
60751         (Depends-on): Add sys_stat, for S_ISLNK.
60752
60753 2007-03-19  Ben Pfaff  <blp@gnu.org>
60754
60755         * doc/gnulib.texi: Fix typos.
60756         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
60757
60758 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
60759
60760         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
60761         If size is zero here, buf must be zero.
60762
60763 2007-03-19  Simon Josefsson  <simon@josefsson.org>
60764
60765         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
60766         <bruno@clisp.org>.
60767
60768 2007-03-18  Bruno Haible  <bruno@clisp.org>
60769
60770         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
60771         Suggested by Eric Blake.
60772
60773 2007-03-18  Ben Pfaff  <blp@gnu.org>
60774
60775         * doc/relocatable.texi: Recommend using as prefix a directory
60776         that does not exist and will never be created.  Based on
60777         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
60778         and others.
60779
60780 2007-03-17  Bruno Haible  <bruno@clisp.org>
60781
60782         * lib/fchownat.c: Include lchown.h.
60783
60784 2007-03-17  Bruno Haible  <bruno@clisp.org>
60785
60786         Fix endless loop when the given allocated size was > INT_MAX.
60787         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
60788         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
60789         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
60790         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
60791         * lib/sprintf.c (sprintf): Likewise.
60792
60793 2007-03-17  Bruno Haible  <bruno@clisp.org>
60794
60795         * tests/test-argp-2.sh (func_compare): Output a context diff.
60796
60797 2007-03-17  Bruno Haible  <bruno@clisp.org>
60798
60799         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
60800         locale's decimal-point character.
60801
60802 2007-03-17  Bruno Haible  <bruno@clisp.org>
60803
60804         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
60805         before comparing it. Needed because on some platforms (e.g. x86) a
60806         'long double' occupies less bytes than sizeof (long double).
60807
60808 2007-03-17  Bruno Haible  <bruno@clisp.org>
60809
60810         * tests/test-crc.c (main): Make printf statements 64-bit clean.
60811         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
60812         * tests/test-getaddrinfo.c (simple): Likewise.
60813         * tests/test-read-file.c (main): Likewise.
60814
60815 2007-03-17  Bruno Haible  <bruno@clisp.org>
60816
60817         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
60818
60819 2007-03-17  Bruno Haible  <bruno@clisp.org>
60820
60821         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
60822         unused variable.
60823
60824 2007-03-17  Bruno Haible  <bruno@clisp.org>
60825
60826         * tests/test-c-strcasecmp.c: Include c-strcase.h.
60827         * tests/test-c-strncasecmp.c: Likewise.
60828
60829 2007-03-17  Bruno Haible  <bruno@clisp.org>
60830
60831         * modules/stdlib (Depends-on): Add unistd.
60832         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
60833         Needed for MacOS X 10.3.
60834
60835 2007-03-17  Bruno Haible  <bruno@clisp.org>
60836
60837         * lib/unistr/u-strdup.h: Include <stdlib.h>.
60838
60839 2007-03-17  Bruno Haible  <bruno@clisp.org>
60840
60841         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
60842
60843 2007-03-17  Bruno Haible  <bruno@clisp.org>
60844
60845         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
60846         to reflect files copied from gnulib (with or without modifications).
60847         Suggested by Jim Meyering.
60848
60849 2007-03-17  Eric Blake  <ebb9@byu.net>
60850
60851         * NEWS: Document stdlib change from 2007-02-18.
60852
60853 2007-03-17  Jim Meyering  <jim@meyering.net>
60854
60855         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
60856         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
60857         someone uses a name containing shell meta-characters.
60858         Reported by Alfred M. Szmidt.
60859
60860         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
60861
60862 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
60863
60864         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
60865         and copy gettext configuration files only if configure.ac contains
60866         a use of AM_GNU_GETTEXT_VERSION.
60867
60868 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
60869
60870         * build-aux/bootstrap (gnulib_name): New variable.
60871         (gnulib_tool_options): Use it.
60872
60873 2007-03-13  Simon Josefsson  <simon@josefsson.org>
60874
60875         * tests/test-des.c: Use new namespace.
60876
60877 2007-03-15  Bruno Haible  <bruno@clisp.org>
60878
60879         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
60880         Reported by James Youngman <jay@gnu.org>.
60881
60882 2007-03-15  Bruno Haible  <bruno@clisp.org>
60883
60884         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
60885         declared prototype. Needed with cc on OSF/1 5.1.
60886
60887 2007-03-15  Bruno Haible  <bruno@clisp.org>
60888
60889         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
60890         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
60891         (struct gl_list_implementation): Add dispose_fn argument to the
60892         'create_empty', 'create' methods.
60893         (struct gl_list_impl_base): Add field 'dispose_fn'.
60894         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
60895         argument.
60896         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
60897         dispose_fn argument.
60898         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
60899         dispose_fn on the dropped values.
60900         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
60901         dispose_fn argument.
60902         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
60903         dropped values.
60904         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
60905         (gl_tree_remove_node): Call dispose_fn on the dropped value.
60906         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
60907         (gl_tree_remove_node): Call dispose_fn on the dropped value.
60908         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
60909         argument.
60910         (gl_tree_list_free): Call dispose_fn on the dropped values.
60911         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
60912         the dropped values.
60913         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
60914         Add dispose_fn argument.
60915         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
60916         Call dispose_fn on the dropped values.
60917         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
60918         Add dispose_fn argument.
60919         (gl_sublist_create): Initialize the 'dispose_fn' field.
60920         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
60921         * tests/test-array_list.c (main): Update.
60922         * tests/test-carray_list.c (main): Update.
60923         * tests/test-avltree_list.c (main): Update.
60924         * tests/test-rbtree_list.c (main): Update.
60925         * tests/test-avltreehash_list.c (main): Update.
60926         * tests/test-rbtreehash_list.c (main): Update.
60927         * tests/test-linked_list.c (main): Update.
60928         * tests/test-linkedhash_list.c (main): Update.
60929         * tests/test-array_oset.c (main): Update.
60930
60931 2007-03-15  Bruno Haible  <bruno@clisp.org>
60932
60933         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
60934         (gl_oset_create_empty): Add dispose_fn argument.
60935         (struct gl_oset_implementation): Add dispose_fn argument to
60936         'create_empty' method.
60937         (struct gl_oset_impl_base): Add dispose_fn field.
60938         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
60939         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
60940         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
60941         values.
60942         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
60943         (gl_tree_oset_free): Call dispose_fn on the dropped values.
60944         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
60945         dropped value.
60946         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
60947         dropped value.
60948         * tests/test-array_oset.c (main): Update.
60949         * tests/test-avltree_oset.c (main): Update.
60950         * tests/test-rbtree_oset.c (main): Update.
60951         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
60952
60953 2007-03-13  Bruno Haible  <bruno@clisp.org>
60954
60955         * tests/test-stdbool.c (i): Update after last patch.
60956
60957 2007-03-12  Bruno Haible  <bruno@clisp.org>
60958
60959         * lib/quotearg.c: Include <wctype.h> early, before the definition of
60960         the iswprint macro. Needed on Solaris 2.5.1.
60961
60962 2007-03-12  Bruno Haible  <bruno@clisp.org>
60963
60964         * tests/test-printf-frexp.c (main): Declare x as volatile.
60965
60966 2007-03-12  Simon Josefsson  <simon@josefsson.org>
60967
60968         * doc/gnulib.texi (Build robot for gnulib): New section.
60969
60970 2007-03-12  Jim Meyering  <jim@meyering.net>
60971
60972         * build-aux/bootstrap: New file.
60973         * build-aux/bootstrap.conf: New file, from coreutils.
60974
60975 2007-03-11  Bruno Haible  <bruno@clisp.org>
60976
60977         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
60978
60979 2007-03-12  Simon Josefsson  <simon@josefsson.org>
60980
60981         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
60982         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
60983         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
60984
60985 2007-03-11  Bruno Haible  <bruno@clisp.org>
60986
60987         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
60988         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
60989
60990 2007-03-11  Bruno Haible  <bruno@clisp.org>
60991
60992         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
60993         formula. Needed for SunPRO C 5.0.
60994
60995 2007-03-11  Bruno Haible  <bruno@clisp.org>
60996
60997         * modules/long-options (Depends-on): Add getopt.
60998
60999 2007-03-11  Bruno Haible  <bruno@clisp.org>
61000
61001         * modules/modechange (Depends-on): Add stdbool.
61002
61003 2007-03-11  Bruno Haible  <bruno@clisp.org>
61004
61005         * modules/i-ring (Depends-on): Add stdbool.
61006
61007 2007-03-11  Bruno Haible  <bruno@clisp.org>
61008
61009         * modules/gc-des (Depends-on): Add stdbool.
61010
61011 2007-03-11  Bruno Haible  <bruno@clisp.org>
61012
61013         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
61014
61015 2007-03-11  Bruno Haible  <bruno@clisp.org>
61016
61017         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
61018
61019 2007-03-11  Bruno Haible  <bruno@clisp.org>
61020
61021         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
61022
61023 2007-03-11  Bruno Haible  <bruno@clisp.org>
61024
61025         * lib/vasnprintf.c (sprintf): Undefine.
61026
61027 2007-03-11  Bruno Haible  <bruno@clisp.org>
61028
61029         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
61030         initializers in SunPRO C and Compaq C compilers.
61031
61032 2007-03-11  Bruno Haible  <bruno@clisp.org>
61033
61034         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
61035         decrementing code ANSI C compliant.
61036
61037 2007-03-11  Bruno Haible  <bruno@clisp.org>
61038
61039         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
61040         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
61041
61042 2007-03-11  Bruno Haible  <bruno@clisp.org>
61043
61044         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
61045         <stdbool.h> substitute doesn't pass.
61046
61047 2007-03-11  Bruno Haible  <bruno@clisp.org>
61048
61049         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
61050
61051 2007-03-11  Bruno Haible  <bruno@clisp.org>
61052
61053         * gnulib-tool (func_create_megatestdir): Create also an autobuild
61054         script, for submission to autobuild.josefsson.org.
61055
61056 2007-03-10  Bruno Haible  <bruno@clisp.org>
61057
61058         * modules/canonicalize-lgpl-tests: New file.
61059         * tests/test-canonicalize-lgpl.sh: New file.
61060         * tests/test-canonicalize-lgpl.c: New file.
61061
61062         * modules/c-strcase-tests: New file.
61063         * tests/test-c-strcase.sh: New file.
61064         * tests/test-c-strcasecmp.c: New file.
61065         * tests/test-c-strncasecmp.c: New file.
61066
61067         * modules/atexit-tests: New file.
61068         * tests/test-atexit.sh: New file.
61069         * tests/test-atexit.c: New file.
61070
61071 2007-03-10  Bruno Haible  <bruno@clisp.org>
61072
61073         * tests/test-binary-io.sh: Use temporary filenames that are not so
61074         likely to clash with those of other tests (in a parallel make).
61075         * tests/test-binary-io.c: Likewise.
61076
61077 2007-03-10  Bruno Haible  <bruno@clisp.org>
61078
61079         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
61080         fallback; use #error instead.
61081         Suggested by Simon Josefsson.
61082
61083 2007-03-10  Bruno Haible  <bruno@clisp.org>
61084
61085         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
61086         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
61087         first and the last.
61088
61089 2007-03-10  Bruno Haible  <bruno@clisp.org>
61090
61091         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
61092
61093 2007-03-10  Bruno Haible  <bruno@clisp.org>
61094
61095         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
61096         "make distcheck".
61097         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
61098         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
61099         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
61100
61101 2007-03-10  Bruno Haible  <bruno@clisp.org>
61102
61103         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
61104         variable.
61105         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
61106         variable.
61107
61108 2007-03-09  Eric Blake  <ebb9@byu.net>
61109         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
61110
61111         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
61112         types are not being provided by gnulib.
61113         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
61114         types are supported.
61115
61116 2007-03-10  Bruno Haible  <bruno@clisp.org>
61117
61118         * lib/stdio_.h (__attribute__): New macro.
61119         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
61120         vsprintf): Specify __attribute__ __format__ for GCC.
61121         Suggested by Eric Blake.
61122
61123 2007-03-09  Bruno Haible  <bruno@clisp.org>
61124
61125         * modules/printf-posix-tests: New file.
61126         * tests/test-printf-posix.sh: New file.
61127         * tests/test-printf-posix.c: New file.
61128
61129         * modules/printf-posix: New file.
61130         * lib/printf.c: New file.
61131         * m4/printf-posix-rpl.m4: New file.
61132         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
61133         REPLACE_PRINTF.
61134         * lib/stdio_.h (printf): New declaration.
61135         (format, __format__, ____printf____, ____scanf____, ____strftime____,
61136         ____strfmon____): New macros.
61137         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
61138         REPLACE_PRINTF.
61139
61140 2007-03-09  Bruno Haible  <bruno@clisp.org>
61141
61142         * tests/test-vasnprintf-posix2.sh: New file.
61143         * tests/test-vasnprintf-posix2.c: New file.
61144         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
61145         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
61146         (Makefile.am): Activate test-vasnprintf-posix2.sh.
61147
61148         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
61149         a locale dependent decimal point, rather than always '.'.
61150
61151 2007-03-09  Eric Blake  <ebb9@byu.net>
61152
61153         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
61154         spite of platforms like Tandem/NSK that define it to -1.
61155
61156 2007-03-08  Bruno Haible  <bruno@clisp.org>
61157
61158         * modules/vprintf-posix-tests: New file.
61159         * tests/test-vprintf-posix.sh: New file.
61160         * tests/test-vprintf-posix.c: New file.
61161         * tests/test-printf-posix.h: New file.
61162
61163         * modules/vprintf-posix: New file.
61164         * lib/vprintf.c: New file.
61165         * m4/vprintf-posix.m4: New file.
61166         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
61167         REPLACE_VPRINTF.
61168         * lib/stdio_.h (vprintf): New declaration.
61169         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
61170         REPLACE_VPRINTF.
61171
61172 2007-03-08  Bruno Haible  <bruno@clisp.org>
61173
61174         * modules/fprintf-posix-tests: New file.
61175         * tests/test-fprintf-posix.sh: New file.
61176         * tests/test-fprintf-posix.c: New file.
61177
61178         * modules/fprintf-posix: New file.
61179         * lib/fprintf.c: New file.
61180         * m4/fprintf-posix.m4: New file.
61181         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
61182         REPLACE_FPRINTF.
61183         * lib/stdio_.h (fprintf): New declaration.
61184         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
61185         REPLACE_FPRINTF.
61186
61187 2007-03-08  Bruno Haible  <bruno@clisp.org>
61188
61189         * modules/vfprintf-posix-tests: New file.
61190         * tests/test-vfprintf-posix.sh: New file.
61191         * tests/test-vfprintf-posix.c: New file.
61192         * tests/test-fprintf-posix.h: New file.
61193         * tests/test-fprintf-posix.out: New file.
61194
61195         * modules/vfprintf-posix: New file.
61196         * lib/vfprintf.c: New file.
61197         * m4/vfprintf-posix.m4: New file.
61198         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
61199         REPLACE_VFPRINTF.
61200         * lib/stdio_.h (vfprintf): New declaration.
61201         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
61202         REPLACE_VFPRINTF.
61203
61204 2007-03-08  Bruno Haible  <bruno@clisp.org>
61205
61206         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
61207
61208 2007-03-08  Bruno Haible  <bruno@clisp.org>
61209
61210         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
61211         instead of 'expr' invocations.
61212         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61213         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61214         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61215         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61216         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61217         Suggested by Paul Eggert.
61218
61219 2007-03-08  Bruno Haible  <bruno@clisp.org>
61220
61221         * modules/fseterr-tests: New file.
61222         * tests/test-fseterr.c: New file.
61223
61224         * modules/fseterr: New file.
61225         * lib/fseterr.h: New file.
61226         * lib/fseterr.c: New file.
61227
61228 2007-03-08  Bruno Haible  <bruno@clisp.org>
61229
61230         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
61231         * lib/getopt_.h: Likewise.
61232         * lib/mbswidth.h: Likewise.
61233         * lib/setenv.h: Likewise.
61234         * lib/vasnprintf.h: Likewise.
61235         * lib/vasprintf.h: Likewise.
61236         * lib/verror.h: Likewise.
61237         * lib/xsetenv.h: Likewise.
61238         * lib/xvasprintf.h: Likewise.
61239
61240 2007-03-08  Jim Meyering  <jim@meyering.net>
61241
61242         * users.txt: Add parted.
61243
61244         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
61245
61246 2007-03-07  Bruno Haible  <bruno@clisp.org>
61247
61248         * m4/printf.m4: Make the shell script snippets copy&pastable.
61249
61250 2007-03-02  Bruno Haible  <bruno@clisp.org>
61251
61252         * lib/netinet_in_.h: New file.
61253         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
61254         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
61255         * modules/netinet_in (Files): Add lib/netinet_in_.h.
61256         (Depends-on): Add absolute-header.
61257         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
61258         into netinet/in.h.
61259
61260 2007-03-03  Bruno Haible  <bruno@clisp.org>
61261
61262         * lib/sys_select_.h: New file.
61263         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
61264         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
61265         * modules/sys_select (Files): Add lib/sys_select_.h.
61266         (Depends-on): Add absolute-header.
61267         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
61268         into sys/select.h.
61269
61270 2007-03-02  Bruno Haible  <bruno@clisp.org>
61271
61272         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
61273         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
61274         values.
61275         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
61276         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
61277         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
61278         * modules/sys_socket (Depends-on): Add absolute-header.
61279         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
61280         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
61281         (Include): Remove requirement of inclusion of <sys/types.h>.
61282
61283 2007-03-02  Bruno Haible  <bruno@clisp.org>
61284
61285         * lib/byteswap_.h (bswap_32): Fix formula.
61286
61287 2007-03-06  Bruno Haible  <bruno@clisp.org>
61288
61289         * modules/sprintf-posix-tests: New file.
61290         * tests/test-sprintf-posix.c: New file.
61291
61292         * modules/sprintf-posix: New file.
61293         * lib/sprintf.c: New file.
61294         * m4/sprintf-posix.m4: New file.
61295         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
61296         REPLACE_SPRINTF.
61297         * lib/stdio_.h (sprintf): New declaration.
61298         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
61299         REPLACE_SPRINTF.
61300
61301 2007-03-06  Bruno Haible  <bruno@clisp.org>
61302
61303         * modules/vsprintf-posix-tests: New file.
61304         * tests/test-vsprintf-posix.c: New file.
61305         * tests/test-sprintf-posix.h: New file.
61306
61307         * modules/vsprintf-posix: New file.
61308         * lib/vsprintf.c: New file.
61309         * m4/vsprintf-posix.m4: New file.
61310         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
61311         REPLACE_VSPRINTF.
61312         * lib/stdio_.h (vsprintf): New declaration.
61313         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
61314         REPLACE_VSPRINTF.
61315
61316 2007-03-06  Bruno Haible  <bruno@clisp.org>
61317
61318         * modules/vsnprintf (Depend-on): Remove minmax.
61319
61320 2007-03-06  Bruno Haible  <bruno@clisp.org>
61321
61322         * modules/snprintf-posix-tests: New file.
61323         * tests/test-snprintf-posix.c: New file.
61324
61325         * modules/snprintf-posix: New file.
61326         * m4/snprintf-posix.m4: New file.
61327         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
61328         gl_FUNC_SNPRINTF.
61329         (gl_FUNC_SNPRINTF): Invoke it.
61330         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
61331         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
61332         is set.
61333         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
61334
61335 2007-03-06  Bruno Haible  <bruno@clisp.org>
61336
61337         * modules/vsnprintf-posix-tests: New file.
61338         * tests/test-vsnprintf-posix.c: New file.
61339         * tests/test-snprintf-posix.h: New file.
61340
61341         * modules/vsnprintf-posix: New file.
61342         * m4/vsnprintf-posix.m4: New file.
61343         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
61344         gl_FUNC_VSNPRINTF.
61345         (gl_FUNC_VSNPRINTF): Invoke it.
61346         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
61347         * lib/stdio_.h (vsnprintf): Define as a replacement if
61348         REPLACE_VSNPRINTF is set.
61349         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
61350
61351 2007-03-06  Bruno Haible  <bruno@clisp.org>
61352
61353         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
61354         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
61355
61356 2007-03-06  Bruno Haible  <bruno@clisp.org>
61357
61358         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
61359         (asinl): Declare also if HAVE_DECL_ASINL is set.
61360         (atanl): Declare also if HAVE_DECL_ATANL is set.
61361         (ceill): Declare also if HAVE_DECL_CEILL is set.
61362         (cosl): Declare also if HAVE_DECL_COSL is set.
61363         (expl): Declare also if HAVE_DECL_EXPL is set.
61364         (floorl): Declare also if HAVE_DECL_FLOORL is set.
61365         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
61366         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
61367         (logl): Declare also if HAVE_DECL_LOGL is set.
61368         (sinl): Declare also if HAVE_DECL_SINL is set.
61369         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
61370         (tanl): Declare also if HAVE_DECL_TANL is set.
61371         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
61372         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
61373         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
61374         declaration of frexpl, ldexpl.
61375         * modules/printf-frexpl (Depends-on): Add math.
61376         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
61377
61378 2007-03-05  Bruno Haible  <bruno@clisp.org>
61379
61380         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
61381         frexpl and ldexpl are declared.
61382         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
61383
61384 2007-03-05  Bruno Haible  <bruno@clisp.org>
61385
61386         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
61387         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
61388
61389 2007-03-05  Bruno Haible  <bruno@clisp.org>
61390
61391         * lib/stdio_.h: Include <stddef.h>.
61392
61393 2007-03-05  Bruno Haible  <bruno@clisp.org>
61394
61395         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
61396
61397 2007-03-05  Bruno Haible  <bruno@clisp.org>
61398
61399         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
61400         NetBSD 4, from Ralf Wildenhues.
61401
61402 2007-03-04  Bruno Haible  <bruno@clisp.org>
61403
61404         * lib/vasprintf.h: Update #if logic for the case when the functions
61405         exist but are overridden.
61406
61407 2007-03-04  Bruno Haible  <bruno@clisp.org>
61408
61409         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
61410         implementations: glibc-2.4 and MacOS X 10.3.
61411         * tests/test-vasnprintf-posix.c (test_function): Test also the case
61412         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
61413         * tests/test-vasprintf-posix.c (test_function): Likewise.
61414
61415 2007-03-04  Bruno Haible  <bruno@clisp.org>
61416
61417         * modules/vasprintf-posix-tests: New file.
61418         * tests/test-vasprintf-posix.c: New file.
61419
61420         * modules/vasprintf-posix: New file.
61421         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
61422         defined.
61423         * m4/vasprintf-posix.m4: New file.
61424         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
61425         gl_FUNC_VASPRINTF.
61426         (gl_FUNC_VASPRINTF): Invoke it.
61427         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
61428         here.
61429         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
61430
61431 2007-03-04  Bruno Haible  <bruno@clisp.org>
61432
61433         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
61434         REPLACE_GETTIMEOFDAY.
61435         * modules/sys_time (Makefile.am): Likewise.
61436         * m4/sys_time_h.m4: Likewise.
61437         * m4/gettimeofday.m4: Likewise.
61438
61439 2007-03-04  Bruno Haible  <bruno@clisp.org>
61440
61441         * modules/vasnprintf-posix-tests: New file.
61442         * tests/test-vasnprintf-posix.c: New file.
61443
61444         * modules/vasnprintf-posix: New file.
61445         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
61446         printf-frexpl.h.
61447         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
61448         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
61449         REPLACE_VASNPRINTF is defined.
61450         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
61451         gl_FUNC_VASNPRINTF.
61452         (gl_FUNC_VASNPRINTF): Invoke it.
61453         * m4/vasnprintf-posix.m4: New file.
61454         * m4/printf.m4: New file.
61455
61456 2007-03-04  Bruno Haible  <bruno@clisp.org>
61457
61458         Compile progreloc.c only if --enable-relocatable is specified.
61459         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
61460         if --enable-relocatable was specified.
61461         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
61462         lib_SOURCES.
61463
61464 2007-03-04  Jim Meyering  <jim@meyering.net>
61465
61466         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
61467         Use it consistently, rather than enumerating errno constants.
61468
61469 2007-03-04  Bruno Haible  <bruno@clisp.org>
61470
61471         * modules/xvasprintf-tests: New file.
61472         * tests/test-xvasprintf.c: New file.
61473
61474         * modules/vasprintf-tests: New file.
61475         * tests/test-vasprintf.c: New file.
61476
61477         * modules/vasnprintf-tests: New file.
61478         * tests/test-vasnprintf.c: New file.
61479
61480         * modules/vsnprintf-tests: New file.
61481         * tests/test-vsnprintf.c: New file.
61482
61483         * modules/snprintf-tests: New file.
61484         * tests/test-snprintf.c: New file.
61485
61486 2007-03-04  Bruno Haible  <bruno@clisp.org>
61487
61488         Compile relocatable.c only if --enable-relocatable is specified.
61489         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
61490         gl_RELOCATABLE_LIBRARY.
61491         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
61492         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
61493         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
61494         gl_RELOCATABLE_LIBRARY.
61495         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
61496         (Makefile.am): Remove lib_SOURCES.
61497         * modules/relocatable-lib-lgpl (configure.ac): Invoke
61498         gl_RELOCATABLE_LIBRARY.
61499         (Makefile.am): Remove lib_SOURCES.
61500         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
61501         always.
61502         * modules/relocatable-prog-wrapper (configure.ac): Invoke
61503         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
61504
61505 2007-03-04  Bruno Haible  <bruno@clisp.org>
61506
61507         * modules/argmatch-tests: New file.
61508         * tests/test-argmatch.c: New file.
61509
61510         * tests/test-allocsa.c (main): Halve the number of loop runs.
61511
61512         * modules/alloca-opt-tests: New file.
61513         * tests/test-alloca-opt.c: New file.
61514
61515 2007-03-04  Jim Meyering  <jim@meyering.net>
61516
61517         Work around difference between Linux ACLs and Solaris 10 ZFS.
61518         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
61519         for EINVAL.
61520
61521 2007-03-03  Bruno Haible  <bruno@clisp.org>
61522
61523         * modules/relocatable-prog (Depends-on): Add back progreloc's
61524         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
61525
61526 2007-03-03  Bruno Haible  <bruno@clisp.org>
61527
61528         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
61529         * modules/relocatable-lib: New file.
61530
61531 2007-03-03  Bruno Haible  <bruno@clisp.org>
61532
61533         * modules/relocatable-prog: Renamed from modules/relocatable.
61534         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
61535
61536 2007-03-03  Bruno Haible  <bruno@clisp.org>
61537
61538         * modules/relocatable-script (Files): Add doc/relocatable.texi,
61539         m4/relocatable-lib.m4.
61540         (Depends-on): Remove 'relocatable'.
61541         (configure.ac): Add gl_RELOCATABLE_NOP.
61542
61543 2007-03-03  Bruno Haible  <bruno@clisp.org>
61544
61545         * modules/relocatable-prog-wrapper: New file.
61546         * modules/relocatable (Depends-on): Add it. Remove all other
61547         dependencies except progname.
61548         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
61549
61550         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
61551         (gl_FUNC_STRERROR): Nop.
61552         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
61553
61554         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
61555         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
61556
61557         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
61558         (gl_FUNC_READLINK): Update.
61559
61560         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
61561
61562 2007-03-03  Bruno Haible  <bruno@clisp.org>
61563
61564         * lib/xreadlink.c: Include <unistd.h> unconditionally.
61565         * modules/xreadlink (Depends-on): Add unistd.
61566         * modules/xreadlink-with-size (Depends-on): Likewise.
61567
61568 2007-03-03  Bruno Haible  <bruno@clisp.org>
61569
61570         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
61571         extracted from gt_FUNC_SETENV.
61572         (gt_FUNC_SETENV): Remove macro.
61573         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
61574         remove gt_FUNC_SETENV.
61575
61576 2007-03-03  Bruno Haible  <bruno@clisp.org>
61577
61578         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
61579         ENABLE_RELOCATABLE here.
61580         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
61581
61582 2007-03-03  Bruno Haible  <bruno@clisp.org>
61583
61584         * modules/rbtreehash-list-tests (Depends-on): Add progname.
61585         * tests/test-rbtreehash_list.c: Include progname.h.
61586         (main): Call set_program_name.
61587
61588         * modules/rbtree-oset-tests (Depends-on): Add progname.
61589         * tests/test-rbtree_oset.c: Include progname.h.
61590         (main): Call set_program_name.
61591
61592         * modules/rbtree-list-tests (Depends-on): Add progname.
61593         * tests/test-rbtree_list.c: Include progname.h.
61594         (main): Call set_program_name.
61595
61596         * modules/linked-list-tests (Depends-on): Add progname.
61597         * tests/test-linked_list.c: Include progname.h.
61598         (main): Call set_program_name.
61599
61600 2007-03-03  Bruno Haible  <bruno@clisp.org>
61601
61602         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
61603         All uses of __restrict changed to _Restrict_.
61604         * lib/glob_.h (__restrict): Remove macro.
61605
61606 2007-03-02  Bruno Haible  <bruno@clisp.org>
61607
61608         * modules/gettext (configure.ac): Require gettext infrastructure
61609         from version 0.16.1.
61610
61611 2007-03-02  Bruno Haible  <bruno@clisp.org>
61612
61613         * modules/linkedhash-list-tests (Depends-on): Add progname.
61614         * tests/test-linkedhash_list.c: Include progname.h.
61615         (main): Call set_program_name.
61616
61617         * modules/carray-list-tests (Depends-on): Add progname.
61618         * tests/test-carray_list.c: Include progname.h.
61619         (main): Call set_program_name.
61620
61621         * modules/avltreehash-list-tests (Depends-on): Add progname.
61622         * tests/test-avltreehash_list.c: Include progname.h.
61623         (main): Call set_program_name.
61624
61625         * modules/avltree-oset-tests (Depends-on): Add progname.
61626         * tests/test-avltree_oset.c: Include progname.h.
61627         (main): Call set_program_name.
61628
61629         * modules/avltree-list-tests (Depends-on): Add progname.
61630         * tests/test-avltree_list.c: Include progname.h.
61631         (main): Call set_program_name.
61632
61633         * modules/array-oset-tests (Depends-on): Add progname.
61634         * tests/test-array_oset.c: Include progname.h.
61635         (main): Call set_program_name.
61636
61637         * modules/array-list-tests (Depends-on): Add progname.
61638         * tests/test-array_list.c: Include progname.h.
61639         (main): Call set_program_name.
61640
61641         * modules/argp-tests (Depends-on): Add progname.
61642         * tests/test-argp.c: Include argp.h first. Include progname.h.
61643         (main): Call set_program_name.
61644
61645 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
61646
61647         * doc/gnulib-tool.texi (Initial import): Reword description of
61648         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
61649         limited effect even if defined after the first system include.
61650
61651 2007-03-01  Bruno Haible  <bruno@clisp.org>
61652
61653         * build-aux/config.libpath: Update to libtool-1.5.22.
61654         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
61655
61656 2007-03-01  Bruno Haible  <bruno@clisp.org>
61657
61658         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
61659         foo_CFLAGS.
61660         Reported by Ralf Wildenhues.
61661
61662 2007-03-01  Bruno Haible  <bruno@clisp.org>
61663
61664         * build-aux/install-reloc: Remove object files left over by some
61665         compilers.
61666         Reported by Ralf Wildenhues.
61667
61668 2007-03-01  Bruno Haible  <bruno@clisp.org>
61669
61670         * build-aux/install-reloc: Break long lines.
61671
61672 2007-03-01  Bruno Haible  <bruno@clisp.org>
61673
61674         * doc/relocatable.texi: Document that it may not work on OpenBSD.
61675         Reported by Ralf Wildenhues.
61676
61677 2007-03-01  Bruno Haible  <bruno@clisp.org>
61678
61679         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
61680         include ordering constraints.
61681
61682 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61683
61684         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
61685         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
61686         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
61687         as another example.
61688         * lib/time_.h: Fix misspelling.
61689         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
61690         Require gl_HEADER_TIME_H_DEFAULTS.
61691         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
61692         * m4/time_r.m4 (gl_TIME_R): Likewise.
61693         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
61694
61695 2007-03-01  Bruno Haible  <bruno@clisp.org>
61696
61697         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
61698         * m4/utimens.m4 (gl_UTIMENS): Likewise.
61699
61700 2007-03-01  Jim Meyering  <jim@meyering.net>
61701
61702         * modules/xreadlink (Maintainer): Add my name.
61703         * modules/xreadlink-with-size (Depends-on): Alphabetize.
61704
61705 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
61706             Bruno Haible  <bruno@clisp.org>
61707
61708         * build-aux/install-reloc: Compile also c-ctype.c.
61709         * build-aux/relocatable.sh.in: New file.
61710         * doc/relocatable.texi: New file.
61711         * doc/relocatable-maint.texi: New file.
61712         * doc/gnulib.texi: Include relocatable-maint.texi.
61713         * lib/progreloc.c: Include unistd.h unconditionally.
61714         * lib/relocwrapper.c: Include unistd.h unconditionally.
61715         Include c-ctype.h.
61716         (add_dotbin): Use c_tolower.
61717         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
61718         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
61719         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
61720         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
61721         to m4/relocatable-lib.m4.
61722         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
61723         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
61724         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
61725         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
61726         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
61727         * modules/relocatable: New file.
61728         * modules/relocatable-lib: New file.
61729         * modules/relocatable-script: New file.
61730
61731 2007-02-28  Bruno Haible  <bruno@clisp.org>
61732
61733         Import --enable-relocatable infrastructure.
61734         * build-aux/config.libpath: New file, from GNU gettext.
61735         * build-aux/install-reloc: New file, from GNU gettext.
61736         * build-aux/reloc-ldflags: New file, from GNU gettext.
61737         * lib/relocatable.h: New file, from GNU gettext.
61738         * lib/relocatable.c: New file, from GNU gettext.
61739         * lib/relocwrapper.c: New file, from GNU gettext.
61740         * m4/relocatable.m4: New file, from GNU gettext.
61741
61742 2007-02-28  Bruno Haible  <bruno@clisp.org>
61743
61744         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
61745
61746         * modules/xreadlink: New file, from GNU gettext with modifications.
61747         * lib/xreadlink.c: New file, from GNU gettext.
61748         * lib/xreadlink.h: Add comments.
61749         (xreadlink): New declaration.
61750
61751         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
61752         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
61753         lib/xreadlink-with-size.c.
61754         (configure.ac): Remove gl_XREADLINK invocation.
61755         (Makefile.am): Augment lib_SOURCES.
61756         * m4/xreadlink.m4: Remove file.
61757         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
61758         (xreadlink_with_size): Renamed from xreadink.
61759         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
61760         * modules/canonicalize (Depends-on): Replace xreadlink with
61761         xreadlink-with-size.
61762         * lib/canonicalize.c (canonicalize_filename_mode): Update.
61763
61764 2007-02-25  Jim Meyering  <jim@meyering.net>
61765
61766         * build-aux/announce-gen: When complaining about excess arguments,
61767         list them.
61768
61769 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
61770
61771         * README: Document signed integer overflow situation more
61772         accurately.
61773
61774 2007-02-25  Bruno Haible  <bruno@clisp.org>
61775
61776         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
61777         'a' or 'A' conversion.
61778
61779 2007-02-25  Bruno Haible  <bruno@clisp.org>
61780
61781         * modules/filename: Renamed from modules/pathname.
61782         (Files): Replace lib/pathname.h with lib/filename.h. Replace
61783         lib/concatpath.c with lib/concat-filename.c.
61784         (Makefile.am): Update.
61785         (Include): Replace pathname.h with filename.h.
61786         * lib/filename.h: Renamed from lib/pathname.h.
61787         (concatenated_filename): Renamed from concatenated_pathname.
61788         * lib/concat-filename.c: Renamed from lib/concatpath.c.
61789         (concatenated_filename): Renamed from concatenated_pathname.
61790         * lib/findprog.c: Include filename.h instead of pathname.h.
61791         (find_in_path): Update.
61792         * lib/javacomp.c: Include filename.h instead of pathname.h.
61793         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
61794         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
61795         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
61796         is_oldgcj_14_13_usable, is_javac_usable): Update.
61797         * lib/javaexec.c: Include filename.h instead of pathname.h.
61798         (execute_java_class): Update.
61799         * modules/findprog: Update.
61800         * modules/javacomp: Update.
61801         * modules/javaexec: Update.
61802         * MODULES.html.sh (File system functions): Add 'filename', remove
61803         'pathname'.
61804
61805 2007-02-25  Bruno Haible  <bruno@clisp.org>
61806
61807         * modules/printf-frexpl-tests: New file.
61808         * tests/test-printf-frexpl.c: New file.
61809
61810         * modules/printf-frexpl: New file.
61811         * lib/printf-frexpl.h: New file.
61812         * lib/printf-frexpl.c: New file.
61813         * m4/printf-frexpl.m4: New file.
61814
61815 2007-02-25  Bruno Haible  <bruno@clisp.org>
61816
61817         * modules/printf-frexp-tests: New file.
61818         * tests/test-printf-frexp.c: New file.
61819
61820         * modules/printf-frexp: New file.
61821         * lib/printf-frexp.h: New file.
61822         * lib/printf-frexp.c: New file.
61823         * m4/printf-frexp.m4: New file.
61824
61825 2007-02-25  Bruno Haible  <bruno@clisp.org>
61826
61827         Assume automake >= 1.10 for the tests.
61828         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
61829         * modules/arctwo-tests: Likewise.
61830         * modules/argp-tests: Likewise.
61831         * modules/avltree-list-tests: Likewise.
61832         * modules/avltree-oset-tests: Likewise.
61833         * modules/avltreehash-list-tests: Likewise.
61834         * modules/carray-list-tests: Likewise.
61835         * modules/crc-tests: Likewise.
61836         * modules/des-tests: Likewise.
61837         * modules/gc-arcfour-tests: Likewise.
61838         * modules/gc-arctwo-tests: Likewise.
61839         * modules/gc-des-tests: Likewise.
61840         * modules/gc-hmac-md5-tests: Likewise.
61841         * modules/gc-hmac-sha1-tests: Likewise.
61842         * modules/gc-md2-tests: Likewise.
61843         * modules/gc-md4-tests: Likewise.
61844         * modules/gc-md5-tests: Likewise.
61845         * modules/gc-pbkdf2-sha1-tests: Likewise.
61846         * modules/gc-rijndael-tests: Likewise.
61847         * modules/gc-sha1-tests: Likewise.
61848         * modules/gc-tests: Likewise.
61849         * modules/getaddrinfo-tests: Likewise.
61850         * modules/hmac-md5-tests: Likewise.
61851         * modules/hmac-sha1-tests: Likewise.
61852         * modules/linked-list-tests: Likewise.
61853         * modules/linkedhash-list-tests: Likewise.
61854         * modules/lock-tests: Likewise.
61855         * modules/md2-tests: Likewise.
61856         * modules/md4-tests: Likewise.
61857         * modules/md5-tests: Likewise.
61858         * modules/rbtree-list-tests: Likewise.
61859         * modules/rbtree-oset-tests: Likewise.
61860         * modules/rbtreehash-list-tests: Likewise.
61861         * modules/read-file-tests: Likewise.
61862         * modules/rijndael-tests: Likewise.
61863         * modules/stdint-tests: Likewise.
61864         * modules/tls-tests: Likewise.
61865
61866 2007-02-24  Bruno Haible  <bruno@clisp.org>
61867
61868         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
61869         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
61870         function; instead check whether isnan with a double argument links.
61871         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
61872         function; instead check whether isnan with a 'long double' argument
61873         links.
61874         Reported by Eric Blake <ebb9@byu.net>.
61875
61876 2007-02-24  Bruno Haible  <bruno@clisp.org>
61877
61878         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
61879         defined.
61880         * lib/isnanl.c: Remove all code. Just include isnan.c.
61881         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
61882
61883 2007-02-25  Jim Meyering  <jim@meyering.net>
61884
61885         Avoid conflicting types for 'unsetenv' on FreeBSD.
61886         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
61887         conflicting with FreeBSD's (5.0 and 6.1) function declaration
61888         in stdlib.h.
61889
61890 2007-02-24  Bruno Haible  <bruno@clisp.org>
61891
61892         * modules/isnanl-nolibm-tests: New file.
61893         * tests/test-isnanl.c: New file.
61894
61895         * modules/isnanl-nolibm: New file.
61896         * lib/isnanl.h: New file.
61897         * lib/isnanl.c: New file.
61898         * m4/isnanl.m4: New file.
61899
61900 2007-02-24  Bruno Haible  <bruno@clisp.org>
61901
61902         * modules/isnan-nolibm-tests: New file.
61903         * tests/test-isnan.c: New file.
61904
61905         * modules/isnan-nolibm: New file.
61906         * lib/isnan.h: New file.
61907         * lib/isnan.c: New file.
61908         * m4/isnan.m4: New file.
61909
61910 2007-02-24  Bruno Haible  <bruno@clisp.org>
61911
61912         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
61913         assume that an exponent fits in 20 bits.
61914
61915 2007-02-24  Jim Meyering  <jim@meyering.net>
61916
61917         * m4/regex.m4: Update the description of the configure-time option,
61918         --without-included-regex, to state accurately what the defaults are,
61919         and perhaps to give people an idea why using this option is risky.
61920
61921 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
61922
61923         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
61924         loops on small arguments.  This attempts to avoid the problem
61925         Bruno Haible reported for AIX 4.3.2 in
61926         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
61927
61928 2007-02-23  Bruno Haible  <bruno@clisp.org>
61929
61930         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
61931         Needed for help2man.
61932
61933 2007-02-23  Karl Berry  <karl@gnu.org>
61934
61935         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
61936         exists, foo.h should be cvs-ignored, not committed.
61937
61938 2007-02-23  Eric Blake  <ebb9@byu.net>
61939
61940         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
61941         * lib/stat-time.h (includes): Likewise.
61942         * lib/utimecmp.c (includes): Likewise.
61943         * lib/utimens.h (includes): Likewise.
61944         * lib/getdate.y (includes): Also include "timespec.h" for use
61945         internal to the module.
61946         * modules/utimens (Depends-on): Revert yesterday's patch.
61947         * modules/nanosleep (Depends-on): Add missing dependency.
61948
61949 2007-02-22  Bruno Haible  <bruno@clisp.org>
61950
61951         * lib/glob.c: Don't include getlogin_r.h.
61952
61953 2007-02-22  Jim Meyering  <jim@meyering.net>
61954
61955         * modules/utimens (Depends-on): Add timespec, required for
61956         utimens.h's inclusion of timespec.h.
61957
61958 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
61959
61960         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
61961         long unreadable paths in GNU/Linux.  Problem reported by Andreas
61962         Schwab in
61963         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
61964         I'll try to think of a better way to fix the Solaris problem.
61965
61966         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
61967         like glibc; on Solaris 10, it fails with errno == EINVAL.
61968         POSIX says the behavior is unspecified if the first argument is NULL,
61969         so play it safe and never pass NULL to the system getcwd.
61970
61971 2007-02-21  Jim Meyering  <jim@meyering.net>
61972
61973         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
61974         of gettimeofday.  It would conflict with the one now always
61975         provided via sys_time_.h.  Reported by Matthew Woehlke, as
61976         an IRIX 6.5 build failure.
61977
61978 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
61979
61980         Minor fixups to port to Solaris 10 with Sun C 5.8.
61981         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
61982         * modules/getcwd (Depends-on): Add dirfd.
61983         * lib/putenv.c (putenv): #undef it.
61984         (rpl_putenv): New decl.
61985         (malloc, free): Include <stdlib.h> rather than prototyping separately.
61986
61987 2007-02-20  Bruno Haible  <bruno@clisp.org>
61988
61989         * modules/stdio-tests: New file.
61990         * tests/test-stdio.c: New file.
61991
61992         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
61993         (Depends-on): Add stdio.
61994         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
61995         (Include): Use <stdio.h> instead of vsnprintf.h.
61996         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
61997         HAVE_DECL_VSNPRINTF.
61998         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
61999
62000         * modules/snprintf (Files): Remove lib/snprintf.h.
62001         (Depends-on): Add stdio.
62002         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62003         (Include): Use <stdio.h> instead of snprintf.h.
62004         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62005         HAVE_DECL_SNPRINTF.
62006         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
62007         * lib/getaddrinfo.c: Likewise.
62008
62009         * modules/stdio: New file.
62010         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
62011         * lib/snprintf.h: Remove file.
62012         * lib/vsnprintf.h: Remove file.
62013         * lib/.cppi-disable: Remove snprintf.h.
62014         * m4/stdio_h.m4: New file.
62015         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
62016
62017 2007-02-20  Jim Meyering  <jim@meyering.net>
62018
62019         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
62020         used by e.g., mingw.  From Bruno Haible.
62021
62022 2007-02-19  Bruno Haible  <bruno@clisp.org>
62023
62024         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
62025         warnings.
62026         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62027
62028 2007-02-19  Bruno Haible  <bruno@clisp.org>
62029
62030         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
62031         from mingw users.
62032
62033 2007-02-19  Bruno Haible  <bruno@clisp.org>
62034
62035         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
62036         warnings.
62037         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
62038
62039 2007-02-19  Jim Meyering  <jim@meyering.net>
62040
62041         Don't use FD after a successful "fdopendir (fd)".
62042         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
62043         Reset it by calling dirfd on the just-obtained DIR*.
62044
62045         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
62046         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
62047
62048 2007-02-18  Bruno Haible  <bruno@clisp.org>
62049
62050         * lib/readlink.c: Include <unistd.h>.
62051         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
62052         HAVE_READLINK.
62053         * modules/readlink (Depends-on): Add unistd.
62054         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62055         (Include): Add <unistd.h>.
62056
62057         * lib/getlogin_r.h: Remove file.
62058         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
62059         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
62060         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
62061         HAVE_DECL_GETLOGIN_R.
62062         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
62063         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62064         (Include): Use <unistd.h> instead of getlogin_r.h.
62065
62066         * lib/getcwd.h: Remove file.
62067         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
62068         * lib/xgetcwd.c: Likewise.
62069         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
62070         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
62071         * modules/getcwd (Files): Remove lib/getcwd.h.
62072         (Depends-on): Add unistd.
62073         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62074         (Include): Use <unistd.h> instad of getcwd.h.
62075
62076         * lib/ftruncate.c: Include <unistd.h> first.
62077         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
62078         Set HAVE_FTRUNCATE.
62079         * modules/ftruncate (Depends-on): Add unistd.
62080         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62081
62082         * lib/fchdir.c: Include <unistd.h> first.
62083         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
62084         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
62085         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
62086         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62087         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
62088
62089         * lib/dup2.c: Include <unistd.h> first.
62090         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
62091         HAVE_DUP2.
62092         * modules/dup2 (Depends-on): Add unistd.
62093         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62094
62095         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
62096         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
62097         REPLACE_CHOWN. Don't define chown as a macro here.
62098         * modules/chown (Depends-on): Add unistd.
62099         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62100
62101         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
62102         Add definition for GL_LINK_WARNING.
62103         (chown, dup2): New declarations.
62104         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
62105         link warning.
62106         (ftruncate): New declaration.
62107         (getcwd): New declaration, taken from old getcwd.h.
62108         (getlogin_r): New declaration, taken from old getlogin_r.h.
62109         (readlink): New declaration.
62110         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
62111         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
62112         (gl_PREREQ_UNISTD): Remove macro.
62113         (gl_UNISTD_MODULE_INDICATOR): New macro.
62114         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
62115         many new variables. Don't set UNISTD_H.
62116         * modules/unistd (Description): Change.
62117         (Depends-on): Add link-warning.
62118         (configure.ac): Update.
62119         (Makefile.am): Create unistd.h always. Substitute many new variables
62120         into it.
62121
62122 2007-02-18  Bruno Haible  <bruno@clisp.org>
62123
62124         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
62125         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
62126         HAVE_GETSUBOPT.
62127         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
62128         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
62129         * lib/getsubopt.h: Remove file.
62130         * modules/getsubopt (Files): Remove lib/getsubopt.h.
62131         (Depends-on): Add stdlib.
62132         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62133         (Includes): Use <stdlib.h> instead of getsubopt.h.
62134         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
62135         Set HAVE_GETSUBOPT.
62136         * lib/getsubopt.c: Don't include getsubopt.h.
62137
62138 2007-02-18  Bruno Haible  <bruno@clisp.org>
62139
62140         * modules/fchdir (Depends-on): Add dup2.
62141
62142 2007-02-18  Bruno Haible  <bruno@clisp.org>
62143
62144         * lib/stdlib_.h: Handle glibc's special invocation convention
62145         specially.
62146
62147 2007-02-18  Bruno Haible  <bruno@clisp.org>
62148
62149         * modules/stdlib-tests: New file.
62150         * tests/test-stdlib.c: New file.
62151
62152         * modules/mkstemp (Files): Remove lib/mkstemp.h.
62153         (Depends-on): Add stdlib.
62154         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62155         (Includes): Use <stdlib.h> instead of mkstemp.h.
62156         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62157         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
62158         * lib/mkstemp.c: Don't include mkstemp.h.
62159         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
62160         * lib/stdlib--.h: Don't include mkstemp.h.
62161
62162         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
62163         (Depends-on): Add stdlib.
62164         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62165         (Includes): Use <stdlib.h> instead of mkdtemp.h.
62166         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62167         HAVE_MKDTEMP.
62168         * lib/mkdtemp.c: Don't include mkdtemp.h.
62169         * lib/clean-temp.c: Don't include mkdtemp.h.
62170
62171         * modules/exit (Files): Remove lib/exit.h.
62172         (Depends-on): Add stdlib.
62173         (Makefile.am): Remove lib_SOURCES.
62174         (Include): Use <stdlib.h> instead of exit.h.
62175         * lib/argmatch.c: Don't include exit.h.
62176         * lib/execute.c: Likewise.
62177         * lib/pagealign_alloc.c: Likewise.
62178         * lib/pipe.c: Likewise.
62179         * lib/wait-process.c: Likewise.
62180         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
62181         * lib/exitfail.c: Likewise.
62182         * lib/savewd.c: Likewise.
62183         * lib/xsetenv.c: Likewise.
62184
62185         * modules/stdlib: New file.
62186         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
62187         and extra comments about mkstemp().
62188         * lib/exit.h: Remove file.
62189         * lib/mkdtemp.h: Remove file.
62190         * lib/mkstemp.h: Remove file.
62191         * m4/stdlib_h.m4: New file.
62192         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
62193
62194 2007-02-18  Bruno Haible  <bruno@clisp.org>
62195
62196         * modules/math-tests: New file.
62197         * tests/test-math.c: New file.
62198
62199         * modules/math: New file.
62200         * modules/mathl (Files): Remove lib/mathl.h.
62201         (Depends-on): Add math.
62202         (Makefile.am): Don't mention mathl.h.
62203         (Include): Use <math.h> instead of mathl.h.
62204         * lib/math_.h: New file.
62205         * lib/mathl.h: Remove file.
62206         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
62207         mathl.h.
62208         * lib/asinl.c: Likewise.
62209         * lib/atanl.c: Likewise.
62210         * lib/ceill.c: Likewise.
62211         * lib/cosl.c: Likewise.
62212         * lib/expl.c: Likewise.
62213         * lib/floorl.c: Likewise.
62214         * lib/frexpl.c: Likewise.
62215         * lib/ldexpl.c: Likewise.
62216         * lib/logl.c: Likewise.
62217         * lib/sincosl.c: Likewise.
62218         * lib/sinl.c: Likewise.
62219         * lib/sqrtl.c: Likewise.
62220         * lib/tanl.c: Likewise.
62221         * lib/trigl.c: Likewise.
62222         * m4/math_h.m4: New file.
62223         * MODULES.html.sh (Mathematics): Add math.
62224
62225 2007-02-17  Bruno Haible  <bruno@clisp.org>
62226
62227         * modules/wctype-tests: New file.
62228         * tests/test-wctype.c: New file.
62229
62230         * modules/wchar-tests: New file.
62231         * tests/test-wchar.c: New file.
62232
62233         * modules/unistd-tests: New file.
62234         * tests/test-unistd.c: New file.
62235
62236         * modules/time-tests: New file.
62237         * tests/test-time.c: New file.
62238
62239         * modules/sysexits-tests: New file.
62240         * tests/test-sysexits.c: New file.
62241
62242         * modules/sys_time-tests: New file.
62243         * tests/test-sys_time.c: New file.
62244
62245         * modules/sys_stat-tests: New file.
62246         * tests/test-sys_stat.c: New file.
62247
62248         * modules/sys_socket-tests: New file.
62249         * tests/test-sys_socket.c: New file.
62250
62251         * modules/sys_select-tests: New file.
62252         * tests/test-sys_select.c: New file.
62253
62254         * modules/string-tests: New file.
62255         * tests/test-string.c: New file.
62256
62257         * modules/stdbool-tests: New file.
62258         * tests/test-stdbool.c: New file.
62259
62260         * modules/netinet_in-tests: New file.
62261         * tests/test-netinet_in.c: New file.
62262
62263         * modules/inttypes-tests: New file.
62264         * tests/test-inttypes.c: New file.
62265
62266         * modules/fcntl-tests: New file.
62267         * tests/test-fcntl.c: New file.
62268
62269         * modules/byteswap-tests: New file.
62270         * tests/test-byteswap.c: New file.
62271
62272         * modules/arpa_inet-tests: New file.
62273         * tests/test-arpa_inet.c: New file.
62274
62275 2007-02-17  Bruno Haible  <bruno@clisp.org>
62276
62277         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
62278         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
62279         if the corresponding module is not enabled. Emit link warnings if
62280         the function is used nevertheless.
62281         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
62282         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
62283         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
62284         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
62285         * modules/inttypes (Depends-on): Add link-warning.
62286         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62287         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
62288         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
62289         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
62290         * modules/imaxdiv (configure.ac): Likewise.
62291         * modules/strtoimax (configure.ac): Likewise.
62292         * modules/strtoumax (configure.ac): Likewise.
62293
62294 2007-02-17  Bruno Haible  <bruno@clisp.org>
62295
62296         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
62297         gl_STRING_MODULE_INDICATOR_DEFAULTS.
62298         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
62299         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
62300
62301 2007-02-17  Bruno Haible  <bruno@clisp.org>
62302
62303         * modules/link-warning: New file.
62304         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
62305         * lib/string_.h (GL_LINK_WARNING): Remove definition.
62306         * modules/string (Depends-on): Add link-warning.
62307         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62308         string.h.
62309         * MODULES.html.sh (Support for building libraries and executables): Add
62310         link-warning.
62311
62312 2007-02-17  Bruno Haible  <bruno@clisp.org>
62313
62314         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
62315         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
62316         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
62317         long lines.
62318
62319 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
62320             Bruno Haible  <bruno@clisp.org>
62321
62322         * modules/tmpfile: New file.
62323         * lib/tmpfile.c: New file.
62324         * m4/tmpfile.m4: New file.
62325         * MODULES.html.sh (func_all_modules): New section "Input/output".
62326
62327 2007-02-15  Bruno Haible  <bruno@clisp.org>
62328
62329         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
62330         (supports_delete_on_close): New function.
62331         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
62332
62333 2007-02-14  Bruno Haible  <bruno@clisp.org>
62334
62335         * modules/mbspcasecmp-tests: New file.
62336         * tests/test-mbspcasecmp.sh: New file.
62337         * tests/test-mbspcasecmp.c: New file.
62338
62339         New module mbspcasecmp.
62340         * modules/mbspcasecmp: New file.
62341         * lib/mbspcasecmp.c: New file.
62342         * lib/string_.h (strncasecmp): Change warning message.
62343         (mbspcasecmp): New declaration.
62344         * m4/mbspcasecmp.m4: New file.
62345         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62346         GNULIB_MBSPCASECMP.
62347         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
62348         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
62349
62350 2007-02-14  Bruno Haible  <bruno@clisp.org>
62351
62352         * modules/mbsncasecmp-tests: New file.
62353         * tests/test-mbsncasecmp.sh: New file.
62354         * tests/test-mbsncasecmp.c: New file.
62355
62356         New module mbsncasecmp.
62357         * modules/mbsncasecmp: New file.
62358         * lib/mbsncasecmp.c: New file.
62359         * lib/string_.h (mbsncasecmp): New declaration.
62360         * m4/mbsncasecmp.m4: New file.
62361         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62362         GNULIB_MBSNCASECMP.
62363         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
62364         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
62365
62366 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
62367
62368         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
62369         Verify that it doesn't overlap with our flags.
62370         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
62371         do not have the desired effect in multibyte locales; instead, use
62372         mbscasecmp.
62373         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
62374         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
62375         we don't require GNU fnmatch ourselves (if our users require it, they
62376         should do so explicitly).
62377
62378         Fix regex code so it doesn't rely on strcasecmp.
62379         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
62380         Otherwise, include gnulib's langinfo.h.
62381         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
62382         undesirable behavior in non-C locales.  Instead, rely on localecharset.
62383         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
62384         * modules/regex (FILES): Remove m4/codeset.m4.
62385         (Depends-on): Add localcharset.  Remove strcase.
62386
62387 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62388
62389         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
62390         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
62391
62392 2007-02-13  Bruno Haible  <bruno@clisp.org>
62393
62394         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
62395         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62396
62397 2007-02-12  Bruno Haible  <bruno@clisp.org>
62398
62399         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
62400         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
62401         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
62402         time warning rather than a link error.
62403
62404 2007-02-12  Bruno Haible  <bruno@clisp.org>
62405
62406         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
62407         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62408         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62409
62410 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62411
62412         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
62413         args, not 2.
62414
62415 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62416
62417         New module 'time', so that apps can include <time.h> as per
62418         POSIX and GNU instead of separate include files like time_r.h
62419         and timegm.h.  This implementation tries out a simpler approach
62420         for replacing decls in standard include files (as compared to
62421         the string module), somewhat as an experiment.
62422
62423         * config/srclist.txt: Comment out mktime.c for now.
62424         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
62425         since it doesn't apply any more.  Use generic wording instead.
62426         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
62427         'time'.
62428         * lib/time_.h, m4/time_h.m4, modules/time: New files.
62429         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
62430         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
62431         Don't include <sys/types.h>; no longer needed since we assume C89.
62432         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
62433         * lib/strftime.c: Likewise.
62434         * lib/time_r.c: Likewise.
62435         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
62436         * lib/nanosleep.c: Include <time.h> first, to check interface.
62437         * lib/strptime.c: Likewise.
62438         * lib/time_r.c: Likewise.
62439         * lib/timegm.c: Likewise.
62440         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
62441         needed.
62442         * lib/timegm.c: Don't include timegm.h; no longer needed.
62443         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
62444         time.h now handles any problems in that area.
62445         (struct timespec, nanosleep): Remove; time.h now arranges for these.
62446         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
62447         that time.h defines struct timespec.
62448         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
62449         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
62450         handles that.
62451         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
62452         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
62453         needed.  Set REPLACE_LOCALTIME.
62454         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
62455         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
62456         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
62457         nanosleep; time_h.m4 now does that.  Don't require
62458         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
62459         module handles this now.
62460         * modules/getdate (Depends-on): Remove timespec.  Add time.
62461         * modules/nanosleep (Depends-on): Likewise.
62462         * modules/stat-time (Depends-on): Likewise.
62463         * modules/nanosleep (Include): Include time.h, not timespec.h.
62464         * modules/strptime (Files): Remove lib/strptime.h.
62465         (Depends-on): Add extensions, time.
62466         (Include): Include time.h, not strptime.h.
62467         * modules/time_r (Files): Remove lib/time_r.h.
62468         (Depends-on): Add time.
62469         (Include): Include time.h, not time_r.h.
62470         * modules/timegm: Likewise.
62471         * modules/timespec (Description): Now does timespec-related decls
62472         of our own, instead of struct timespec itself.
62473         (Depends-on): Add time; remove extensions.
62474         (Maintainer): Add self.
62475         * modules/utimecmp (Depends-on): Add time; remove timespec.
62476         * modules/utimens (Depends-on): Likewise.
62477         * modules/xnanosleep (Depends-on): Likewise.
62478
62479 2007-02-11  Bruno Haible  <bruno@clisp.org>
62480
62481         * lib/c-strstr.c: Include allocsa.h.
62482         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62483         * lib/c-strcasestr.c: Include allocsa.h.
62484         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62485         * lib/strcasestr.c: Include allocsa.h.
62486         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62487         * lib/mbsstr.c: Include allocsa.h.
62488         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62489         allocsa/freesa instead of malloc/free.
62490         * lib/mbscasestr.c: Include allocsa.h.
62491         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62492         allocsa/freesa instead of malloc/free.
62493         * modules/c-strstr (Depends-on): Add allocsa.
62494         * modules/c-strcasestr (Depends-on): Likewise.
62495         * modules/strcasestr (Depends-on): Likewise.
62496         * modules/mbsstr (Depends-on): Likewise.
62497         * modules/mbscasestr (Depends-on): Likewise.
62498
62499 2007-02-11  Bruno Haible  <bruno@clisp.org>
62500
62501         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
62502
62503         * modules/mbsspn-tests: New file.
62504         * tests/test-mbsspn.sh: New file.
62505         * tests/test-mbsspn.c: New file.
62506
62507 2007-02-11  Bruno Haible  <bruno@clisp.org>
62508
62509         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
62510
62511         * modules/mbspbrk-tests: New file.
62512         * tests/test-mbspbrk.sh: New file.
62513         * tests/test-mbspbrk.c: New file.
62514
62515 2007-02-11  Bruno Haible  <bruno@clisp.org>
62516
62517         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
62518         unneeded cast.
62519
62520         * modules/mbscspn-tests: New file.
62521         * tests/test-mbscspn.sh: New file.
62522         * tests/test-mbscspn.c: New file.
62523
62524 2007-02-11  Bruno Haible  <bruno@clisp.org>
62525
62526         * modules/mbscasecmp-tests: New file.
62527         * tests/test-mbscasecmp.sh: New file.
62528         * tests/test-mbscasecmp.c: New file.
62529
62530 2007-02-11  Bruno Haible  <bruno@clisp.org>
62531
62532         Ensure O(n) worst-case complexity of mbscasestr.
62533         * lib/mbscasestr.c: Include stdbool.h.
62534         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62535         functions.
62536         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
62537         the bookkeeping indicates that it's worth it.
62538         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
62539
62540         * modules/mbscasestr-tests: New file.
62541         * tests/test-mbscasestr1.c: New file.
62542         * tests/test-mbscasestr2.sh: New file.
62543         * tests/test-mbscasestr2.c: New file.
62544         * tests/test-mbscasestr3.sh: New file.
62545         * tests/test-mbscasestr3.c: New file.
62546         * tests/test-mbscasestr4.sh: New file.
62547         * tests/test-mbscasestr4.c: New file.
62548         * m4/locale-tr.m4: New file.
62549
62550 2007-02-11  Bruno Haible  <bruno@clisp.org>
62551
62552         Ensure O(n) worst-case complexity of mbsstr.
62553         * lib/mbsstr.c: Include stdbool.h.
62554         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62555         functions.
62556         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
62557         bookkeeping indicates that it's worth it.
62558         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
62559
62560         * modules/mbsstr-tests: New file.
62561         * tests/test-mbsstr1.c: New file.
62562         * tests/test-mbsstr2.sh: New file.
62563         * tests/test-mbsstr2.c: New file.
62564         * tests/test-mbsstr3.sh: New file.
62565         * tests/test-mbsstr3.c: New file.
62566         * m4/locale-fr.m4: New file.
62567
62568 2007-02-11  Bruno Haible  <bruno@clisp.org>
62569
62570         * lib/mbsrchr.c (mbsrchr): Fix bug.
62571
62572         * modules/mbsrchr-tests: New file.
62573         * tests/test-mbsrchr.sh: New file.
62574         * tests/test-mbsrchr.c: New file.
62575
62576 2007-02-11  Bruno Haible  <bruno@clisp.org>
62577
62578         * lib/mbschr.c (mbschr): Fix bug.
62579
62580         * modules/mbschr-tests: New file.
62581         * tests/test-mbschr.sh: New file.
62582         * tests/test-mbschr.c: New file.
62583         * m4/locale-zh.m4: New file.
62584
62585 2007-02-11  Bruno Haible  <bruno@clisp.org>
62586
62587         Support for copying multibyte string iterators.
62588         * lib/mbiter.h: Include <string.h>.
62589         (mbiter_multi_copy): New function.
62590         (mbi_copy): New macro.
62591         * lib/mbuiter.h: Include <string.h>.
62592         (mbuiter_multi_copy): New function.
62593         (mbui_copy): New macro.
62594
62595 2007-02-11  Bruno Haible  <bruno@clisp.org>
62596
62597         New module mbslen.
62598         * modules/mbslen: New file.
62599         * lib/mbslen.c: New file.
62600         * lib/string_.h (mbslen): New declaration.
62601         * m4/mbslen.m4: New file.
62602         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62603         GNULIB_MBSLEN.
62604         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
62605         * MODULES.html.sh (Internationalization functions): Add mbslen.
62606
62607 2007-02-11  Bruno Haible  <bruno@clisp.org>
62608
62609         Ensure O(n) worst-case complexity of strcasestr substitute.
62610         * lib/strcasestr.c: Include stdbool.h.
62611         (knuth_morris_pratt): New function.
62612         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
62613         bookkeeping indicates that it's worth it.
62614         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
62615
62616         * modules/strcasestr-tests: New file.
62617         * tests/test-strcasestr.c: New file.
62618
62619 2007-02-11  Bruno Haible  <bruno@clisp.org>
62620
62621         Ensure O(n) worst-case complexity of c_strcasestr.
62622         * lib/c-strcasestr.c: Include stdbool.h, string.h.
62623         (knuth_morris_pratt): New function.
62624         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
62625         the bookkeeping indicates that it's worth it.
62626         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
62627
62628         * modules/c-strcasestr-tests: New file.
62629         * tests/test-c-strcasestr.c: New file.
62630
62631 2007-02-11  Bruno Haible  <bruno@clisp.org>
62632
62633         Ensure O(n) worst-case complexity of c_strstr.
62634         * lib/c-strstr.c: Include stdbool.h, string.h.
62635         (knuth_morris_pratt): New function.
62636         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
62637         bookkeeping indicates that it's worth it.
62638         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
62639
62640         * lib/c-strstr.c: Complete rewrite for maintainability.
62641
62642         * modules/c-strstr-tests: New file.
62643         * tests/test-c-strstr.c: New file.
62644
62645 2007-02-11  Bruno Haible  <bruno@clisp.org>
62646
62647         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
62648         5.2.1 and earlier, whereby \055 was treated just like the range
62649         delimiter '-'.
62650         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
62651
62652 2007-02-08  Bruno Haible  <bruno@clisp.org>
62653
62654         * modules/regex (Depends-on): Add stdbool.
62655         Reported by Dalibor Topic <robilad@kaffe.org>.
62656
62657 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
62658
62659         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
62660         Prefer returning from main to exiting from it.
62661         Remove unnecessary parens after sizeof.
62662
62663 2007-02-05  Bruno Haible  <bruno@clisp.org>
62664
62665         New module mbssep.
62666         * modules/mbssep: New file.
62667         * lib/mbssep.c: New file.
62668         * lib/string_.h (strsep): Add a conditional link warning.
62669         (mbssep): New declaration.
62670         * m4/mbssep.m4: New file.
62671         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62672         GNULIB_MBSSEP.
62673         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
62674         * MODULES.html.sh (Internationalization functions): Add mbssep.
62675
62676 2007-02-05  Bruno Haible  <bruno@clisp.org>
62677
62678         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
62679         Optimize search in case of 1 delimiter.
62680
62681 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
62682
62683         * lib/acl.h: Include sys/types.h before sys/acl.h.
62684
62685 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
62686
62687         Merge upstream fix for glibc bugzilla #3957:
62688
62689         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
62690
62691         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
62692         bit for RE_HAT_LISTS_NOT_NEWLINE.
62693         (build_charclass_op): Remove bogus comment.
62694
62695 2007-02-05  Simon Josefsson  <simon@josefsson.org>
62696
62697         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
62698
62699 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
62700
62701         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
62702         * lib/memmem.c [!defined _LIBC]: Include config.h.
62703
62704 2007-02-04  Bruno Haible  <bruno@clisp.org>
62705
62706         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
62707         warning message.
62708
62709 2007-02-04  Bruno Haible  <bruno@clisp.org>
62710
62711         New module mbstok_r.
62712         * modules/mbstok_r: New file.
62713         * lib/mbstok_r.c: New file.
62714         * lib/string_.h (strtok_r): Change argument names to match the
62715         comments. Add a conditional link warning.
62716         (mbstok_r): New declaration.
62717         * m4/mbstok_r.m4: New file.
62718         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62719         GNULIB_MBSTOK_R.
62720         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
62721         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
62722
62723 2007-02-04  Bruno Haible  <bruno@clisp.org>
62724
62725         New module mbsspn.
62726         * modules/mbsspn: New file.
62727         * lib/mbsspn.c: New file.
62728         * lib/string_.h (strspn): Add a conditional link warning.
62729         (mbsspn): New declaration.
62730         * m4/mbsspn.m4: New file.
62731         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62732         GNULIB_MBSSPN.
62733         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
62734         * MODULES.html.sh (Internationalization functions): Add mbsspn.
62735
62736 2007-02-04  Bruno Haible  <bruno@clisp.org>
62737
62738         New module mbspbrk.
62739         * modules/mbspbrk: New file.
62740         * lib/mbspbrk.c: New file.
62741         * lib/string_.h (strpbrk): Add a conditional link warning.
62742         (mbspbrk): New declaration.
62743         * m4/mbspbrk.m4: New file.
62744         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62745         GNULIB_MBSPBRK.
62746         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
62747         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
62748
62749 2007-02-04  Bruno Haible  <bruno@clisp.org>
62750
62751         New module mbscspn.
62752         * modules/mbscspn: New file.
62753         * lib/mbscspn.c: New file.
62754         * lib/string_.h (strcspn): Add a conditional link warning.
62755         (mbscspn): New declaration.
62756         * m4/mbscspn.m4: New file.
62757         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62758         GNULIB_MBSCSPN.
62759         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
62760         * MODULES.html.sh (Internationalization functions): Add mbscspn.
62761
62762 2007-02-04  Bruno Haible  <bruno@clisp.org>
62763
62764         New module mbscasestr, reduced goal of strcasestr.
62765         * modules/mbscasestr: New file.
62766         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
62767         (mbscasestr): Renamed from strcasestr.
62768         * lib/strcasestr.c: Don't include mbuiter.h.
62769         (strcasestr): Remove support for multibyte locales.
62770         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
62771         Change the conditional link warning.
62772         (mbscasestr): New declaration.
62773         * m4/mbscasestr.m4: New file.
62774         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
62775         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
62776         REPLACE_STRCASESTR.
62777         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
62778         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62779         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
62780         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
62781         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
62782         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
62783         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
62784         (Depends-on): Remove mbuiter.
62785         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
62786
62787 2007-02-04  Bruno Haible  <bruno@clisp.org>
62788
62789         Simplify handling of strncasecmp.
62790         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
62791         the conditional link warning.
62792         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62793         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
62794         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
62795         * modules/strcase (configure.ac): Don't invoke
62796         gl_STRING_MODULE_INDICATOR.
62797         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
62798
62799 2007-02-04  Bruno Haible  <bruno@clisp.org>
62800
62801         New module mbscasecmp, reduced goal of strcasecmp.
62802         * modules/mbscasecmp: New file.
62803         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
62804         (mbscasecmp): Renamed from strcasecmp.
62805         * lib/strcasecmp.c: Don't include mbuiter.h.
62806         (strcasecmp): Remove support for multibyte locales.
62807         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
62808         Change the conditional link warning.
62809         (mbscasecmp): New declaration.
62810         * m4/mbscasecmp.m4: New file.
62811         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
62812         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
62813         REPLACE_STRCASECMP.
62814         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
62815         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62816         GNULIB_MBSCASECMP.
62817         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
62818         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
62819         * modules/strcase (Files): Remove m4/mbrtowc.m4.
62820         (Depends-on): Remove mbuiter.
62821         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
62822
62823 2007-02-04  Bruno Haible  <bruno@clisp.org>
62824
62825         New module mbsstr. Remove module strstr.
62826         * modules/mbsstr: New file.
62827         * modules/strstr: Remove file.
62828         * lib/mbsstr.c: Renamed from lib/strstr.c.
62829         (mbsstr): Renamed from strstr.
62830         * lib/string_.h (strstr): Remove declaration. Change the conditional
62831         link warning.
62832         (mbsstr): New declaration.
62833         * m4/mbsstr.m4: New file.
62834         * m4/strstr.m4: Remove file.
62835         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
62836         REPLACE_STRSTR.
62837         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
62838         Don't initialize GNULIB_STRSTR.
62839         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
62840         substitute GNULIB_STRSTR and REPLACE_STRSTR.
62841         * MODULES.html.sh (Internationalization functions): Add mbsstr.
62842         (Support for systems lacking ANSI C 89): Remove strstr.
62843
62844 2007-02-04  Bruno Haible  <bruno@clisp.org>
62845
62846         New module mbsrchr.
62847         * modules/mbsrchr: New file.
62848         * lib/mbsrchr.c: New file.
62849         * lib/string_.h (strrchr): Add a conditional link warning.
62850         (mbsrchr): New declaration.
62851         * m4/mbsrchr.m4: New file.
62852         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62853         GNULIB_MBSRCHR.
62854         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
62855         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
62856
62857 2007-02-04  Bruno Haible  <bruno@clisp.org>
62858
62859         New module mbschr.
62860         * modules/mbschr: New file.
62861         * lib/mbschr.c: New file.
62862         * lib/string_.h (strchr): Add a conditional link warning.
62863         (mbschr): New declaration.
62864         * m4/mbschr.m4: New file.
62865         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62866         GNULIB_MBSCHR.
62867         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
62868         * MODULES.html.sh (Internationalization functions): Add mbschr.
62869
62870 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
62871
62872         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
62873
62874         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
62875
62876 2007-02-04  Bruno Haible  <bruno@clisp.org>
62877
62878         New module description section 'configure.ac-early'.
62879         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
62880         (func_get_autoconf_early_snippet): New function.
62881         (func_import, func_create_testdir): Use it. Remove special cases for
62882         modules 'extensions' and 'lock'.
62883         * modules/extensions (configure.ac-early): Require
62884         gl_USE_SYSTEM_EXTENSIONS.
62885         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
62886
62887 2007-02-04  Bruno Haible  <bruno@clisp.org>
62888
62889         Make use of gcj-4.3's -fsource and -ftarget option.
62890         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
62891         and if so try the options -fsource and -ftarget.
62892         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
62893         source_version, ftarget_option, target_version arguments.
62894         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
62895         (is_envjavac_oldgcj_14_14_usable): Renamed from
62896         is_envjavac_gcj_14_14_usable.
62897         (is_envjavac_oldgcj_14_13_usable): Renamed from
62898         is_envjavac_gcj_14_13_usable.
62899         (is_gcj_present): Update.
62900         (is_gcj_43, is_gcj43_usable): New functions.
62901         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
62902         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
62903         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
62904         try the options -fsource and -ftarget.
62905
62906 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
62907
62908         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
62909         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
62910         larger value.
62911
62912 2007-02-03  Jim Meyering  <jim@meyering.net>
62913
62914         Give tools a better chance to allocate space for very large buffers.
62915         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
62916
62917         Make pwd and readlink work also when run with an unreadable parent dir
62918         on systems with openat support.
62919         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
62920         provided getcwd function, even when we have openat support.
62921         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
62922
62923 2007-02-02  Bruno Haible  <bruno@clisp.org>
62924
62925         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
62926         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
62927         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
62928         portability problems if one of these functions is only used on specific
62929         platforms.
62930         Reported by Paul Eggert.
62931
62932 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
62933
62934         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
62935         is causing more trouble than it's curing.
62936         * lib/regex_internal.h (__mempcpy): Remove.
62937         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
62938         (and make the code a tad smaller to boot).
62939         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
62940
62941 2007-02-02  Jim Meyering  <jim@meyering.net>
62942
62943         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
62944         section, not in the Makefile.am: one.
62945
62946 2007-02-02  Eric Blake  <ebb9@byu.net>
62947
62948         * lib/strchrnul.c: Always include config.h first.
62949
62950         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
62951         gnulib strstr is not necessary here.
62952
62953 2007-02-02  Simon Josefsson  <simon@josefsson.org>
62954
62955         * m4/socklen.m4: Fix typo.
62956
62957 2007-02-02  Eric Blake  <ebb9@byu.net>
62958
62959         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
62960         * modules/netinet_in (Makefile.am): Likewise.
62961
62962 2007-02-01  Bruno Haible  <bruno@clisp.org>
62963
62964         * lib/string_.h (GL_LINK_WARNING): New macro.
62965         (strcasecmp, strstr, strcasestr): If provided by the system,
62966         conditionally define as a macro that leads to a warning instead of to
62967         an error.
62968         (strncasecmp): Conditionally define as a macro that leads to a warning.
62969
62970 2007-02-01  Karl Berry  <karl@gnu.org>
62971
62972         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
62973
62974 2007-02-01  Bruno Haible  <bruno@clisp.org>
62975
62976         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
62977         renamings.
62978
62979 2007-02-01  Eric Blake  <ebb9@byu.net>
62980
62981         * modules/regex (Depends-on): Revert dependence on mempcpy.
62982         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
62983         module's definition of mempcpy.
62984         Reported by Paul Eggert.
62985
62986 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
62987
62988         * lib/string_.h: If the gnulib module XYZ is not present, undefine
62989         the symbol XYZ before redefining it.  This fixes a problem with
62990         programs that don't use XYZ, when compiled on systems that define
62991         XYZ to something else.
62992
62993 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
62994
62995         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
62996         occurs when "mkdir -m foo" creates a setgid directory that is (1)
62997         writeable to group or other and (2) is intended to have a special
62998         mode bit that is set or cleared.  In such a case, the directory
62999         should be neither group- nor other-writeable until the special
63000         mode bits are right.
63001
63002 2007-01-31  Eric Blake  <ebb9@byu.net>
63003
63004         * modules/mountlist (Depends-on): Add strstr.
63005
63006         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
63007         bug.
63008         * modules/string (Makefile.am): Remove redundant replacement.
63009         * modules/regex (Depends-on): Add mempcpy.
63010
63011 2007-01-31  Bruno Haible  <bruno@clisp.org>
63012
63013         New module description field 'Link'.
63014         * gnulib-tool (func_usage): Document --extract-link-directive.
63015         (sed_extract_prog): Recognize 'Link' directive.
63016         (func_get_link_directive): New function.
63017         (func_import): Show summary of link directives.
63018         Handle --extract-link-directive option.
63019         * modules/acl (Link): New section.
63020         * modules/clock-time (Link): New section.
63021         * modules/euidaccess (Link): New section.
63022         * modules/gettext (Link): New section.
63023         * modules/iconv (Link): New section.
63024         * modules/lock (Link): New section.
63025         * modules/nanosleep (Link): New section.
63026         * modules/readline (Link): New section.
63027
63028 2007-01-27  Bruno Haible  <bruno@clisp.org>
63029
63030         Enforce the use of gnulib modules for unportable <string.h> functions.
63031         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
63032         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
63033         (gl_HEADER_STRING_H_BODY): Require it.
63034         * lib/string_.h: If the gnulib module XYZ is not present, redefine
63035         the symbol XYZ to one that gives a link error.
63036         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
63037         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
63038         * modules/mempcpy (configure.ac): Likewise.
63039         * modules/memrchr (configure.ac): Likewise.
63040         * modules/stpcpy (configure.ac): Likewise.
63041         * modules/stpncpy (configure.ac): Likewise.
63042         * modules/strcase (configure.ac): Likewise.
63043         * modules/strcasestr (configure.ac): Likewise.
63044         * modules/strchrnul (configure.ac): Likewise.
63045         * modules/strdup (configure.ac): Likewise.
63046         * modules/strndup (configure.ac): Likewise.
63047         * modules/strnlen (configure.ac): Likewise.
63048         * modules/strpbrk (configure.ac): Likewise.
63049         * modules/strsep (configure.ac): Likewise.
63050         * modules/strstr (configure.ac): Likewise.
63051         * modules/strtok_r (configure.ac): Likewise.
63052
63053 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
63054
63055         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
63056
63057 2007-01-30  Jim Meyering  <jim@meyering.net>
63058
63059         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
63060
63061 2007-01-29  Bruno Haible  <bruno@clisp.org>
63062
63063         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
63064         * lib/execute.c: Likewise.
63065         * lib/pipe.c: Likewise.
63066         * lib/printf-args.h: Likewise.
63067         * lib/printf-args.c: Likewise.
63068         * lib/printf-parse.c: Likewise.
63069         * lib/vasnprintf.c: Likewise.
63070
63071 2007-01-29  Eric Blake  <ebb9@byu.net>
63072
63073         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
63074         declaration.
63075
63076 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
63077
63078         * lib/strptime.h (strptime): Use 'restrict' for args where
63079         POSIX requires this.
63080         * lib/strptime.c (strptime): Likewise.
63081         Change license notice from LGPL to GPL, since gnulib-tool will
63082         change this as needed.
63083         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
63084         defined.
63085         Include "strptime.h" first, to check interface.
63086         Do not #undef _LIBC and _NL_CURRENT.
63087         Do not include <stdlib.h>; no longer needed.
63088         Include "time_r.h" and declare ptime_locale_status
63089         only if _LIBC is not defined.
63090         (__P): Remove unused macro.
63091         (match_string): Bring back glibc version, but use it only if _LIBC
63092         is defined.
63093         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
63094         Remove unnecessary assertion and abort() call.
63095         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
63096         * m4/strptime.m4: Fix serial number comment.
63097         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
63098         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
63099         (Depends-on): Add time_r.
63100
63101 2007-01-29  Bruno Haible  <bruno@clisp.org>
63102
63103         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63104         strptime.
63105         * modules/strptime (Depends-on): Add stdbool.
63106         * lib/strptime.h: Include <time.h> always. Add comments.
63107
63108 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
63109
63110         * modules/strptime: New file.
63111         * lib/strptime.h: New file.
63112         * lib/strptime.c: New file.
63113         * m4/strptime.m4: New file.
63114
63115 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
63116
63117         * MODULES.html.sh: New module mpsort.
63118         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
63119
63120         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
63121         a circularity problem with HP-UX ia64 reported by Bob Proulx in
63122         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
63123         All uses changed.
63124         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
63125         All uses changed.
63126         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
63127         to _Restrict_.
63128         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
63129         the parameter matches the prototype.
63130
63131 2007-01-28  Jim Meyering  <jim@meyering.net>
63132
63133         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
63134         sys/time.h here, reverting that part of the previous patch:
63135         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
63136
63137 2007-01-28  Bruno Haible  <bruno@clisp.org>
63138
63139         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
63140         value of $(SYS_TIME_H).
63141         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
63142         remove it conditionally, too. [added by Jim Meyering]
63143         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
63144         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
63145         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
63146         GETTIMEOFDAY_REPLACEMENT to 1.
63147
63148 2007-01-28  Bruno Haible  <bruno@clisp.org>
63149
63150         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
63151         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
63152         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
63153         Set UNISTD_H instead of UNISTD_H2.
63154         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
63155
63156 2007-01-28  Bruno Haible  <bruno@clisp.org>
63157
63158         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
63159         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
63160
63161 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63162
63163         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
63164         (func_create_testdir): Ensure C locale for `grep' and `tr'
63165         character ranges.
63166         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
63167         ACLOCAL_AMFLAGS parsing state machine.
63168
63169 2007-01-27  Bruno Haible  <bruno@clisp.org>
63170
63171         * modules/unistr/base: Update.
63172
63173 2007-01-27  Bruno Haible  <bruno@clisp.org>
63174
63175         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
63176         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
63177         * modules/unistr/u32-mbtouc-unsafe: Renamed from
63178         modules/unistr/u32-mbtouc.
63179         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
63180         * lib/unistr.h: Update.
63181         * lib/linebreak.c: Update.
63182         * modules/unistr/u32-mbtouc: Renamed from
63183         modules/unistr/u32-mbtouc-safe.
63184         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
63185         * lib/unistr.h: Update.
63186         * lib/unistr/u32-to-u8.c: Update.
63187         * lib/unistr/u32-to-u16.c: Update.
63188
63189 2007-01-27  Bruno Haible  <bruno@clisp.org>
63190
63191         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
63192         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
63193         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
63194         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
63195         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
63196         * modules/unistr/u16-mbtouc-unsafe: Renamed from
63197         modules/unistr/u16-mbtouc.
63198         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
63199         * lib/unistr.h: Update.
63200         * lib/linebreak.c: Update.
63201         * modules/linebreak: Update.
63202         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
63203         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
63204         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
63205         * modules/unistr/u16-mbtouc: Renamed from
63206         modules/unistr/u16-mbtouc-safe.
63207         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
63208         * lib/unistr.h: Update.
63209         * lib/unistr/u16-to-u8.c: Update.
63210         * modules/unistr/u16-to-u8: Update.
63211         * lib/unistr/u16-to-u32.c: Update.
63212         * modules/unistr/u16-to-u32: Update.
63213
63214 2007-01-27  Bruno Haible  <bruno@clisp.org>
63215
63216         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
63217         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
63218         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
63219         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
63220         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
63221         * modules/unistr/u8-mbtouc-unsafe: Renamed from
63222         modules/unistr/u8-mbtouc.
63223         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
63224         * lib/unistr.h: Update.
63225         * lib/striconveh.c: Update.
63226         * modules/striconveh: Update.
63227         * lib/linebreak.c: Update.
63228         * modules/linebreak: Update.
63229         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
63230         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
63231         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
63232         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
63233         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
63234         * lib/unistr.h: Update.
63235         * lib/striconveh.c: Update.
63236         * modules/striconveh: Update.
63237         * lib/unistr/u8-to-u16.c: Update.
63238         * modules/unistr/u8-to-u16: Update.
63239         * lib/unistr/u8-to-u32.c: Update.
63240         * modules/unistr/u8-to-u32: Update.
63241
63242 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63243
63244         Sync from Libtool.
63245         * lib/argz.c: Do not include strings.h nor memory.h, include
63246         string.h unconditionally.  Patch by Simon Josefsson.
63247
63248 2007-01-27  Bruno Haible  <bruno@clisp.org>
63249
63250         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
63251         from gl_HEADER_STRING_H_BODY.
63252         (gl_HEADER_STRING_H_BODY): Require it.
63253         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
63254         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
63255         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
63256         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
63257         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63258         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
63259         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63260         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
63261         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
63262         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
63263         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
63264         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
63265         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
63266         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63267         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63268
63269 2007-01-27  Bruno Haible  <bruno@clisp.org>
63270
63271         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
63272         check_PROGRAMS into noinst_PROGRAMS.
63273         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
63274         check_PROGRAMS in this case.
63275         (func_import): Set for_test to false.
63276         (func_create_testdir): Set for_test to true.
63277
63278 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
63279             Bruno Haible  <bruno@clisp.org>
63280
63281         * modules/strcasestr (Files): Remove lib/strcasestr.h.
63282         (Depends-on): Add string.
63283         (Includes): Use <string.h> instead of strcasestr.h.
63284         * modules/string (Makefile.am): Also substitute the value of
63285         REPLACE_STRCASESTR.
63286         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
63287         assume strcasestr is declared in <string.h> not <strings.h>. Also
63288         set REPLACE_STRCASESTR.
63289         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
63290         REPLACE_STRCASESTR.
63291         * lib/strcasestr.h: Remove file.
63292         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
63293         * lib/string_.h (strcasestr): New declaration.
63294
63295 2007-01-27  Bruno Haible  <bruno@clisp.org>
63296
63297         * lib/string_.h: Use 'extern'.
63298
63299 2007-01-27  Jim Meyering  <jim@meyering.net>
63300
63301         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
63302         of set-but-not-used local, "q".
63303
63304         * lib/mempcpy.c: Include <config.h> before <string.h>.
63305         This fixes a compilation error on HP-UX, due to the system's
63306         "restrict"-using mempcpy prototype.
63307
63308 2007-01-26  Bruno Haible  <bruno@clisp.org>
63309
63310         Small optimization.
63311         * lib/javacomp.c: Include c-strstr.h.
63312          (is_envjavac_gcj): Use c_strstr instead of strstr.
63313         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
63314
63315 2007-01-26  Bruno Haible  <bruno@clisp.org>
63316
63317         * MODULES.html.sh (Unicode string functions): Add the new modules.
63318
63319         * modules/uniconv/u32-strconv-to-locale: New file.
63320         * lib/uniconv/u32-strconv-to-locale.c: New file.
63321
63322         * modules/uniconv/u16-strconv-to-locale: New file.
63323         * lib/uniconv/u16-strconv-to-locale.c: New file.
63324
63325         * modules/uniconv/u8-strconv-to-locale: New file.
63326         * lib/uniconv/u8-strconv-to-locale.c: New file.
63327
63328         * modules/uniconv/u32-strconv-from-locale: New file.
63329         * lib/uniconv/u32-strconv-from-locale.c: New file.
63330
63331         * modules/uniconv/u16-strconv-from-locale: New file.
63332         * lib/uniconv/u16-strconv-from-locale.c: New file.
63333
63334         * modules/uniconv/u8-strconv-from-locale: New file.
63335         * lib/uniconv/u8-strconv-from-locale.c: New file.
63336
63337         * modules/uniconv/u32-strconv-to-enc: New file.
63338         * lib/uniconv/u32-strconv-to-enc.c: New file.
63339         * modules/uniconv/u32-strconv-to-enc-tests: New file.
63340         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
63341
63342         * modules/uniconv/u16-strconv-to-enc: New file.
63343         * lib/uniconv/u16-strconv-to-enc.c: New file.
63344         * lib/uniconv/u-strconv-to-enc.h: New file.
63345         * modules/uniconv/u16-strconv-to-enc-tests: New file.
63346         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
63347
63348         * modules/uniconv/u8-strconv-to-enc: New file.
63349         * lib/uniconv/u8-strconv-to-enc.c: New file.
63350         * modules/uniconv/u8-strconv-to-enc-tests: New file.
63351         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
63352
63353         * modules/uniconv/u32-strconv-from-enc: New file.
63354         * lib/uniconv/u32-strconv-from-enc.c: New file.
63355         * modules/uniconv/u32-strconv-from-enc-tests: New file.
63356         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
63357
63358         * modules/uniconv/u16-strconv-from-enc: New file.
63359         * lib/uniconv/u16-strconv-from-enc.c: New file.
63360         * modules/uniconv/u16-strconv-from-enc-tests: New file.
63361         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
63362
63363         * modules/uniconv/u8-strconv-from-enc: New file.
63364         * lib/uniconv/u8-strconv-from-enc.c: New file.
63365         * lib/uniconv/u-strconv-from-enc.h: New file.
63366         * modules/uniconv/u8-strconv-from-enc-tests: New file.
63367         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
63368
63369         * modules/uniconv/u32-conv-from-enc: New file.
63370         * lib/uniconv/u32-conv-from-enc.c: New file.
63371         * modules/uniconv/u32-conv-from-enc-tests: New file.
63372         * tests/uniconv/test-u32-conv-from-enc.c: New file.
63373
63374         * modules/uniconv/u16-conv-from-enc: New file.
63375         * lib/uniconv/u16-conv-from-enc.c: New file.
63376         * lib/uniconv/u-conv-from-enc.h: New file.
63377         * modules/uniconv/u16-conv-from-enc-tests: New file.
63378         * tests/uniconv/test-u16-conv-from-enc.c: New file.
63379
63380         * modules/uniconv/u8-conv-from-enc: New file.
63381         * lib/uniconv/u8-conv-from-enc.c: New file.
63382         * modules/uniconv/u8-conv-from-enc-tests: New file.
63383         * tests/uniconv/test-u8-conv-from-enc.c: New file.
63384
63385         * modules/uniconv/base: New file.
63386         * lib/uniconv.h: New file.
63387
63388 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
63389
63390         * doc/gnulib-tool.texi (Initial import): Update to match current
63391         behavior with strdup module.
63392         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
63393         * lib/memmem.h: Remove; all uses removed.  This is now done
63394         by <string.h>.
63395         * lib/mempcpy.h: Likewise.
63396         * lib/memrchr.h: Likewise.
63397         * lib/stpcpy.h: Likewise.
63398         * lib/stpncpy.h: Likewise.
63399         * lib/strcase.h: Likewise.
63400         * lib/strchrnul.h: Likewise.
63401         * lib/strdup.h: Likewise.
63402         * lib/strndup.h: Likewise.
63403         * lib/strnlen.h: Likewise.
63404         * lib/strpbrk.h: Likewise.
63405         * lib/strsep.h: Likewise.
63406         * lib/strstr.h: Likewise.
63407         * lib/strtok_r.h: Likewise.
63408         * lib/string_.h: New file.
63409         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
63410         Rely on <string.h> instead.
63411         * lib/canon-host.c: Likewise.
63412         * lib/chdir-long.c: Likewise.
63413         * lib/concatpath.c: Likewise.
63414         * lib/exclude.c: Likewise.
63415         * lib/fchdir.c: Likewise.
63416         * lib/getaddrinfo.c: Likewise.
63417         * lib/getcwd.c: Likewise.
63418         * lib/getsubopt.c: Likewise.
63419         * lib/glob.c: Likewise.
63420         * lib/hard-locale.c: Likewise.
63421         * lib/iconvme.c: Likewise.
63422         * lib/javacomp.c: Likewise.
63423         * lib/mempcpy.c: Likewise.
63424         * lib/memrchr.c: Likewise.
63425         * lib/regex_internal.h: Likewise.
63426         * lib/stpncpy.c: Likewise.
63427         * lib/strcasecmp.c: Likewise.
63428         * lib/strchrnul.c: Likewise.
63429         * lib/strdup.c: Likewise.
63430         * lib/striconv.c: Likewise.
63431         * lib/striconveh.c: Likewise.
63432         * lib/striconveha.c: Likewise.
63433         * lib/strncasecmp.c: Likewise.
63434         * lib/strndup.c: Likewise.
63435         * lib/strnlen.c: Likewise.
63436         * lib/strsep.c: Likewise.
63437         * lib/strstr.c: Likewise.
63438         * lib/strtok_r.c: Likewise.
63439         * lib/userspec.c: Likewise.
63440         * lib/w32spawn.h: Likewise.
63441         * lib/xstrndup.c: Likewise.
63442         * lib/mountlist.c (strstr): Remove decl.
63443         * m4/string_h.m4: New file.
63444         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
63445         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
63446         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
63447         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
63448         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
63449         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
63450         Set REPLACE_STRCASECMP if necessary.
63451         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
63452         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
63453         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
63454         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
63455         HAVE_DECL_STRDUP if necessary.
63456         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
63457         since gl_FUNC_STRNDUP does that now.
63458         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
63459         Check for decl here...
63460         (gl_PREREQ_STRNLEN): ... not here.
63461         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
63462         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
63463         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
63464         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
63465         necessary.
63466         * modules/string: New file.
63467         * modules/memmem (Files): Remove special-purpose include file.
63468         (Depends-on): Add string.
63469         (Include): Include <string.h>, not the removed file.
63470         * modules/mempcpy: Likewise.
63471         * modules/memrchr: Likewise.
63472         * modules/stpcpy: Likewise.
63473         * modules/stpncpy: Likewise.
63474         * modules/strcase: Likewise.
63475         * modules/strchrnul: Likewise.
63476         * modules/strdup: Likewise.
63477         * modules/strndup: Likewise.
63478         * modules/strnlen: Likewise.
63479         * modules/strpbrk: Likewise.
63480         * modules/strsep: Likewise.
63481         * modules/strstr: Likewise.
63482         * modules/strtok_r: Likewise.
63483         * tests/test-dirname.c: Don't include "strdup.h", since
63484         <string.h> now suffices.
63485         * tests/test-memmem.c: Don't include "memmem.h", since
63486         <string.h> now suffices.
63487
63488 2007-01-25  Bruno Haible  <bruno@clisp.org>
63489
63490         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
63491         *resultp is 0.
63492
63493         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
63494         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
63495         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
63496         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
63497
63498         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
63499         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
63500         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
63501         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
63502         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
63503         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
63504
63505 2007-01-24  Bruno Haible  <bruno@clisp.org>
63506
63507         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
63508         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
63509         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
63510         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
63511         gl_FUNC_FTS_CORE.
63512         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
63513         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
63514         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
63515         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
63516         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
63517         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
63518         gl_FUNC_FCHOWNAT.
63519         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
63520         gl_FUNC_STRFTIME.
63521         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
63522         Reported by Ralf Wildenhues.
63523
63524 2007-01-24  Bruno Haible  <bruno@clisp.org>
63525
63526         Drop AC_REQUIRE calls that are redundant with the module dependencies.
63527         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
63528         gl_GETADDRINFO.
63529         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
63530         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
63531         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
63532
63533 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
63534
63535         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
63536         Don't use 'exit'; just return from 'main'.
63537         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
63538
63539         * lib/fnmatch_.h: Readjust white space and comments to match
63540         glibc, to avoid spurious diffs.
63541
63542 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63543
63544         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
63545         2004-12-01 change by Jakub Jelinek, since this code won't compile
63546         if !LIBC.  Problem reported by Bob Proulx.
63547
63548 2007-01-23  Bruno Haible  <bruno@clisp.org>
63549
63550         * lib/striconveh.c: Include c-strcaseeq.h.
63551         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
63552         * modules/striconveh (Depends-on): Add c-strcaseeq.
63553
63554 2007-01-23  Bruno Haible  <bruno@clisp.org>
63555
63556         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
63557
63558         * modules/c-strcaseeq: New file.
63559         * lib/c-strcaseeq.h: New file.
63560
63561         * modules/streq: New file.
63562         * lib/streq.h: New file.
63563
63564 2007-01-23  Bruno Haible  <bruno@clisp.org>
63565
63566         * modules/striconveha-tests: New file.
63567         * tests/test-striconveha.c: New file.
63568
63569         * lib/striconveha.h: Include <stdbool.h>.
63570         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
63571         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
63572         (mem_iconveha_notranslit): Renamed from mem_iconveha.
63573         (mem_iconveha): New function.
63574         (str_iconveha_notranslit): Renamed from str_iconveha.
63575         (str_iconveha): New function.
63576         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
63577         c-strcase.
63578
63579 2007-01-23  Bruno Haible  <bruno@clisp.org>
63580
63581         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
63582         encodings without forgiving before trying any encoding with handler.
63583         (str_iconveha): Try all encodings without forgiving before trying any
63584         encoding with handler.
63585
63586 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63587
63588         Import the following changes from libc.
63589
63590         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
63591
63592         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
63593
63594         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
63595
63596         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
63597         normal_bracket label.
63598
63599         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
63600
63601         [BZ #361]
63602         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
63603         to normal_bracket after fetching the next character.
63604
63605 2007-01-22  Bruno Haible  <bruno@clisp.org>
63606
63607         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
63608         argument.
63609         * lib/striconveh.c (iconv_carefully_1): New function.
63610         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
63611         argument.
63612         (str_cd_iconveh): Update.
63613         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
63614         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
63615         * tests/test-striconveh.c (MAGIC): New macro.
63616         (new_offsets): New function.
63617         (main): Test call with and without offsets.
63618
63619 2007-01-22  Bruno Haible  <bruno@clisp.org>
63620
63621         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
63622         * modules/sys_select (Makefile.am): Likewise.
63623         * modules/sys_socket (Makefile.am): Likewise.
63624         * modules/sys_time (Makefile.am): Likewise.
63625
63626 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
63627
63628         * modules/gettimeofday (License): Change from GPL to LGPL, since
63629         gettimeofday is a library function.
63630
63631 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63632
63633         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
63634
63635 2007-01-21  Bruno Haible  <bruno@clisp.org>
63636
63637         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
63638
63639 2007-01-21  Bruno Haible  <bruno@clisp.org>
63640
63641         * modules/striconveha: New file.
63642         * lib/striconveha.h: New file.
63643         * lib/striconveha.c: New file.
63644         * MODULES.html.sh (Internationalization functions): Add striconveha.
63645         * lib/striconv.c (str_iconv): Optimize the case of an empty input
63646         string.
63647         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
63648
63649 2007-01-21  Bruno Haible  <bruno@clisp.org>
63650
63651         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
63652         * lib/striconveh.c (str_iconveh): Likewise.
63653
63654 2007-01-21  Bruno Haible  <bruno@clisp.org>
63655
63656         * lib/striconveh.h (mem_iconveh): New declaration.
63657         * lib/striconveh.c (mem_iconveh): New function.
63658         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
63659
63660 2007-01-21  Bruno Haible  <bruno@clisp.org>
63661
63662         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
63663
63664         * lib/striconveh.h (mem_cd_iconveh): Change specification.
63665         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
63666         original result buffer.
63667         (str_cd_iconveh): Update.
63668         * tests/test-striconveh.c (main): Update.
63669
63670         * lib/striconv.h (mem_cd_iconv): Change specification.
63671         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
63672         result buffer.
63673         (str_cd_iconv): Update.
63674         * tests/test-striconv.c (main): Update.
63675
63676 2007-01-21  Bruno Haible  <bruno@clisp.org>
63677
63678         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
63679
63680 2007-01-20  Jim Meyering  <jim@meyering.net>
63681
63682         * lib/userspec.c (parse_with_separator): If a user or group string
63683         starts with "+", skip the corresponding name-to-ID look-up, since
63684         such a look-up must fail: user and group names may not include "+".
63685
63686 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
63687
63688         * lib/poll.c: Include sys/time.h and time.h unconditionally,
63689         since we now assume the sys_time module.
63690         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
63691         check for sys/time.h; no longer needed.
63692         * modules/poll (Depends-on): Depend on sys_time.
63693
63694 2007-01-18  Bruno Haible  <bruno@clisp.org>
63695
63696         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
63697         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
63698
63699         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
63700         gettimeofday.
63701
63702         * tests/test-gettimeofday.c: Include <time.h>.
63703         (dummy): Remove variable.
63704
63705         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
63706         gl_HEADER_SYS_TIME_H.
63707         (gl_HEADER_SYS_TIME_H): New macro.
63708
63709         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
63710         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63711         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
63712         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
63713         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63714         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
63715         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
63716         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63717         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
63718         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
63719         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63720
63721         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
63722         last change; it caused a compilation error when cross-compiling to
63723         Cygwin.
63724
63725 2007-01-18  Jim Meyering  <jim@meyering.net>
63726
63727         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
63728         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
63729         than the race-prone "test -d sys || mkdir sys".
63730         (configure.ac): Use AC_PROG_MKDIR_P.
63731         * modules/sys_select: Likewise.
63732         * modules/sys_socket: Likewise.
63733         * modules/sys_time: Likewise.
63734
63735 2007-01-18  Eric Blake  <ebb9@byu.net>
63736
63737         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
63738         replace gettimeofday.
63739         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
63740         name, to avoid infinite recursion.
63741
63742 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
63743
63744         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
63745         module sys_time.
63746         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
63747         assume timespec.h defines struct timeval.
63748         * lib/settime.c: Likewise.
63749         * lib/utimens.c: Likewise.
63750         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
63751         since we now assume the gettimeofday module.
63752         * lib/tempname.c (__gen_tempname): Likewise.
63753         * lib/gettimeofday.h: Remove.
63754         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
63755         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
63756         Include <time.h>, for 'time()'.
63757         (localtime_buffer_addr): Also use this workaround if
63758         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
63759         to simplify the uses.  All uses changed.
63760         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
63761         that #undef is inside {}, and 'const' follows type name consistently.
63762         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
63763         (gettimeofday): Do not use the maximum possible value for
63764         tv->tv_usec, since that might break usages other than ls.c.
63765         Instead, we'll leave ls.c alone.  This undoes today's patch
63766         by Bruno.  Add a compile-time warning for 1s-clock resolution;
63767         we've never observed the problem but might as well keep the
63768         canary.
63769         * lib/nanosleep.c: Include timespec.h first, for interface check.
63770         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
63771         now assume the sys_time module.
63772         * lib/tempname.c: Likewise.
63773         * lib/timespec.h: Likewise.
63774         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
63775         needed.
63776         * lib/strftime.c: Likewise.
63777         * lib/timespec.h: Likewise.
63778         * lib/posixtm.c: Include posixtm.h first, for interface check.
63779         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
63780         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
63781         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
63782         * lib/sys_time_.h: New file.
63783         * lib/timespec.h (struct timespec): Use long int, not long.
63784         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
63785         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
63786         Remove obsolescent call to AC_HEADER_TIME.
63787         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
63788         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63789         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
63790         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
63791         Likewise.
63792         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
63793         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
63794         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
63795         into the sys_time module.  Check for gettimeofday just once.
63796         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
63797         for gettimeofday signature to just check the signature.  Merely
63798         compile it, since linking doesn't test signature.  Improve test for
63799         whether gettimeofday.o is actually needed.
63800         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
63801         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
63802         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
63803         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63804         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
63805         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
63806         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
63807         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
63808         than worrying about sys/time.h.
63809         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
63810         Don't bother worrying about TIME_WITH_SYS_TIME.
63811         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
63812         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
63813         * m4/sys_time_h.m4: New file.
63814         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
63815         Don't include sys/time.h.  Return from main rather than exiting.
63816         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
63817         all uses changed.
63818         * modules/gethrxtime (Depends-on): Add sys_time.
63819         * modules/gettime (Depends-on): Likewise.
63820         * modules/gettimeofday (Depends-on): Likewise.
63821         * modules/nanosleep (Depends-on): Likewise.
63822         * modules/settime (Depends-on): Likewise.
63823         * modules/tempname (Depends-on): Likewise.
63824         * modules/utimens (Depends-on): Likewise.
63825         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
63826         (Include): Change back to <sys/time.h>.
63827         (Maintainer): Add self.
63828         * modules/sys_time: New file.
63829         * modules/tempname (Depends-on): Add gettimeofday.
63830         * tests/test-gettimeofday.c: Include <sys/time.h>
63831         rather than gettimeofday.h.
63832
63833 2007-01-17  Bruno Haible  <bruno@clisp.org>
63834
63835         * gnulib-tool (func_get_license): Revert last patch. Instead, let
63836         the license default to GPL.
63837         (func_create_testdir): Don't complain if a module is LGPL and its
63838         tests module depends on GPLed modules.
63839
63840 2007-01-17  Bruno Haible  <bruno@clisp.org>
63841
63842         * lib/gettimeofday.c (gettimeofday): Add code for the case
63843         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
63844         maximum possible value for tv->tv_usec, rather than the minimum one.
63845
63846 2005-10-08  Martin Lambers  <marlam@marlam.de>
63847 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
63848 2007-01-16  Bruno Haible  <bruno@clisp.org>
63849
63850         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
63851         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
63852         gl_FUNC_GETTIMEOFDAY.
63853         (Include): Add gettimeofday.h.
63854         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
63855         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
63856         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
63857         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
63858         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
63859         * lib/gettimeofday.h: New file.
63860         * lib/gettimeofday.c: Include <sys/timeb.h>.
63861         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
63862         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63863         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
63864         fall back on time().
63865
63866         * tests/test-gettimeofday.c: New file.
63867         * modules/gettimeofday-tests: New file.
63868
63869 2007-01-16  Eric Blake  <ebb9@byu.net>
63870
63871         * modules/fnmatch (Depends-on): Depend on wchar.
63872         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
63873         * m4/fnmatch.m4: Likewise.
63874         * modules/mbchar (Makefile.am): Assume <wchar.h>.
63875         * m4/mbchar.m4: Likewise.
63876         * modules/mbswidth (Depends-on): Depend on wchar.
63877         * lib/mbswidth.c: Assume <wchar.h>.
63878         * m4/mbswidth.m4: Likewise.
63879         * modules/quotearg (Depends-on): Depend on wchar.
63880         * lib/quotearg.c: Assume <wchar.h>.
63881         * m4/quotearg.m4: Likewise.
63882         * modules/regex (Depends-on): Depend on wchar.
63883         * lib/regex_internal.h: Assume <wchar.h>.
63884         * m4/regex.m4: Likewise.
63885         * modules/stdint (Depends-on): Depend on wchar.
63886         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
63887         * m4/stdint.m4: Likewise.
63888         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
63889         * modules/strftime (Depends-on): Depend on wchar.
63890         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
63891         * modules/strtol (Depends-on): Depend on wchar.
63892         * lib/strtol.c: Assume <wchar.h>.
63893         * modules/wcwidth (Depends-on): Depend on wchar.
63894         * lib/wcwidth.h: Assume <wchar.h>.
63895         * m4/wcwidth.m4: Likewise.
63896
63897 2007-01-16  Bruno Haible  <bruno@clisp.org>
63898
63899         * modules/csharpexec-script: New, created from...
63900         * modules/csharpexec: ... this.
63901
63902 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
63903
63904         * modules/javaexec-script: New, created from...
63905         * modules/javaexec: ... this.
63906
63907 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63908
63909         * modules/poll (Dependencies): Add sys_select.
63910
63911 2007-01-15  Jim Meyering  <jim@meyering.net>
63912
63913         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
63914         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
63915         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
63916         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
63917
63918 2007-01-15  Bruno Haible  <bruno@clisp.org>
63919
63920         * modules/striconveh: New file.
63921         * lib/striconveh.h: New file.
63922         * lib/striconveh.c: New file.
63923         * MODULES.html.sh (Internationalization functions): Add striconveh.
63924
63925         * modules/striconveh-tests: New file.
63926         * tests/test-striconveh.c: New file.
63927
63928 2007-01-15  Bruno Haible  <bruno@clisp.org>
63929
63930         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
63931         not from GNU libiconv or GNU libc.
63932
63933 2007-01-15  Bruno Haible  <bruno@clisp.org>
63934
63935         * doc/gnulib-intro.texi (Copyright): Explain the different license
63936         terms for module descriptions, autoconf macros, tests, documentation.
63937
63938 2007-01-14  Bruno Haible  <bruno@clisp.org>
63939
63940         * modules/striconv-tests: New file.
63941         * tests/test-striconv.c: New file.
63942
63943 2007-01-14  Bruno Haible  <bruno@clisp.org>
63944
63945         * modules/iconv-tests: New file.
63946         * tests/test-iconv.c: New file.
63947
63948 2007-01-14  Bruno Haible  <bruno@clisp.org>
63949
63950         * gnulib-tool (func_get_license): For test modules, use the license of
63951         the main module.
63952
63953 2007-01-14  Bruno Haible  <bruno@clisp.org>
63954
63955         * modules/iconv (Include): Clarify that <iconv.h> can only be included
63956         if iconv is found to exist.
63957
63958 2007-01-14  Bruno Haible  <bruno@clisp.org>
63959
63960         * modules/c-ctype-tests: New file.
63961         * tests/test-c-ctype.c: New file.
63962
63963 2007-01-14  Bruno Haible  <bruno@clisp.org>
63964
63965         * modules/binary-io-tests: New file.
63966         * tests/test-binary-io.sh: New file.
63967         * tests/test-binary-io.c: New file.
63968
63969 2007-01-14  Bruno Haible  <bruno@clisp.org>
63970
63971         * modules/array-oset-tests: New file.
63972         * tests/test-array_oset.c: New file.
63973
63974 2007-01-14  Bruno Haible  <bruno@clisp.org>
63975
63976         * modules/array-list-tests: New file.
63977         * tests/test-array_list.c: New file.
63978
63979 2007-01-14  Bruno Haible  <bruno@clisp.org>
63980
63981         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
63982         and make.
63983         Reported by Simon Josefsson in
63984         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
63985
63986 2007-01-14  Bruno Haible  <bruno@clisp.org>
63987
63988         * modules/allocsa-tests: New file.
63989         * tests/test-allocsa.c: New file.
63990
63991 2007-01-14  Bruno Haible  <bruno@clisp.org>
63992
63993         * modules/fchdir (Depends-on): Add absolute-header.
63994         * modules/unistd (Depends-on): Likewise.
63995
63996 2006-12-30  Bruno Haible  <bruno@clisp.org>
63997
63998         * modules/fchdir: New file.
63999         * modules/unistd (Files): Add lib/unistd_.h.
64000         (Makefile.am): Generate unistd.h from unistd_.h.
64001         * lib/fchdir.c: New file.
64002         * lib/dirent_.h: New file.
64003         * lib/unistd_.h: New file.
64004         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
64005         * m4/fchdir.m4: New file.
64006         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
64007         (gl_HEADER_UNISTD): Invoke it.
64008         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
64009         function.
64010         * lib/backupfile.c (opendir, closedir): Undefine.
64011         * lib/chown.c (open, close): Undefine.
64012         * lib/clean-temp.c (open, close): Undefine.
64013         * lib/copy-file.c (open, close): Undefine.
64014         * lib/execute.c (open, close): Undefine.
64015         * lib/fsusage.c (open, close): Undefine.
64016         * lib/gc-gnulib.c (open, close): Undefine.
64017         * lib/getcwd.c (opendir, closedir): Undefine.
64018         * lib/glob.c (opendir, closedir): Undefine.
64019         * lib/javacomp.c (open, close): Undefine.
64020         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
64021         * lib/openat-proc.c (open, close): Undefine.
64022         * lib/pagealign_alloc.c (open, close): Undefine.
64023         * lib/pipe.c (open, close): Undefine.
64024         * lib/progreloc.c (open, close): Undefine.
64025         * lib/savedir.c (opendir, closedir): Undefine.
64026         * lib/utime.c (open, close): Undefine.
64027         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
64028
64029 2007-01-10  Bruno Haible  <bruno@clisp.org>
64030
64031         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
64032
64033 2007-01-12  Eric Blake  <ebb9@byu.net>
64034
64035         Provide a robust <wchar.h>.  Further simplifications are now
64036         possible in other modules, but not included here.
64037         * modules/wchar: New module.
64038         * m4/wchar.m4: New file.
64039         * lib/wchar_.h: Likewise.
64040         * modules/mbchar (Depends-on): Depend on wchar, as the first use
64041         of the new module.
64042         * MODULES.html.sh (Extended multibyte and wide character utilities):
64043         New section.
64044
64045 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
64046
64047         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
64048         to a reasonable default for memory allocation.
64049         (xreadlink): Don't allocate a huge buffer, to work around a buggy
64050         file system that reports garbage st_size values for symlinks.
64051         Problem reported by Liyang Hu.
64052
64053 2007-01-11  Simon Josefsson  <simon@josefsson.org>
64054
64055         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
64056         Emacs .#* auto-save files).
64057
64058 2007-01-11  Bruno Haible  <bruno@clisp.org>
64059
64060         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
64061         directory.
64062
64063 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64064
64065         Use @...@ consistently in lib/wctype_.h.
64066         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
64067         on it being set to 1 or 0.
64068         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
64069         go back to AC_SUBSTing it.
64070         * modules/wctype (Makefile.am): Undo previous change.
64071
64072 2007-01-10  Eric Blake  <ebb9@byu.net>
64073
64074         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
64075         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
64076         * modules/wctype (Makefile.am): Likewise.
64077         Reported by Chris McGuire.
64078
64079 2007-01-10  Jim Meyering  <jim@meyering.net>
64080
64081         fts.c: a small readability/maintainability improvement
64082         * lib/fts.c (fts_read): Make this code slightly more readable and
64083         maintainable by hoisting the "sp->fts_cur = p" assignments to
64084         immediately follow the statements that set P.  Derived from
64085         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
64086
64087 2007-01-10  Eric Blake  <ebb9@byu.net>
64088
64089         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
64090         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
64091         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64092         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
64093         Reported by Chris McGuire.
64094
64095 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64096
64097         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
64098         in sed script.
64099
64100 2007-01-09  Bruno Haible  <bruno@clisp.org>
64101
64102         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
64103         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
64104         variables.
64105         (func_module): Use them.
64106
64107 2007-01-09  Bruno Haible  <bruno@clisp.org>
64108
64109         * modules/unistr/base: New file.
64110         * lib/unistr.h: New file.
64111
64112         * modules/unistr/u8-to-u16: New file.
64113         * lib/unistr/u8-to-u16.c: New file.
64114
64115         * modules/unistr/u8-to-u32: New file.
64116         * lib/unistr/u8-to-u32.c: New file.
64117
64118         * modules/unistr/u16-to-u8: New file.
64119         * lib/unistr/u16-to-u8.c: New file.
64120
64121         * modules/unistr/u16-to-u32: New file.
64122         * lib/unistr/u16-to-u32.c: New file.
64123
64124         * modules/unistr/u32-to-u8: New file.
64125         * lib/unistr/u32-to-u8.c: New file.
64126
64127         * modules/unistr/u32-to-u16: New file.
64128         * lib/unistr/u32-to-u16.c: New file.
64129
64130         * modules/unistr/u8-check: New file.
64131         * modules/unistr/u16-check: New file.
64132         * modules/unistr/u32-check: New file.
64133         * lib/unistr/u8-check.c: New file.
64134         * lib/unistr/u16-check.c: New file.
64135         * lib/unistr/u32-check.c: New file.
64136
64137         * modules/unistr/u8-chr: New file.
64138         * modules/unistr/u16-chr: New file.
64139         * modules/unistr/u32-chr: New file.
64140         * lib/unistr/u8-chr.c: New file.
64141         * lib/unistr/u16-chr.c: New file.
64142         * lib/unistr/u32-chr.c: New file.
64143
64144         * modules/unistr/u8-cmp: New file.
64145         * modules/unistr/u16-cmp: New file.
64146         * modules/unistr/u32-cmp: New file.
64147         * lib/unistr/u8-cmp.c: New file.
64148         * lib/unistr/u16-cmp.c: New file.
64149         * lib/unistr/u32-cmp.c: New file.
64150
64151         * modules/unistr/u8-cpy: New file.
64152         * modules/unistr/u16-cpy: New file.
64153         * modules/unistr/u32-cpy: New file.
64154         * lib/unistr/u8-cpy.c: New file.
64155         * lib/unistr/u16-cpy.c: New file.
64156         * lib/unistr/u32-cpy.c: New file.
64157         * lib/unistr/u-cpy.h: New file.
64158
64159         * modules/unistr/u8-cpy-alloc: New file.
64160         * modules/unistr/u16-cpy-alloc: New file.
64161         * modules/unistr/u32-cpy-alloc: New file.
64162         * lib/unistr/u8-cpy-alloc.c: New file.
64163         * lib/unistr/u16-cpy-alloc.c: New file.
64164         * lib/unistr/u32-cpy-alloc.c: New file.
64165         * lib/unistr/u-cpy-alloc.h: New file.
64166
64167         * modules/unistr/u8-endswith: New file.
64168         * modules/unistr/u16-endswith: New file.
64169         * modules/unistr/u32-endswith: New file.
64170         * lib/unistr/u8-endswith.c: New file.
64171         * lib/unistr/u16-endswith.c: New file.
64172         * lib/unistr/u32-endswith.c: New file.
64173         * lib/unistr/u-endswith.h: New file.
64174
64175         * modules/unistr/u8-mblen: New file.
64176         * modules/unistr/u16-mblen: New file.
64177         * modules/unistr/u32-mblen: New file.
64178         * lib/unistr/u8-mblen.c: New file.
64179         * lib/unistr/u16-mblen.c: New file.
64180         * lib/unistr/u32-mblen.c: New file.
64181
64182         * modules/unistr/u8-mbtouc: New file.
64183         * modules/unistr/u16-mbtouc: New file.
64184         * modules/unistr/u32-mbtouc: New file.
64185         * lib/unistr/u8-mbtouc.c: New file.
64186         * lib/unistr/u16-mbtouc.c: New file.
64187         * lib/unistr/u32-mbtouc.c: New file.
64188
64189         * modules/unistr/u8-mbtouc-safe: New file.
64190         * modules/unistr/u16-mbtouc-safe: New file.
64191         * modules/unistr/u32-mbtouc-safe: New file.
64192         * lib/unistr/u8-mbtouc-safe.c: New file.
64193         * lib/unistr/u16-mbtouc-safe.c: New file.
64194         * lib/unistr/u32-mbtouc-safe.c: New file.
64195
64196         * modules/unistr/u8-move: New file.
64197         * modules/unistr/u16-move: New file.
64198         * modules/unistr/u32-move: New file.
64199         * lib/unistr/u8-move.c: New file.
64200         * lib/unistr/u16-move.c: New file.
64201         * lib/unistr/u32-move.c: New file.
64202         * lib/unistr/u-move.h: New file.
64203
64204         * modules/unistr/u8-next: New file.
64205         * modules/unistr/u16-next: New file.
64206         * modules/unistr/u32-next: New file.
64207         * lib/unistr/u8-next.c: New file.
64208         * lib/unistr/u16-next.c: New file.
64209         * lib/unistr/u32-next.c: New file.
64210
64211         * modules/unistr/u8-prev: New file.
64212         * modules/unistr/u16-prev: New file.
64213         * modules/unistr/u32-prev: New file.
64214         * lib/unistr/u8-prev.c: New file.
64215         * lib/unistr/u16-prev.c: New file.
64216         * lib/unistr/u32-prev.c: New file.
64217
64218         * modules/unistr/u8-set: New file.
64219         * modules/unistr/u16-set: New file.
64220         * modules/unistr/u32-set: New file.
64221         * lib/unistr/u8-set.c: New file.
64222         * lib/unistr/u16-set.c: New file.
64223         * lib/unistr/u32-set.c: New file.
64224         * lib/unistr/u-set.h: New file.
64225
64226         * modules/unistr/u8-startswith: New file.
64227         * modules/unistr/u16-startswith: New file.
64228         * modules/unistr/u32-startswith: New file.
64229         * lib/unistr/u8-startswith.c: New file.
64230         * lib/unistr/u16-startswith.c: New file.
64231         * lib/unistr/u32-startswith.c: New file.
64232         * lib/unistr/u-startswith.h: New file.
64233
64234         * modules/unistr/u8-stpcpy: New file.
64235         * modules/unistr/u16-stpcpy: New file.
64236         * modules/unistr/u32-stpcpy: New file.
64237         * lib/unistr/u8-stpcpy.c: New file.
64238         * lib/unistr/u16-stpcpy.c: New file.
64239         * lib/unistr/u32-stpcpy.c: New file.
64240         * lib/unistr/u-stpcpy.h: New file.
64241
64242         * modules/unistr/u8-stpncpy: New file.
64243         * modules/unistr/u16-stpncpy: New file.
64244         * modules/unistr/u32-stpncpy: New file.
64245         * lib/unistr/u8-stpncpy.c: New file.
64246         * lib/unistr/u16-stpncpy.c: New file.
64247         * lib/unistr/u32-stpncpy.c: New file.
64248         * lib/unistr/u-stpncpy.h: New file.
64249
64250         * modules/unistr/u8-strcat: New file.
64251         * modules/unistr/u16-strcat: New file.
64252         * modules/unistr/u32-strcat: New file.
64253         * lib/unistr/u8-strcat.c: New file.
64254         * lib/unistr/u16-strcat.c: New file.
64255         * lib/unistr/u32-strcat.c: New file.
64256         * lib/unistr/u-strcat.h: New file.
64257
64258         * modules/unistr/u8-strchr: New file.
64259         * modules/unistr/u16-strchr: New file.
64260         * modules/unistr/u32-strchr: New file.
64261         * lib/unistr/u8-strchr.c: New file.
64262         * lib/unistr/u16-strchr.c: New file.
64263         * lib/unistr/u32-strchr.c: New file.
64264
64265         * modules/unistr/u8-strcmp: New file.
64266         * modules/unistr/u16-strcmp: New file.
64267         * modules/unistr/u32-strcmp: New file.
64268         * lib/unistr/u8-strcmp.c: New file.
64269         * lib/unistr/u16-strcmp.c: New file.
64270         * lib/unistr/u32-strcmp.c: New file.
64271
64272         * modules/unistr/u8-strcpy: New file.
64273         * modules/unistr/u16-strcpy: New file.
64274         * modules/unistr/u32-strcpy: New file.
64275         * lib/unistr/u8-strcpy.c: New file.
64276         * lib/unistr/u16-strcpy.c: New file.
64277         * lib/unistr/u32-strcpy.c: New file.
64278         * lib/unistr/u-strcpy.h: New file.
64279
64280         * modules/unistr/u8-strcspn: New file.
64281         * modules/unistr/u16-strcspn: New file.
64282         * modules/unistr/u32-strcspn: New file.
64283         * lib/unistr/u8-strcspn.c: New file.
64284         * lib/unistr/u16-strcspn.c: New file.
64285         * lib/unistr/u32-strcspn.c: New file.
64286         * lib/unistr/u-strcspn.h: New file.
64287
64288         * modules/unistr/u8-strdup: New file.
64289         * modules/unistr/u16-strdup: New file.
64290         * modules/unistr/u32-strdup: New file.
64291         * lib/unistr/u8-strdup.c: New file.
64292         * lib/unistr/u16-strdup.c: New file.
64293         * lib/unistr/u32-strdup.c: New file.
64294         * lib/unistr/u-strdup.h: New file.
64295
64296         * modules/unistr/u8-strlen: New file.
64297         * modules/unistr/u16-strlen: New file.
64298         * modules/unistr/u32-strlen: New file.
64299         * lib/unistr/u8-strlen.c: New file.
64300         * lib/unistr/u16-strlen.c: New file.
64301         * lib/unistr/u32-strlen.c: New file.
64302         * lib/unistr/u-strlen.h: New file.
64303
64304         * modules/unistr/u8-strmblen: New file.
64305         * modules/unistr/u16-strmblen: New file.
64306         * modules/unistr/u32-strmblen: New file.
64307         * lib/unistr/u8-strmblen.c: New file.
64308         * lib/unistr/u16-strmblen.c: New file.
64309         * lib/unistr/u32-strmblen.c: New file.
64310
64311         * modules/unistr/u8-strmbtouc: New file.
64312         * modules/unistr/u16-strmbtouc: New file.
64313         * modules/unistr/u32-strmbtouc: New file.
64314         * lib/unistr/u8-strmbtouc.c: New file.
64315         * lib/unistr/u16-strmbtouc.c: New file.
64316         * lib/unistr/u32-strmbtouc.c: New file.
64317
64318         * modules/unistr/u8-strncat: New file.
64319         * modules/unistr/u16-strncat: New file.
64320         * modules/unistr/u32-strncat: New file.
64321         * lib/unistr/u8-strncat.c: New file.
64322         * lib/unistr/u16-strncat.c: New file.
64323         * lib/unistr/u32-strncat.c: New file.
64324         * lib/unistr/u-strncat.h: New file.
64325
64326         * modules/unistr/u8-strncmp: New file.
64327         * modules/unistr/u16-strncmp: New file.
64328         * modules/unistr/u32-strncmp: New file.
64329         * lib/unistr/u8-strncmp.c: New file.
64330         * lib/unistr/u16-strncmp.c: New file.
64331         * lib/unistr/u32-strncmp.c: New file.
64332
64333         * modules/unistr/u8-strncpy: New file.
64334         * modules/unistr/u16-strncpy: New file.
64335         * modules/unistr/u32-strncpy: New file.
64336         * lib/unistr/u8-strncpy.c: New file.
64337         * lib/unistr/u16-strncpy.c: New file.
64338         * lib/unistr/u32-strncpy.c: New file.
64339         * lib/unistr/u-strncpy.h: New file.
64340
64341         * modules/unistr/u8-strnlen: New file.
64342         * modules/unistr/u16-strnlen: New file.
64343         * modules/unistr/u32-strnlen: New file.
64344         * lib/unistr/u8-strnlen.c: New file.
64345         * lib/unistr/u16-strnlen.c: New file.
64346         * lib/unistr/u32-strnlen.c: New file.
64347         * lib/unistr/u-strnlen.h: New file.
64348
64349         * modules/unistr/u8-strpbrk: New file.
64350         * modules/unistr/u16-strpbrk: New file.
64351         * modules/unistr/u32-strpbrk: New file.
64352         * lib/unistr/u8-strpbrk.c: New file.
64353         * lib/unistr/u16-strpbrk.c: New file.
64354         * lib/unistr/u32-strpbrk.c: New file.
64355         * lib/unistr/u-strpbrk.h: New file.
64356
64357         * modules/unistr/u8-strrchr: New file.
64358         * modules/unistr/u16-strrchr: New file.
64359         * modules/unistr/u32-strrchr: New file.
64360         * lib/unistr/u8-strrchr.c: New file.
64361         * lib/unistr/u16-strrchr.c: New file.
64362         * lib/unistr/u32-strrchr.c: New file.
64363
64364         * modules/unistr/u8-strspn: New file.
64365         * modules/unistr/u16-strspn: New file.
64366         * modules/unistr/u32-strspn: New file.
64367         * lib/unistr/u8-strspn.c: New file.
64368         * lib/unistr/u16-strspn.c: New file.
64369         * lib/unistr/u32-strspn.c: New file.
64370         * lib/unistr/u-strspn.h: New file.
64371
64372         * modules/unistr/u8-strstr: New file.
64373         * modules/unistr/u16-strstr: New file.
64374         * modules/unistr/u32-strstr: New file.
64375         * lib/unistr/u8-strstr.c: New file.
64376         * lib/unistr/u16-strstr.c: New file.
64377         * lib/unistr/u32-strstr.c: New file.
64378         * lib/unistr/u-strstr.h: New file.
64379
64380         * modules/unistr/u8-strtok: New file.
64381         * modules/unistr/u16-strtok: New file.
64382         * modules/unistr/u32-strtok: New file.
64383         * lib/unistr/u8-strtok.c: New file.
64384         * lib/unistr/u16-strtok.c: New file.
64385         * lib/unistr/u32-strtok.c: New file.
64386         * lib/unistr/u-strtok.h: New file.
64387
64388         * modules/unistr/u8-uctomb: New file.
64389         * modules/unistr/u16-uctomb: New file.
64390         * modules/unistr/u32-uctomb: New file.
64391         * lib/unistr/u8-uctomb.c: New file.
64392         * lib/unistr/u16-uctomb.c: New file.
64393         * lib/unistr/u32-uctomb.c: New file.
64394
64395         * MODULES.html.sh (Unicode string functions): Add the new modules.
64396
64397 2007-01-08  Bruno Haible  <bruno@clisp.org>
64398
64399         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
64400         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
64401         subdirectories.
64402
64403 2007-01-08  Karl Berry  <karl@gnu.org>
64404
64405         * doc/error.texi: mention that main() fns must set program_name
64406         when progname is used.
64407
64408 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
64409
64410         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
64411         WCTYPE_H is empty, for the benefit of builds from non-distclean
64412         directories.  Problem reported by Eric Blake in
64413         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
64414
64415 2007-01-08  Bruno Haible  <bruno@clisp.org>
64416
64417         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
64418         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
64419         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
64420         PROVIDE_CANONICALIZE_FILENAME_MODE.
64421         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
64422
64423 2007-01-08  Bruno Haible  <bruno@clisp.org>
64424
64425         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
64426         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
64427         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
64428         * lib/fts.c: Likewise.
64429         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
64430
64431 2006-12-25  Bruno Haible  <bruno@clisp.org>
64432
64433         * modules/utf8-ucs4-safe: New file.
64434         * lib/utf8-ucs4-safe.h: New file.
64435         * lib/unistr/utf8-ucs4-safe.c: New file.
64436
64437         * modules/utf16-ucs4-safe: New file.
64438         * lib/utf16-ucs4-safe.h: New file.
64439         * lib/unistr/utf16-ucs4-safe.c: New file.
64440
64441         * MODULES.html.sh (Unicode string functions): Add the new modules.
64442
64443 2007-01-08  Bruno Haible  <bruno@clisp.org>
64444
64445         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
64446         (Depends-on): Add unitypes.
64447         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64448         (u8_mbtouc_aux): Move out to separate file.
64449         (u8_mbtouc): Use ucs4_t, uint8_t types.
64450         * lib/unistr/utf8-ucs4.c: New file.
64451
64452         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
64453         (Depends-on): Add unitypes.
64454         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64455         (u16_mbtouc_aux): Move out to separate file.
64456         (u16_mbtouc): Use ucs4_t, uint16_t types.
64457         * lib/unistr/utf16-ucs4.c: New file.
64458
64459         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
64460         (Depends-on): Add unitypes.
64461         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
64462         (u8_uctomb_aux): Move out to separate file.
64463         (u8_uctomb): Use ucs4_t, uint8_t types.
64464         * lib/unistr/ucs4-utf8.c: New file.
64465
64466         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
64467         (Depends-on): Add unitypes.
64468         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
64469         (u16_uctomb_aux): Move out to separate file.
64470         (u16_uctomb): Use ucs4_t, uint16_t types.
64471         * lib/unistr/ucs4-utf16.c: New file.
64472
64473 2006-12-25  Bruno Haible  <bruno@clisp.org>
64474
64475         * modules/unitypes: New file.
64476         * lib/unitypes.h: New file.
64477         * MODULES.html.sh (func_all_modules): New section "Unicode string
64478         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
64479         this section. Add unitypes.
64480
64481 2007-01-08  Bruno Haible  <bruno@clisp.org>
64482
64483         Avoid variable names that conflict with those from libtool.
64484         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
64485         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
64486         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
64487         library_names_spec to acl_library_names_spec, hardcode_* to
64488         acl_hardcode_*.
64489         Reported by Ralf Wildenhues.
64490
64491 2007-01-08  Bruno Haible  <bruno@clisp.org>
64492
64493         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
64494         definition.
64495         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
64496         definition.
64497         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
64498         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
64499         definition.
64500         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
64501         definition.
64502         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
64503         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
64504         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
64505         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
64506         definition.
64507         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
64508         definition.
64509         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
64510         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
64511         GC_USE_<algorithm>.
64512         * lib/gc-libgcrypt.c: Likewise.
64513         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
64514         * modules/gc-arctwo (configure.ac): Likewise.
64515         * modules/gc-des (configure.ac): Likewise.
64516         * modules/gc-hmac-md5 (configure.ac): Likewise.
64517         * modules/gc-hmac-sha1 (configure.ac): Likewise.
64518         * modules/gc-md2 (configure.ac): Likewise.
64519         * modules/gc-md4 (configure.ac): Likewise.
64520         * modules/gc-md5 (configure.ac): Likewise.
64521         * modules/gc-random (configure.ac): Likewise.
64522         * modules/gc-rijndael (configure.ac): Likewise.
64523         * modules/gc-sha1 (configure.ac): Likewise.
64524
64525 2007-01-08  Bruno Haible  <bruno@clisp.org>
64526
64527         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
64528         macro definition.
64529         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
64530         definition.
64531         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
64532         definition.
64533         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
64534         * modules/fcntl-safer (configure.ac): Likewise.
64535         * modules/fopen-safer (configure.ac): Likewise.
64536         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
64537         GNULIB_FWRITEERROR macro definition.
64538
64539 2007-01-08  Bruno Haible  <bruno@clisp.org>
64540
64541         * m4/gnulib-common.m4: New file.
64542         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
64543         (func_get_filelist): Add m4/gnulib-common.m4.
64544
64545 2007-01-08  Bruno Haible  <bruno@clisp.org>
64546
64547         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
64548         command.
64549
64550 2007-01-08  Jim Meyering  <jim@meyering.net>
64551
64552         Use a more robust test for a "can't happen" condition.
64553         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
64554         narrowed the st_size value.  Presuming the "can't happen" condition
64555         is true, that narrowing could conceivably convert an invalid st_size
64556         value into a valid one.  Instead, use a change based on Matthew
64557         Woehlke's original patch.
64558
64559         Slight readability improvement: use an assert-like macro
64560         in place of literal "abort ()" uses.
64561         * lib/fts.c (fts_assert): Define.
64562         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
64563         Use this macro instead of a bare 'abort'.
64564
64565 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
64566
64567         Don't worry about using IRIX 5.3's wctype.h broken definitions;
64568         simply work around them.
64569         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
64570         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
64571         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
64572         declaring.
64573         Don't bother to define as macros, since the standard doesn't require it.
64574         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
64575         longer worry about IRIX 5.3.
64576         (HAVE_WCTYPE_CTMP_BUG): Remove.
64577
64578 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64579
64580         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
64581         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
64582         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
64583         Problems reported by Georg Schwarz for IRIX 5.3.
64584
64585         * gnulib-tool (autoconf_minversion): Take the maximum version number
64586         found, not the minimum.  Problem reported by James Youngman.
64587
64588 2007-01-03  Karl Berry  <karl@gnu.org>
64589
64590         * doc/error.texi: new file, explaining interaction with progname.
64591         * doc/gnulib.texi: include it.  Update copyright.
64592
64593 2007-01-03  Simon Josefsson  <simon@josefsson.org>
64594
64595         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
64596         AC_CANONICAL_HOST, to improve autobuild outputs.
64597
64598 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
64599             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
64600
64601         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
64602         sockets, server sockets, and other file descriptors.  Count errors
64603         to compute the return value.  Reorder the code a bit to be easier
64604         to follow.  Don't set event bits that were not requested (except
64605         POLLERR and POLLHUP).
64606
64607 2007-01-01  Bruno Haible  <bruno@clisp.org>
64608
64609         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
64610
64611 2007-01-03  Jim Meyering  <jim@meyering.net>
64612
64613         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
64614
64615 2007-01-02  Bruno Haible  <bruno@clisp.org>
64616
64617         * modules/settime (Include): Require timespec.h.
64618         * modules/nanosleep (Include): Likewise.
64619
64620 2007-01-01  Bruno Haible  <bruno@clisp.org>
64621
64622         * gnulib-tool (func_emit_copyright_notice): Bump year.
64623         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
64624
64625 2007-01-01  Bruno Haible  <bruno@clisp.org>
64626
64627         Improve support for OpenBSD.
64628         * build-aux/config.rpath (libname_spec): Export.
64629         (library_names_spec): New variable. Export.
64630         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
64631         library_names_spec from the config.rpath output. Locate shared library
64632         through the name pattern in library_names_spec.
64633
64634 2007-01-01  Eric Blake  <ebb9@byu.net>
64635
64636         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
64637
64638 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
64639
64640         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
64641         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
64642         assume the C locale, and avoid an "eval" that could cause trouble.
64643         Problem with SORT reported by Bob Proulx.
64644
64645         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
64646         Define.  Trivial patch from Henning Nielsen Lund, originally
64647         sent to bug-grep@gnu.org today.
64648
64649 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
64650
64651         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
64652         struct stat.  Problem reported by Henning Nielsen Lund.
64653         * lib/acl.c: Include acl.h first, to check interface.  Don't
64654         bother to include sys/types.h and sys/stat.h again.
64655
64656 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
64657
64658         Import the following change from libc; problem reported by
64659         Sven Verdoolaege.
64660
64661         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
64662
64663         [BZ #1373]
64664         * lib/argp.h: Remove __NTH for __argp_usage inline function.
64665
64666 2006-12-28  Jim Meyering  <jim@meyering.net>
64667
64668         * build-aux/announce-gen: Do not assume that the package
64669         builds any of tar.gz, tar.bz2, and .xdelta files.
64670         Suggestion from Simon Josefsson.
64671
64672 2006-12-28  Simon Josefsson  <simon@josefsson.org>
64673
64674         * modules/announce-gen: New file.
64675
64676 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
64677
64678         * lib/mbchar.h: Just include <wctype.h>; the wctype module
64679         handles its gotchas now.
64680         * lib/mbswidth.c: Likewise.
64681         * lib/wcwidth.h: Likewise.
64682         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
64683         and iswcntrl; the wctype module does this stuff now.
64684         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
64685         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64686         * modules/mbchar (Depends-on): Add wctype.
64687         * modules/mbswidth (Depends-on): Likewise.
64688         * modules/wcwidth (Depends-on): Likewise.
64689
64690 2006-12-27  Eric Blake  <ebb9@byu.net>
64691
64692         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
64693         module uses more than what <wctype.h> is required to provide.
64694
64695 2006-12-26  Eric Blake  <ebb9@byu.net>
64696
64697         * gnulib-tool (sed_extract_prog): Avoid space-tab.
64698
64699 2006-12-26  Eric Blake  <ebb9@byu.net>
64700
64701         * modules/absolute-header: New module.
64702         * modules/fcntl (Depends-on): Depend on it.
64703         * modules/inttypes (Depends-on): Likewise.
64704         * modules/stdint (Depends-on): Likewise.
64705         * modules/sys_stat (Depends-on): Likewise.
64706         * modules/wctype (Depends-on): Likewise.
64707         * MODULES.html.sh (Support for building libraries and
64708         executables): Document it.
64709
64710 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
64711
64712         * gnulib-tool (SED): Remove, undoing previous change.
64713         The problem was that it broke coreutils on Solaris, because
64714         "sed --posix" leaked into a makefile.
64715         (sed): New alias, if 'alias' and GNU sed.
64716
64717 2006-12-24  Jim Meyering  <jim@meyering.net>
64718
64719         Work around an fchownat bug in glibc-2.4:
64720         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
64721         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
64722         in spite of the -P option.
64723         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
64724         New macros.
64725         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
64726         * modules/openat (Files): Add lib/fchownat.c.
64727         * lib/openat.c (fchownat): Don't define here.  Move to...
64728         * lib/fchownat.c: ...this new file.
64729
64730 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
64731
64732         Fix bug reported by Bruno Haible in
64733         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
64734         where quotearg.c didn't compile on Mac OS X 10.2 because it
64735         lacks <wchar.h> and wint_t.
64736         * lib/wctype_.h (__wctype_wint_t): New type.
64737         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
64738         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
64739         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
64740         Arg is now of type __wctype_wint_t, not wint_t.
64741         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
64742         substitute HAVE_WINT_T.
64743         * modules/wctype (Files): Add m4/wint_t.m4.
64744         (wctype.h): Substitute HAVE_WINT_T.
64745
64746 2006-12-23  Bruno Haible  <bruno@clisp.org>
64747
64748         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
64749
64750 2006-12-23  Bruno Haible  <bruno@clisp.org>
64751
64752         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
64753         S_ISLNK.
64754         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
64755         mingw.
64756
64757 2006-12-22  Bruno Haible  <bruno@clisp.org>
64758
64759         * lib/copy-file.c: Include acl.h.
64760         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
64761         Close the file descriptors only after being done with copy_acl.
64762         * modules/copy-file (Depends-on): Add acl.
64763
64764 2006-12-22  Bruno Haible  <bruno@clisp.org>
64765
64766         * gnulib-tool (SED): New variable.
64767         Use $SED instead of sed everywhere.
64768
64769 2006-12-22  Bruno Haible  <bruno@clisp.org>
64770
64771         * modules/no-c++: New file.
64772         * m4/no-c++.m4: New file.
64773         * MODULES.html.sh (Support for building libraries and executables):
64774         Add no-c++.
64775
64776 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
64777
64778         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
64779         Include <limits.h>, and use its INT_MAX to rewrite the
64780         j loop so that it does not overflow 'int'.  Problem reported by
64781         Ralf Wildenhues in
64782         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
64783         Play it safe by shifting left by 1 rather than multiplying by 2,
64784         as GCC is less likely to optimize this away when the value
64785         is signed (when it assumes overflow leads to undefined behavior).
64786         Also, don't assume time_t uses two's complement.
64787
64788 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
64789
64790         * MODULES.html.sh: New module wctype.
64791         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
64792         * lib/fnmatch.c: Don't bother to include <wchar.h> before
64793         <wctype.h>, since the new wctype module should fix this.
64794         * lib/quotearg.c: Include <wctype.h> unconditionally, since
64795         the wctype module should arrange for it.
64796         * lib/regex_internal.h: Likewise.
64797         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
64798         since the wctype module should handle this now.
64799         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
64800         * modules/fnmatch (Depends-on): Add wctype.
64801         * modules/quotearg (Depends-on): Likewise.
64802         * modules/regex (Depends-on): Likewise.
64803
64804 2006-12-19  Bruno Haible  <bruno@clisp.org>
64805
64806         * lib/strdup.h [C++]: Wrap definitions in extern "C".
64807         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
64808
64809 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64810
64811         * modules/savewd (Depends-on): Fix dependency on fcntl.
64812
64813 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
64814
64815         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
64816         conforms to C99, rather than relying on the user's environment
64817         setting of STDINT_H.
64818
64819 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
64820         and Eric Blake  <ebb9@byu.net>
64821
64822         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
64823         This is more consistent with the other defines here.
64824         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
64825         Port to z/OS.  Problem reported by Paul Gilmartin.
64826         Change local vars to use gl_ prefix rather than ac_.
64827         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
64828         with other defines.
64829         * modules/double-slash-root: New module.
64830         * modules/dirname (Files): Remove m4/double-slash-root.m4.
64831         (Depends-on): Add double-slash-root.
64832         * MODULES.html.sh (File system functions): Mention new module.
64833
64834 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
64835
64836         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
64837         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
64838         This is for the benefit of gzip, which doesn't do i18n.
64839
64840 2006-12-12  Jim Meyering  <jim@meyering.net>
64841
64842         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
64843         Reported by Andreas Schwab <schwab@suse.de>.
64844
64845 2006-12-12  Bruno Haible  <bruno@clisp.org>
64846
64847         Merge these changes.
64848         2006-09-05  Bruno Haible  <bruno@clisp.org>
64849         * lib/iconvme.c (iconv_string): No need to save and restore errno when
64850         iconv_alloc succeeded.
64851         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
64852         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
64853         test for " && dest " at the end - dest is always != NULL there. Call
64854         iconv with 4xNULL arguments initially, to reset the state. Call iconv
64855         with 2xNULL arguments, also to flush the state storage. Handle the
64856         IRIX iconv behaviour. Realloc the final result, to throw away unused
64857         memory.
64858
64859 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
64860
64861         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
64862         and fchmodat unconditionally, since glibc 2.4 has them.
64863         Problem reported by Arkadiusz Miskiewicz.
64864
64865 2006-12-10  Bruno Haible  <bruno@clisp.org>
64866
64867         * gnulib-tool (func_import): Show the include files only for those
64868         modules that are copied and specified.
64869         Reported by Karl Berry.
64870
64871 2006-12-08  Jim Meyering  <jim@meyering.net>
64872
64873         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
64874         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
64875
64876         * build-aux/announce-gen: Add two new options, both optional:
64877         --bootstrap-tools=TOOL_LIST
64878               a comma-separated list of tools, e.g.,
64879               autoconf,automake,bison,gnulib
64880         --gnulib-snapshot-date=DATE
64881               if gnulib is in the bootstrap tool list,
64882               then report this as the snapshot date.
64883               If not specified, use the current date/time.
64884               If you specify a date here, be sure it's UTC.
64885
64886 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64887
64888         * tests/test-argp-2.sh: Fix test to match actual output.
64889         (func_compare): Fix sed script to be portable.
64890
64891 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
64892
64893         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
64894         workaround for this case.  It is not autoconfigured now; offhand
64895         it's hard to see how to autoconfigure it.
64896
64897 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
64898
64899         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
64900         a directory that is about to be chowned.  Such a directory's
64901         initial file permissions should permit the owner only and this
64902         should not be changed until after the chown, since the group and
64903         other bits would be incorrect if they granted permission before
64904         the chown.
64905
64906         Fix porting problem for iswctype reported by Georg Schwarz in:
64907         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
64908         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
64909         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
64910         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
64911         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64912
64913 2006-12-03  Jim Meyering  <jim@meyering.net>
64914
64915         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
64916         p->fts_statp may not yet be defined.
64917         (fts_read): Instead, set it in the caller, once p->fts_statp is
64918         sure to be defined, and corresponds to a top-level directory.
64919         This bug made du -x fail.  Here's the coreutils test case:
64920         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
64921         Reported by Mike Frysinger.
64922
64923 2006-12-01  Jim Meyering  <jim@meyering.net>
64924
64925         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
64926         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
64927         Reported by Simon Josefsson.
64928
64929 2006-11-30  Jim Meyering  <jim@meyering.net>
64930
64931         * m4/warning.m4: Use the all-permissive copyright notice
64932         recommended by RMS (rather than LGPL).
64933         * m4/vararrays.m4: Likewise.
64934         * m4/flexmember.m4: Likewise.
64935
64936 2006-11-29  Bruno Haible  <bruno@clisp.org>
64937
64938         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
64939         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
64940         using +=.
64941         Reported by Simon Josefsson <simon@josefsson.org>.
64942
64943 2006-11-28  James Youngman <jay@gnu.org>
64944
64945         * README: Advise users that they might find the bug-gnulib@gnu.org
64946         and autotools-announce@gnu.org mailing lists useful.
64947
64948 2006-11-28  Bruno Haible  <bruno@clisp.org>
64949
64950         * m4/ptrdiff_max.m4: Remove file.
64951
64952 2006-11-21  Bruno Haible  <bruno@clisp.org>
64953
64954         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
64955         _AC_COMPUTE_INT.
64956         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
64957         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
64958         _AC_COMPUTE_INT.
64959         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
64960         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
64961         _AC_COMPUTE_INT.
64962         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
64963
64964 2006-11-28  Jim Meyering  <jim@meyering.net>
64965
64966         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
64967         warning from "gcc -Wshadow" about shadowing the builtin.
64968
64969 2006-11-27  Bruno Haible  <bruno@clisp.org>
64970
64971         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
64972         _AC_COMPUTE_INT.
64973         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
64974
64975 2006-11-27  Bruno Haible  <bruno@clisp.org>
64976             Paul Eggert  <eggert@cs.ucla.edu>
64977
64978         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
64979
64980 2006-11-26  Bruno Haible  <bruno@clisp.org>
64981
64982         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
64983         noinst_LTLIBRARIES.
64984
64985 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
64986             Bruno Haible  <bruno@clisp.org>
64987
64988         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
64989         if compiling with "gcc -ansi".
64990
64991 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
64992
64993         Fix some incompatibilities with gcc -ansi -pedantic.
64994         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
64995         if compiling pedantically with GCC, unless it's C99 or later.
64996         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
64997         it mishandles gcc -ansi -pedantic as well.
64998         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
64999         if gcc -pedantic.
65000         * lib/regexec.c (check_node_accept_bytes): Don't use auto
65001         initializers for struct if -pedantic, unless it's C99 or later.
65002
65003 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
65004
65005         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
65006         Don't close an fd more than once. Identical atimes indicate
65007         success, not failure.
65008
65009 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
65010
65011         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
65012
65013 2006-11-23  Jim Meyering  <jim@meyering.net>
65014
65015         * build-aux/announce-gen: New file.  From coreutils.
65016
65017 2006-11-22  Jim Meyering  <jim@meyering.net>
65018
65019         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
65020         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
65021         (fts_read): Use a temporary to narrow the overused st_size member
65022         before using it in a switch statement.  Reported by Matthew Woehlke.
65023
65024         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
65025         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
65026
65027 2006-11-20  Bruno Haible  <bruno@clisp.org>
65028
65029         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
65030         changequote instead of pairs of brackets.
65031         Reported by Andreas Schwab <schwab@suse.de>.
65032
65033 2006-11-21  Jim Meyering  <jim@meyering.net>
65034
65035         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
65036         so as to remain compatible with older compilers.
65037         Patch from Michael Deutschmann.
65038
65039 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65040
65041         * MODULES.html.sh (File system functions): Add openat.
65042
65043         * lib/openat.h (rpl_fstatat): New macro, if
65044         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
65045         (fstatat): Define to rpl_fstatat under the same conditions,
65046         unless COMPILING_FSTATAT.
65047         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
65048         seems to have the bug.
65049         * lib/fstatat.c: New file.
65050         * modules/openat (Files): Add it.
65051
65052 2006-11-20  Bruno Haible  <bruno@clisp.org>
65053
65054         * Makefile: New file.
65055
65056 2006-11-20  Jim Meyering  <jim@meyering.net>
65057
65058         The beginnings of syntax-related checks for gnulib.
65059         * lib/Makefile: New file.
65060         * lib/t-idcache: New script.  Ensure that the two halves of
65061         idcache.c stay in sync.
65062
65063         * lib/idcache.c: Adjust comments in user- and group- portions to
65064         be more accurate, and to be consistent with one another.
65065
65066 2006-11-20  Jim Meyering  <jim@meyering.net>
65067
65068         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
65069         continue using the flexible array member (thus, this module performs
65070         half as many malloc calls), with the addition that...
65071         (getgroup, getuser): Consistently record a non-match via an empty
65072         "name" string, and map an empty string match to a NULL return value.
65073         * modules/idcache (Depends-on): Re-add flexmember.
65074
65075         * lib/idcache.c (getuser): Remove all uses of the register keyword.
65076         (getuidbyname, getgroup, getgidbyname): Likewise.
65077
65078         Use cleaner syntax: NULL rather than 0.
65079         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
65080
65081 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65082
65083         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
65084         It mishandled the case where the group was missing.
65085         Problem reported by Greg Schafer.
65086         * modules/idcache: Likewise.
65087
65088 2006-11-18  Jim Meyering  <jim@meyering.net>
65089
65090         * check-module (%exempt_header): Add exception for some
65091         conditionally-included headers.
65092
65093         * modules/i-ring (Depends-on): Add verify.
65094         (License): Change to LGPL.
65095
65096 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
65097
65098         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
65099         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
65100         and inttostr.h.  Use snprintf rather than uinttostr, so that
65101         LGPLed code doesn't depend on GPLed.
65102
65103 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
65104
65105         * modules/inline (License): Change from GPL to LGPL.
65106
65107 2006-11-17  Jim Meyering  <jim@meyering.net>
65108
65109         * modules/d-type (License): Switch to LGPL.
65110
65111 2006-11-15  Bruno Haible  <bruno@clisp.org>
65112
65113         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
65114
65115 2006-11-15  Eric Blake  <ebb9@byu.net>
65116
65117         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
65118         the module dependency.
65119
65120 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65121             Bruno Haible  <bruno@clisp.org>
65122
65123         * gnulib-tool (func_create_testdir): Add license consistency check.
65124
65125 2006-11-15  Eric Blake  <ebb9@byu.net>
65126
65127         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
65128         random "(cached)" in configure output.
65129
65130 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65131
65132         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
65133         test for conforming inttypes.h is both announced and cached.
65134
65135         * MODULES.html.sh (seen_modules, seen_files): New variables.
65136         (func_module): Rewrite to use a few less gnulib-tool and sed
65137         invocations.  Avoid a couple of quadratic algorithms for ...
65138         (missed_modules, missed_files): ... these, with ...
65139         (func_append, func_tmpdir): ... these new functions, from
65140         gnulib-tool.  Analogously, install traps for cleanup.
65141
65142         * tests/test-gc.c (main): Remove unused variables.
65143         * tests/test-read-file.c: Include stdlib.h, for 'free'.
65144
65145 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
65146
65147         * modules/inttostr (License): Change to LGPL.
65148
65149 2006-11-14  Eric Blake  <ebb9@byu.net>
65150
65151         * modules/tempname (License): Change to LGPL.
65152
65153 2006-11-14  Eric Blake  <ebb9@byu.net>
65154
65155         * doc/functions.texi (Function Portability): *printf functions on
65156         Cygwin now understand all POSIX size specifiers.
65157
65158 2006-11-14  Bruno Haible  <bruno@clisp.org>
65159
65160         * modules/c-ctype (License): Change to LGPL.
65161
65162 2006-11-12  Bruno Haible  <bruno@clisp.org>
65163
65164         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
65165         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
65166         for GNOME libraries, for which the include files are installed in
65167         subdirectories of $prefix/include.
65168
65169 2006-11-12  Bruno Haible  <bruno@clisp.org>
65170
65171         * m4/lib-link.m4: Require at least autoconf-2.54.
65172         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
65173         name to underscores for the --with option.
65174
65175 2006-11-13  Bruno Haible  <bruno@clisp.org>
65176
65177         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
65178         the tests directory.
65179         Reported by Ralf Wildenhues.
65180
65181 2006-11-13  Bruno Haible  <bruno@clisp.org>
65182
65183         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
65184         (func_emit_initmacro_end): Undo the override here.
65185         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
65186         Works around the famous automake error in coreutils.
65187
65188 2006-11-13  Eric Blake  <ebb9@byu.net>
65189
65190         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
65191         element, not its node.
65192
65193 2006-11-12  Bruno Haible  <bruno@clisp.org>
65194
65195         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
65196         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
65197
65198 2006-11-12  Bruno Haible  <bruno@clisp.org>
65199
65200         * gnulib-tool: New option --local-symlink.
65201         (func_usage): Document it.
65202         (lsymbolic): New variable.
65203         (func_import, func_create_testdir): If --symlink was not specified,
65204         test whether --local-symlink was specified and the file comes from
65205         the local_gnulib_dir.
65206
65207 2006-11-12  Bruno Haible  <bruno@clisp.org>
65208
65209         * gnulib-tool (func_ln): New function.
65210         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
65211
65212 2006-11-12  Bruno Haible  <bruno@clisp.org>
65213
65214         Finish support for source files in subdirectories.
65215         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
65216         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
65217         AUTOMAKE_OPTIONS.
65218         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
65219
65220 2006-11-12  Bruno Haible  <bruno@clisp.org>
65221
65222         * gnulib-tool (func_get_automake_snippet): Synthesize also an
65223         EXTRA_lib_SOURCES augmentation.
65224         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
65225
65226 2006-11-12  Jim Meyering  <jim@meyering.net>
65227
65228         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
65229         file descriptors.  This also averts a failure on systems with
65230         native openat support when a traversed directory lacks "x" access.
65231         * lib/fts_.h: Include "i-ring.h"
65232         (struct FTS) [fts_fd_ring]: New member.
65233         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
65234         (FCHDIR): Add parentheses.
65235         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
65236         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
65237         When descending, rather than simply closing the previous
65238         fts_cwd_fd value, push that file descriptor onto the ring.
65239         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
65240         (fts_open): Initialize the new fd_ring member.
65241         (fts_close): Clear the ring.
65242         (fts_safe_changedir): When possible, use our new fd_ring to skip
65243         the diropen and fstat and dev/ino comparison that would normally
65244         accompany a virtual `chdir ("..")'.
65245
65246         * modules/fts (Depends-on): Add i-ring.
65247         * modules/i-ring: New module.
65248         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
65249         * m4/i-ring.m4: New file.
65250
65251 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65252
65253         * gnulib-tool (func_create_testdir): Fix replacement of
65254         `build-aux' in configure.ac.  Run autotools in gltests
65255         subdirectory.
65256         (func_create_testdir, func_create_megatestdir, test): There is
65257         no need for '--force' in most autotool invocations in a new
65258         tree.  Actually fail the whole test if any of the tools, or the
65259         configure or make stages fail.
65260
65261         Sync from Automake.
65262         * build-aux/gnupload: Revert last change.  Add pointer to upload
65263         instructions of the GNU Maintenance Instructions.
65264         Suggestion by Karl Berry.
65265
65266 2006-11-10  Jim Meyering  <jim@meyering.net>
65267
65268         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
65269
65270 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65271
65272         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
65273         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
65274         (bind_textdomain_codeset) [! ENABLE_NLS]:
65275         Evaluate all the arguments.  That way, callers get compatible behavior
65276         if the arguments have side effects.  Also, it avoids some GCC
65277         diagnostics in some cases; Joel E. Denny reported problems when Bison
65278         was configured with --enable-gcc-warnigs.
65279
65280 2006-11-10  Jim Meyering  <jim@meyering.net>
65281
65282         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
65283         relevant options in CFLAGS (like -O, -fno-inline) are taken into
65284         account.
65285
65286 2006-11-10  Jim Meyering  <jim@meyering.net>
65287
65288         * modules/inline: New file/module.
65289         * modules/xalloc (Files): Remove m4/inline.m4.
65290         (Depends-on): Add inline, instead.
65291         * modules/oset: Likewise.
65292         * modules/list: Likewise.
65293
65294 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65295
65296         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
65297         Problem reported by Matthew Woehlke.
65298
65299 2006-11-09  Bruno Haible  <bruno@clisp.org>
65300
65301         * lib/tempname.c (gen_tempname): Remove variant that invokes
65302         __gen_tempname.
65303         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
65304         __gen_tempname.
65305
65306 2006-11-08  Bruno Haible  <bruno@clisp.org>
65307
65308         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
65309         to 'yes' instead of 'cross-compiling'.
65310
65311 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
65312
65313         * lib/quotearg.h (quotearg_free): New decl.
65314         * lib/quotearg.c (quotearg_free): New function.
65315         (slot0, nslots, slotvec0, slotvec):
65316         Now file-scope so that quotearg_free can get at them.
65317
65318 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65319
65320         Sync from Automake.
65321         * build-aux/gnupload: Add missing 'gnu' to example URL.
65322         Report by Karl Berry.
65323
65324 2006-11-08  Bruno Haible  <bruno@clisp.org>
65325
65326         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
65327         Suggested by Paul Eggert.
65328
65329 2006-11-08  Jim Meyering  <jim@meyering.net>
65330
65331         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
65332         It's already included if !_LIBC.
65333         (fts_safe_changedir): Add a comment.
65334
65335 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65336
65337         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
65338         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
65339         Matthew Woehlke.
65340
65341         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
65342         definitions up, to avoid colliding with change below.
65343         (static_inline) [HAVE_INLINE]: New macro.
65344         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
65345         Provide extern decls when !HAVE_INLINE.  Do not define unless
65346         static_inline is defined, either by us or by xmalloc.c.  Use
65347         static_inline rather than static inline.
65348         (XCALLOC): Optimize sizeof(T) = 1 case.
65349         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
65350
65351 2006-11-07  Bruno Haible  <bruno@clisp.org>
65352
65353         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
65354         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
65355         AC_C_INLINE.
65356         * modules/xalloc (Files): Add m4/inline.m4.
65357
65358 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65359
65360         * README: Fix typo.
65361         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
65362         (Miscellanous Notes): ...from this.
65363
65364 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65365
65366         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
65367         Mention that offsetof should be used instead of sizeof.
65368         From Bruno Haible.
65369
65370 2006-11-07  Bruno Haible  <bruno@clisp.org>
65371
65372         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
65373
65374 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65375
65376         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65377         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
65378         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65379         (gl_tree_add_before, gl_tree_add_after):
65380         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
65381         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
65382         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65383         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
65384         (gl_linked_add_after, gl_linked_add_at): Likewise.
65385         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
65386         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65387         (gl_tree_add_before, gl_tree_add_after): Likewise.
65388         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
65389         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
65390         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
65391
65392 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65393
65394         * lib/gl_oset.h: Use C comment style, not C++ comment style.
65395
65396 2006-11-06  Bruno Haible  <bruno@clisp.org>
65397
65398         * m4/inline.m4: New file.
65399         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
65400         * modules/list (Files): Add m4/inline.m4.
65401         * modules/oset (Files): Likewise.
65402
65403 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65404
65405         * lib/idcache.c: Include <stddef.h>, for offsetof.
65406         (struct userid.name): Change from char * to a flexible array member.
65407         All uses changed.
65408         * modules/idcache (Depends-on): Add flexmember.
65409
65410         * MODULES.html.sh (Core language properties): New module flexmember.
65411         * modules/flexmember, m4/flexmember.m4: New files.
65412
65413         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
65414         inline functions that are identical with the old xnmalloc_inline,
65415         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
65416         that we can avoid some unnecessary integer multiplications and
65417         divisions in the common case where the element size is known at
65418         compile time.
65419         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
65420         needed.
65421         (xnboundedmalloc): Remove.
65422         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
65423         arguments, for consistency with rest of this header.
65424         (xcharalloc): Rewrite using XNMALLOC.
65425         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
65426         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
65427         versions have been moved to lib/xalloc.h and renamed to be the
65428         non-*_inline versions.
65429         (xmalloc, xrealloc): Implement without reference to the xnmalloc
65430         and xnrealloc functions, since those functions are now inline and
65431         now call us.
65432         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
65433         renaming described above.
65434         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
65435         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
65436         captures the dependency in AC_C_INLINE.
65437
65438         New module canonicalize-lgpl, proposed by Charles Wilson in
65439         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
65440         with a few small changes afterwards.
65441         * MODULES.html.sh (File system functions): New module
65442         canonicalize-lgpl.
65443         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
65444         and canonicalize_file_name.
65445         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
65446         * modules/canonicalize-lgpl: New files.
65447
65448 2006-11-05  Bruno Haible  <bruno@clisp.org>
65449
65450         * gnulib-tool (func_import, func_create_testdir): Create directories
65451         also for files in subdirectories of lib/.
65452
65453 2006-11-05  Bruno Haible  <bruno@clisp.org>
65454
65455         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
65456         ANSI C compliant.
65457
65458 2006-11-03  Bruno Haible  <bruno@clisp.org>
65459
65460         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65461         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
65462         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
65463         (xnboundedmalloc): New inline function.
65464         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
65465         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
65466         xmalloc.
65467         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
65468         xmalloc.
65469         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
65470         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
65471         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
65472         xmalloc.
65473         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65474         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
65475         xmalloc.
65476         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
65477         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65478         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
65479         xmalloc.
65480         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65481         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
65482         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65483         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
65484         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
65485         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
65486         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
65487
65488 2006-11-03  Bruno Haible  <bruno@clisp.org>
65489
65490         * lib/c-ctype.h [C++]: Define functions without name mangling.
65491         * lib/fwriteerror.h [C++]: Likewise.
65492         * lib/gcd.h [C++]: Likewise.
65493         * lib/linebreak.h [C++]: Likewise.
65494
65495 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
65496
65497         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
65498         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
65499         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
65500         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
65501         Check for functions and headers just once.
65502         Check for declaration of canonicalize_file_name.
65503         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
65504
65505 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
65506
65507         * gnulib-tool (func_import): Fix typo in actioncmd.
65508
65509 2006-11-02  Bruno Haible  <bruno@clisp.org>
65510
65511         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
65512         newline sequence in the Makefile.am snippet as a space, like "make"
65513         does.
65514         Reported by Roger Persson <perrog@gmail.com>.
65515
65516 2006-11-01  Bruno Haible  <bruno@clisp.org>
65517
65518         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
65519         already declared in <string.h>.
65520         * lib/strcase.h (strncasecmp): Don't declare it if yes.
65521
65522 2006-11-01  Bruno Haible  <bruno@clisp.org>
65523
65524         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
65525         * lib/strcase.h: Include <string.h>.
65526         (strcasecmp): Define to rpl_strcasecmp here.
65527
65528 2006-11-01  Bruno Haible  <bruno@clisp.org>
65529
65530         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
65531
65532 2006-11-01  Eric Blake  <ebb9@byu.net>
65533
65534         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
65535
65536         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
65537
65538 2006-10-29  Bruno Haible  <bruno@clisp.org>
65539
65540         Make it compile in C++ mode.
65541         * lib/full-write.c (full_rw): Add a cast.
65542
65543 2006-11-01  Bruno Haible  <bruno@clisp.org>
65544
65545         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
65546         be POSIX compliant.
65547         Reported by Roger Persson <perrog@gmail.com>.
65548
65549 2006-11-01  Eric Blake  <ebb9@byu.net>
65550
65551         * lib/getopt_.h: Fix comments.
65552
65553 2006-10-31  Eric Blake  <ebb9@byu.net>
65554
65555         * modules/tmpdir (Depends-on): Add sys_stat.
65556         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
65557         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
65558         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
65559         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
65560         tempname.
65561
65562 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
65563
65564         Avoid some C++ diagnostics reported by Bruno Haible.
65565         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
65566         xmalloc.
65567         (quotearg_alloc): Use xcharalloc rather than xmalloc.
65568         (struct slotvec): Move to top level.
65569         (quotearg_n_options): Rewrite to avoid xmalloc.
65570         * lib/xalloc.h (xcharalloc): New function.
65571         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
65572         [defined __cplusplus]: Add function template that provides result
65573         type propagation.  This part of the change is from Bruno Haible.
65574
65575 2006-10-29  Bruno Haible  <bruno@clisp.org>
65576
65577         Make it compile in C++ mode.
65578         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
65579         * lib/strnlen1.c (strnlen1): Cast memchr result.
65580         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
65581         * lib/clean-temp.c (string_equals, string_hash): Add casts.
65582         (create_temp_dir): Rename local variable 'template'.
65583         (compile_csharp_using_sscli): Add cast.
65584         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
65585         * lib/findprog.c (find_in_path): Likewise.
65586         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
65587         * lib/wait-process.c (register_slave_subprocess): Likewise.
65588
65589 2006-10-22  Bruno Haible  <bruno@clisp.org>
65590
65591         * modules/tsearch: New file.
65592         * lib/tsearch.h: New file.
65593         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
65594         * m4/tsearch.m4: New file.
65595         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
65596
65597 2006-10-29  Eric Blake  <ebb9@byu.net>
65598
65599         * lib/arcfour.c: Assume config.h.
65600         * lib/arctwo.c: Likewise.
65601         * lib/base64.c: Likewise.
65602         * lib/check-version.c: Likewise.
65603         * lib/crc.c: Likewise.
65604         * lib/des.c: Likewise.
65605         * lib/gc-gnulib.c: Likewise.
65606         * lib/gc-libgcrypt.c: Likewise.
65607         * lib/gc-pbkdf2-sha1.c: Likewise.
65608         * lib/getaddrinfo.c: Likewise.
65609         * lib/getdelim.c: Likewise.
65610         * lib/getline.c: Likewise.
65611         * lib/hmac-md5.c: Likewise.
65612         * lib/hmac-sha1.c: Likewise.
65613         * lib/iconvme.c: Likewise.
65614         * lib/md2.c: Likewise.
65615         * lib/md4.c: Likewise.
65616         * lib/memxor.c: Likewise.
65617         * lib/read-file.c: Likewise.
65618         * lib/readline.c: Likewise.
65619         * lib/rijndael-alg-fst.c: Likewise.
65620         * lib/rijndael-api-fst.c: Likewise.
65621         * lib/xgetdomainname.c: Likewise.
65622
65623 2006-10-28  Eric Blake  <ebb9@byu.net>
65624
65625         * lib/xstrndup.c: Assume config.h.
65626
65627 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
65628
65629         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
65630         stat-macros.h is now for our own macros, whereas stat_h is for
65631         macros in the <sys/stat.h> name space.
65632         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
65633         (STAT_MACROS_H): Remove.
65634         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
65635         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
65636         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
65637         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
65638         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
65639         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
65640         Move these macros to ...
65641         * lib/stat_.h: here.  Don't include stat-macros.h.
65642         * lib/canonicalize.c: Don't include stat-macros.h.
65643         * lib/chown.c: Likewise.
65644         * lib/euidaccess.c: Likewise.
65645         * lib/file-type.c: Likewise.
65646         * lib/filemode.c: Likewise.
65647         * lib/glob.c: Likewise.
65648         * lib/isapipe.c: Likewise.
65649         * lib/lchown.c: Likewise.
65650         * lib/lstat.c: Likewise.
65651         * lib/mkdir-p.c: Likewise.
65652         * lib/rmdir.c: Likewise.
65653         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
65654         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
65655         unless mkdir isn't declared, to speed up 'configure'.
65656         Always create sys/stat.h, since it's unlikely any real sys/stat.h
65657         would define all the S_* symbols.
65658         * modules/canonicalize (Depends-on):
65659         Depend on sys_stat, not stat-macros.
65660         * modules/chown: Likewise.
65661         * modules/euidaccess: Likewise.
65662         * modules/filemode: Likewise.
65663         * modules/file-type: Likewise.
65664         * modules/glob: Likewise.
65665         * modules/isapipe: Likewise.
65666         * modules/lchown: Likewise.
65667         * modules/lstat: Likewise.
65668         * modules/mkancesdirs: Likewise.
65669         * modules/rmdir: Likewise.
65670         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
65671         * modules/modechange: Likewise.
65672         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
65673         (configure.ac): Remove gl_STAT_MACROS.
65674         * modules/sys_stat (Depends-on): Remove stat-macros.
65675
65676 2006-10-27  Bruno Haible  <bruno@clisp.org>
65677
65678         * m4/signed.m4: Remove file.
65679         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
65680         invocation.
65681         * modules/vasnprintf (Files): Remove m4/signed.m4.
65682
65683 2006-10-27  Bruno Haible  <bruno@clisp.org>
65684
65685         Update to GNU gettext 0.16.
65686         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
65687         m4/inttypes-h.m4, m4/signed.m4.
65688         * m4/gettext.m4: Update to GNU gettext 0.16.
65689         * m4/intl.m4: New file, from GNU gettext.
65690         * m4/intldir.m4: New file, from GNU gettext.
65691         * config/srclist.txt: Update
65692
65693 2006-10-27  Eric Blake  <ebb9@byu.net>
65694
65695         * MODULES.html.sh: Document tempname.
65696         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
65697         dependencies.
65698         (Files): Move lib/tempname.c...
65699         * modules/tempname: ...to this new module.
65700         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
65701         (gl_PREREQ_TEMPNAME): Move...
65702         * m4/tempname.m4: ...to this new file.
65703         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
65704         * modules/sys_stat (Depends-on): Add stat-macros.
65705         * lib/stat_.h (includes): Pick up stat macros.
65706         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
65707         if stat macros are broken.
65708         * lib/tempname.c (includes): No need to include "stat-macros.h".
65709         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
65710         (direxists, __path_search) [!_LIBC]: Don't compile these in
65711         gnulib; the tmpdir module covers that.
65712         * lib/tempname.h: New file.
65713
65714 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
65715
65716         * COPYING: Explain how gnulib-tool converts licence headers.
65717         Almost all wording by Eric Blake.
65718
65719 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
65720
65721         * lib/mbchar.h (is_basic_table): Make read-only.
65722         * lib/mbchar.c (is_basic_table): Likewise.
65723         Reported by John Darrington.
65724
65725 2006-10-25  Bruno Haible  <bruno@clisp.org>
65726
65727         * lib/progname.h (set_program_name): Undefine before defining.
65728
65729 2006-10-25  Bruno Haible  <bruno@clisp.org>
65730
65731         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
65732         false for non-gcc C++ compilers.
65733         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
65734
65735 2006-10-24  Bruno Haible  <bruno@clisp.org>
65736
65737         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
65738         iconv implementations like Irix iconv.
65739
65740 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65741
65742         * modules/vararrays: New file.
65743         * m4/vararrays.m4: New file, taken from diffutils.
65744         * MODULES.html.sh: New module vararrays.
65745
65746 2006-10-24  Karl Berry  <karl@gnu.org>
65747
65748         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
65749         Don't call GNU Unix.
65750
65751 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65752
65753         * users.txt: Add Libtool.
65754
65755         Sync from Libtool:
65756
65757         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65758
65759         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
65760         to gnulib's policy of including config.h unconditionally.
65761
65762 2006-10-24  Bruno Haible  <bruno@clisp.org>
65763
65764         * modules/wcwidth (Files): Add m4/wint_t.m4.
65765         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
65766         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
65767
65768 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65769
65770         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
65771         to pacify GCC with some -W flags enabled.  Problem reported by
65772         Bruno Haible.
65773
65774 2006-10-24  Jim Meyering  <jim@meyering.net>
65775
65776         * MODULES.html.sh: Remove uinttostr.  It's not a module.
65777         Reported by Karl Berry.
65778
65779 2006-10-23  Bruno Haible  <bruno@clisp.org>
65780
65781         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
65782
65783 2006-10-24  Bruno Haible  <bruno@clisp.org>
65784
65785         * lib/gl_list.h: Use C comment style, not C++ comment style.
65786
65787 2006-10-23  Eric Blake  <ebb9@byu.net>
65788
65789         * lib/getaddrinfo.c (includes): Add missing include.
65790
65791 2006-10-23  Bruno Haible  <bruno@clisp.org>
65792             Paul Eggert  <eggert@cs.ucla.edu>
65793
65794         Ability to rename obstack_free.
65795         * lib/obstack.h (__obstack_free): New macro. Declare instead of
65796         obstack_free.
65797         (obstack_free): Invoke the __obstack_free macro.
65798         * lib/obstack.c (obstack_free): Use __obstack_free macro.
65799
65800 2006-10-23  Bruno Haible  <bruno@clisp.org>
65801             Paul Eggert  <eggert@cs.ucla.edu>
65802
65803         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
65804         __argc, __argv from the declaration. (They are defined as macros on
65805         mingw.)
65806
65807 2006-10-22  Bruno Haible  <bruno@clisp.org>
65808
65809         * doc/gnulib-intro.texi: New file.
65810         * doc/gnulib.texi: Include it.
65811
65812 2006-10-21  Bruno Haible  <bruno@clisp.org>
65813
65814         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
65815         "Introduction", "Miscellanous Notes", "Particular Modules".
65816
65817 2006-10-21  Bruno Haible  <bruno@clisp.org>
65818
65819         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65820         Change mostlyclean-local rule to avoid sh syntax error from bash
65821         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
65822
65823 2006-10-23  Jim Meyering  <jim@meyering.net>
65824
65825         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
65826         in place of snprintf.
65827
65828         * modules/inttostr (Files): Add lib/uinttostr.c.
65829         * lib/uinttostr.c (inttostr): New file/function.
65830         * lib/inttostr.h (uinttostr): Declare.
65831         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
65832         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
65833         Add uinttostr.
65834         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
65835
65836 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
65837
65838         * lib/canonicalize.c (ELOOP): Define if not already defined.
65839         Problem reported by Bruno Haible in
65840         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
65841
65842 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
65843
65844         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
65845         Problem reported by Perry Smith and Ville Laurikari.
65846
65847         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
65848         uses.
65849
65850 2006-10-19  Bruno Haible  <bruno@clisp.org>
65851
65852         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
65853         for mingw.
65854
65855 2006-10-19  Bruno Haible  <bruno@clisp.org>
65856
65857         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
65858         Needed for mingw.
65859
65860 2006-10-19  Bruno Haible  <bruno@clisp.org>
65861
65862         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
65863
65864 2006-10-19  Bruno Haible  <bruno@clisp.org>
65865
65866         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
65867         it.
65868
65869 2006-10-19  Bruno Haible  <bruno@clisp.org>
65870
65871         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
65872         invocation.
65873
65874 2006-10-19  Bruno Haible  <bruno@clisp.org>
65875
65876         * gnulib-tool (func_create_testdir): Don't include ftruncate and
65877         mountlist by default.
65878
65879 2006-10-16  Bruno Haible  <bruno@clisp.org>
65880
65881         * lib/c-strstr.c: Include c-strstr.h.
65882
65883 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
65884
65885         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
65886         in a slash.
65887
65888 2006-10-18  Bruno Haible  <bruno@clisp.org>
65889
65890         * lib/lock.h [C++]: Wrap definitions in extern "C".
65891
65892 2006-10-18  Bruno Haible  <bruno@clisp.org>
65893
65894         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
65895         gl_LIBOBJS list.
65896
65897 2006-10-18  Bruno Haible  <bruno@clisp.org>
65898
65899         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
65900
65901 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
65902
65903         * lib/xstrtol.h: Include gettext.h.
65904         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
65905         Problem reported by Eric Blake.
65906         * modules/xstrtol (Depends-on): Add gettext-h.
65907
65908 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
65909
65910         * lib/strftime.c (advance): New macro.
65911         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
65912         incomplete type, so you can't add 0 to it.  Problem and patch
65913         reported by Eelco Dolstra for dietlibc.
65914
65915 2006-10-18  Jim Meyering  <jim@meyering.net>
65916
65917         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
65918         type for a local, and rename it: s/up/user_proc/.
65919
65920 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
65921
65922         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
65923         READ_UTMP_USER_PROCESS.
65924         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
65925
65926 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
65927
65928         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
65929         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
65930
65931 2006-10-17  Eric Blake  <ebb9@byu.net>
65932
65933         * lib/sigprocmask.c (sigprocmask): Fix typo.
65934
65935         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
65936
65937         * modules/clean-temp (Makefile.am): Don't add to make output...
65938         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
65939         config.h.
65940
65941 2006-10-17  Bruno Haible  <bruno@clisp.org>
65942
65943         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
65944         differently if DEFAULT_TEXT_DOMAIN is set.
65945
65946 2006-10-16  Bruno Haible  <bruno@clisp.org>
65947
65948         * lib/clean-temp.c: Include fwriteerror.h.
65949
65950 2006-10-16  Bruno Haible  <bruno@clisp.org>
65951
65952         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
65953
65954 2006-10-16  Bruno Haible  <bruno@clisp.org>
65955
65956         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
65957         * lib/sigprocmask.h: Include <sys/types.h>.
65958         (sigset_t): Use the system's definition if present.
65959
65960 2006-10-17  Eric Blake  <ebb9@byu.net>
65961
65962         * lib/xvasprintf.c (includes): Assume config.h.
65963         * lib/xasprintf.c (includes): Likewise.
65964
65965 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65966
65967         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
65968         at least as wide as intmax_t.
65969
65970 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
65971
65972         (Imported from Automake.)
65973         * build-aux/gnupload: Update to version 1.1 of directive file.
65974
65975 2006-10-16  Eric Blake  <ebb9@byu.net>
65976
65977         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
65978         match Automake 1.10a.
65979
65980 2006-10-14  Bruno Haible  <bruno@clisp.org>
65981
65982         * modules/sigprocmask: New file.
65983         * lib/sigprocmask.h: New file.
65984         * lib/sigprocmask.c: New file.
65985         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
65986         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
65987         request sigprocmask.o.
65988         (gl_PREREQ_SIGPROCMASK): New macro.
65989         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
65990         (Depends-on): Add sigprocmask.
65991         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
65992         gt_SIGNALBLOCKING. Test for 'raise' only once.
65993         * lib/fatal-signal.c: Include sigprocmask.h.
65994         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
65995         unblock_fatal_signals): Define always.
65996         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65997         sigprocmask.
65998
65999 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66000
66001         Sync from Automake.
66002         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
66003         which incorrectly sets the mode of an existing destination
66004         directory.  In some cases the unpatched install-sh could do the
66005         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
66006         system.  We hope this is rare in practice, but it's clearly worth
66007         fixing.  Problem reported by Alex Unleashed in
66008         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
66009         Also, don't bother to check for -m bugs unless we're using -m;
66010         suggested by Stepan Kasal.
66011
66012 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66013
66014         Sync from Automake.
66015         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
66016         `-c' flag, so they appear at the same position as in %FASTDEP%
66017         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
66018         which ignores unknown options only after the first non-option.
66019         Bug report against M4 by Nelson H. F. Beebe.
66020
66021 2006-10-13  Jim Meyering  <jim@meyering.net>
66022
66023         Fix a bug in yesterday's change.
66024         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
66025         p->fts_statp->st_dev would be used uninitialized.
66026         Ensures that we always call fts_stat on the very first entry.
66027         Miklos Szeredi reported that find -xdev stopped working.
66028
66029 2006-10-12  Bruno Haible  <bruno@clisp.org>
66030
66031         * gnulib-tool (func_get_automake_snippet): Append an automatically
66032         computed EXTRA_DIST augmentation.
66033         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
66034         * modules/alloca-opt (Makefile.am): Likewise.
66035         * modules/allocsa (Makefile.am): Likewise.
66036         * modules/arcfour (Makefile.am): Likewise.
66037         * modules/arctwo (Makefile.am): Likewise.
66038         * modules/argmatch (Makefile.am): Likewise.
66039         * modules/argz (Makefile.am): Likewise.
66040         * modules/atexit (Makefile.am): Likewise.
66041         * modules/backupfile (Makefile.am): Likewise.
66042         * modules/byteswap (Makefile.am): Likewise.
66043         * modules/c-strtod (Makefile.am): Likewise.
66044         * modules/c-strtold (Makefile.am): Likewise.
66045         * modules/calloc (Makefile.am): Likewise.
66046         * modules/canon-host (Makefile.am): Likewise.
66047         * modules/canonicalize (Makefile.am): Likewise.
66048         * modules/chdir-long (Makefile.am): Likewise.
66049         * modules/chdir-safer (Makefile.am): Likewise.
66050         * modules/check-version (Makefile.am): Likewise.
66051         * modules/chown (Makefile.am): Likewise.
66052         * modules/cloexec (Makefile.am): Likewise.
66053         * modules/close-stream (Makefile.am): Likewise.
66054         * modules/closeout (Makefile.am): Likewise.
66055         * modules/crc (Makefile.am): Likewise.
66056         * modules/csharpexec (Makefile.am): Likewise.
66057         * modules/cycle-check (Makefile.am): Likewise.
66058         * modules/des (Makefile.am): Likewise.
66059         * modules/dev-ino (Makefile.am): Likewise.
66060         * modules/dirfd (Makefile.am): Likewise.
66061         * modules/dirname (Makefile.am): Likewise.
66062         * modules/dup2 (Makefile.am): Likewise.
66063         * modules/eealloc (Makefile.am): Likewise.
66064         * modules/error (Makefile.am): Likewise.
66065         * modules/euidaccess (Makefile.am): Likewise.
66066         * modules/exclude (Makefile.am): Likewise.
66067         * modules/exitfail (Makefile.am): Likewise.
66068         * modules/fcntl-safer (Makefile.am): Likewise.
66069         * modules/fcntl (Makefile.am): Likewise.
66070         * modules/file-type (Makefile.am): Likewise.
66071         * modules/fileblocks (Makefile.am): Likewise.
66072         * modules/filemode (Makefile.am): Likewise.
66073         * modules/filenamecat (Makefile.am): Likewise.
66074         * modules/fnmatch (Makefile.am): Likewise.
66075         * modules/fopen-safer (Makefile.am): Likewise.
66076         * modules/fpending (Makefile.am): Likewise.
66077         * modules/fprintftime (Makefile.am): Likewise.
66078         * modules/free (Makefile.am): Likewise.
66079         * modules/fsusage (Makefile.am): Likewise.
66080         * modules/ftruncate (Makefile.am): Likewise.
66081         * modules/fts (Makefile.am): Likewise.
66082         * modules/gc-arcfour (Makefile.am): Likewise.
66083         * modules/gc-des (Makefile.am): Likewise.
66084         * modules/gc-hmac-md5 (Makefile.am): Likewise.
66085         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
66086         * modules/gc-md4 (Makefile.am): Likewise.
66087         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66088         * modules/gc-sha1 (Makefile.am): Likewise.
66089         * modules/gc (Makefile.am): Likewise.
66090         * modules/getaddrinfo (Makefile.am): Likewise.
66091         * modules/getcwd (Makefile.am): Likewise.
66092         * modules/getdelim (Makefile.am): Likewise.
66093         * modules/getdomainname (Makefile.am): Likewise.
66094         * modules/getgroups (Makefile.am): Likewise.
66095         * modules/gethostname (Makefile.am): Likewise.
66096         * modules/gethrxtime (Makefile.am): Likewise.
66097         * modules/getline (Makefile.am): Likewise.
66098         * modules/getloadavg (Makefile.am): Likewise.
66099         * modules/getlogin_r (Makefile.am): Likewise.
66100         * modules/getndelim2 (Makefile.am): Likewise.
66101         * modules/getopt (Makefile.am): Likewise.
66102         * modules/getpagesize (Makefile.am): Likewise.
66103         * modules/getpass-gnu (Makefile.am): Likewise.
66104         * modules/getpass (Makefile.am): Likewise.
66105         * modules/getsubopt (Makefile.am): Likewise.
66106         * modules/gettime (Makefile.am): Likewise.
66107         * modules/gettimeofday (Makefile.am): Likewise.
66108         * modules/getugroups (Makefile.am): Likewise.
66109         * modules/getusershell (Makefile.am): Likewise.
66110         * modules/glob (Makefile.am): Likewise.
66111         * modules/group-member (Makefile.am): Likewise.
66112         * modules/hard-locale (Makefile.am): Likewise.
66113         * modules/hash (Makefile.am): Likewise.
66114         * modules/hmac-md5 (Makefile.am): Likewise.
66115         * modules/hmac-sha1 (Makefile.am): Likewise.
66116         * modules/human (Makefile.am): Likewise.
66117         * modules/idcache (Makefile.am): Likewise.
66118         * modules/imaxabs (Makefile.am): Likewise.
66119         * modules/imaxdiv (Makefile.am): Likewise.
66120         * modules/inet_ntop (Makefile.am): Likewise.
66121         * modules/inet_pton (Makefile.am): Likewise.
66122         * modules/intprops (Makefile.am): Likewise.
66123         * modules/inttostr (Makefile.am): Likewise.
66124         * modules/inttypes (Makefile.am): Likewise.
66125         * modules/isapipe (Makefile.am): Likewise.
66126         * modules/javaversion (Makefile.am): Likewise.
66127         * modules/lchmod (Makefile.am): Likewise.
66128         * modules/lchown (Makefile.am): Likewise.
66129         * modules/localcharset (Makefile.am): Likewise.
66130         * modules/long-options (Makefile.am): Likewise.
66131         * modules/lstat (Makefile.am): Likewise.
66132         * modules/malloc (Makefile.am): Likewise.
66133         * modules/mathl (Makefile.am): Likewise.
66134         * modules/mbchar (Makefile.am): Likewise.
66135         * modules/md2 (Makefile.am): Likewise.
66136         * modules/md4 (Makefile.am): Likewise.
66137         * modules/md5 (Makefile.am): Likewise.
66138         * modules/memcasecmp (Makefile.am): Likewise.
66139         * modules/memchr (Makefile.am): Likewise.
66140         * modules/memcmp (Makefile.am): Likewise.
66141         * modules/memcoll (Makefile.am): Likewise.
66142         * modules/memcpy (Makefile.am): Likewise.
66143         * modules/memmem (Makefile.am): Likewise.
66144         * modules/memmove (Makefile.am): Likewise.
66145         * modules/mempcpy (Makefile.am): Likewise.
66146         * modules/memrchr (Makefile.am): Likewise.
66147         * modules/memset (Makefile.am): Likewise.
66148         * modules/memxor (Makefile.am): Likewise.
66149         * modules/mkancesdirs (Makefile.am): Likewise.
66150         * modules/mkdir-p (Makefile.am): Likewise.
66151         * modules/mkdir (Makefile.am): Likewise.
66152         * modules/mkdtemp (Makefile.am): Likewise.
66153         * modules/mkstemp (Makefile.am): Likewise.
66154         * modules/mktime (Makefile.am): Likewise.
66155         * modules/modechange (Makefile.am): Likewise.
66156         * modules/mountlist (Makefile.am): Likewise.
66157         * modules/nanosleep (Makefile.am): Likewise.
66158         * modules/obstack (Makefile.am): Likewise.
66159         * modules/openat (Makefile.am): Likewise.
66160         * modules/pagealign_alloc (Makefile.am): Likewise.
66161         * modules/pathmax (Makefile.am): Likewise.
66162         * modules/physmem (Makefile.am): Likewise.
66163         * modules/poll (Makefile.am): Likewise.
66164         * modules/posixtm (Makefile.am): Likewise.
66165         * modules/posixver (Makefile.am): Likewise.
66166         * modules/putenv (Makefile.am): Likewise.
66167         * modules/quote (Makefile.am): Likewise.
66168         * modules/quotearg (Makefile.am): Likewise.
66169         * modules/raise (Makefile.am): Likewise.
66170         * modules/read-file (Makefile.am): Likewise.
66171         * modules/readline (Makefile.am): Likewise.
66172         * modules/readlink (Makefile.am): Likewise.
66173         * modules/readtokens (Makefile.am): Likewise.
66174         * modules/readutmp (Makefile.am): Likewise.
66175         * modules/realloc (Makefile.am): Likewise.
66176         * modules/regex (Makefile.am): Likewise.
66177         * modules/rename-dest-slash (Makefile.am): Likewise.
66178         * modules/rename (Makefile.am): Likewise.
66179         * modules/rijndael (Makefile.am): Likewise.
66180         * modules/rmdir (Makefile.am): Likewise.
66181         * modules/rpmatch (Makefile.am): Likewise.
66182         * modules/safe-read (Makefile.am): Likewise.
66183         * modules/safe-write (Makefile.am): Likewise.
66184         * modules/same-inode (Makefile.am): Likewise.
66185         * modules/same (Makefile.am): Likewise.
66186         * modules/save-cwd (Makefile.am): Likewise.
66187         * modules/savedir (Makefile.am): Likewise.
66188         * modules/setenv (Makefile.am): Likewise.
66189         * modules/settime (Makefile.am): Likewise.
66190         * modules/sha1 (Makefile.am): Likewise.
66191         * modules/sig2str (Makefile.am): Likewise.
66192         * modules/snprintf (Makefile.am): Likewise.
66193         * modules/stat-macros (Makefile.am): Likewise.
66194         * modules/stat-time (Makefile.am): Likewise.
66195         * modules/stdbool (Makefile.am): Likewise.
66196         * modules/stdint (Makefile.am): Likewise.
66197         * modules/stdlib-safer (Makefile.am): Likewise.
66198         * modules/stpcpy (Makefile.am): Likewise.
66199         * modules/stpncpy (Makefile.am): Likewise.
66200         * modules/strcase (Makefile.am): Likewise.
66201         * modules/strcasestr (Makefile.am): Likewise.
66202         * modules/strchrnul (Makefile.am): Likewise.
66203         * modules/strcspn (Makefile.am): Likewise.
66204         * modules/strdup (Makefile.am): Likewise.
66205         * modules/strerror (Makefile.am): Likewise.
66206         * modules/strftime (Makefile.am): Likewise.
66207         * modules/strndup (Makefile.am): Likewise.
66208         * modules/strnlen (Makefile.am): Likewise.
66209         * modules/strpbrk (Makefile.am): Likewise.
66210         * modules/strsep (Makefile.am): Likewise.
66211         * modules/strstr (Makefile.am): Likewise.
66212         * modules/strtod (Makefile.am): Likewise.
66213         * modules/strtoimax (Makefile.am): Likewise.
66214         * modules/strtok_r (Makefile.am): Likewise.
66215         * modules/strtol (Makefile.am): Likewise.
66216         * modules/strtoll (Makefile.am): Likewise.
66217         * modules/strtoul (Makefile.am): Likewise.
66218         * modules/strtoull (Makefile.am): Likewise.
66219         * modules/strtoumax (Makefile.am): Likewise.
66220         * modules/strverscmp (Makefile.am): Likewise.
66221         * modules/sys_socket (Makefile.am): Likewise.
66222         * modules/sys_stat (Makefile.am): Likewise.
66223         * modules/sysexits (Makefile.am): Likewise.
66224         * modules/time_r (Makefile.am): Likewise.
66225         * modules/timegm (Makefile.am): Likewise.
66226         * modules/timespec (Makefile.am): Likewise.
66227         * modules/tmpfile-safer (Makefile.am): Likewise.
66228         * modules/trim (Makefile.am): Likewise.
66229         * modules/unistd-safer (Makefile.am): Likewise.
66230         * modules/unlinkdir (Makefile.am): Likewise.
66231         * modules/unlocked-io (Makefile.am): Likewise.
66232         * modules/userspec (Makefile.am): Likewise.
66233         * modules/utime (Makefile.am): Likewise.
66234         * modules/utimecmp (Makefile.am): Likewise.
66235         * modules/utimens (Makefile.am): Likewise.
66236         * modules/vasnprintf (Makefile.am): Likewise.
66237         * modules/vasprintf (Makefile.am): Likewise.
66238         * modules/vsnprintf (Makefile.am): Likewise.
66239         * modules/xalloc (Makefile.am): Likewise.
66240         * modules/xgetcwd (Makefile.am): Likewise.
66241         * modules/xnanosleep (Makefile.am): Likewise.
66242         * modules/xreadlink (Makefile.am): Likewise.
66243         * modules/xstrtod (Makefile.am): Likewise.
66244         * modules/xstrtol (Makefile.am): Likewise.
66245         * modules/xstrtold (Makefile.am): Likewise.
66246         * modules/yesno (Makefile.am): Likewise.
66247         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
66248
66249 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66250
66251         * modules/error (Makefile.am): Distribute files through
66252         EXTRA_DIST, not lib_SOURCES.
66253
66254 2006-10-12  Eric Blake  <ebb9@byu.net>
66255
66256         * modules/error (Makefile.am): Distribute files in /lib.
66257         * modules/obstack (Makefile.am): Likewise.
66258
66259 2006-10-12  Bruno Haible  <bruno@clisp.org>
66260
66261         * modules/acl (Makefile.am): Distribute all files in lib/ through
66262         EXTRA_DIST.
66263         * modules/arcfour (Makefile.am): Likewise.
66264         * modules/arctwo (Makefile.am): Likewise.
66265         * modules/argmatch (Makefile.am): Likewise.
66266         * modules/argz (Makefile.am): Likewise.
66267         * modules/atexit (Makefile.am): Likewise.
66268         * modules/backupfile (Makefile.am): Likewise.
66269         * modules/c-strtod (Makefile.am): Likewise.
66270         * modules/c-strtold (Makefile.am): Likewise.
66271         * modules/calloc (Makefile.am): Likewise.
66272         * modules/canon-host (Makefile.am): Likewise.
66273         * modules/canonicalize (Makefile.am): Likewise.
66274         * modules/chdir-long (Makefile.am): Likewise.
66275         * modules/chdir-safer (Makefile.am): Likewise.
66276         * modules/check-version (Makefile.am): Likewise.
66277         * modules/chown (Makefile.am): Likewise.
66278         * modules/cloexec (Makefile.am): Likewise.
66279         * modules/close-stream (Makefile.am): Likewise.
66280         * modules/closeout (Makefile.am): Likewise.
66281         * modules/crc (Makefile.am): Likewise.
66282         * modules/cycle-check (Makefile.am): Likewise.
66283         * modules/des (Makefile.am): Likewise.
66284         * modules/dirfd (Makefile.am): Likewise.
66285         * modules/dirname (Makefile.am): Likewise.
66286         * modules/dup2 (Makefile.am): Likewise.
66287         * modules/euidaccess (Makefile.am): Likewise.
66288         * modules/exclude (Makefile.am): Likewise.
66289         * modules/exitfail (Makefile.am): Likewise.
66290         * modules/fcntl-safer (Makefile.am): Likewise.
66291         * modules/file-type (Makefile.am): Likewise.
66292         * modules/fileblocks (Makefile.am): Likewise.
66293         * modules/filemode (Makefile.am): Likewise.
66294         * modules/filenamecat (Makefile.am): Likewise.
66295         * modules/fnmatch (Makefile.am): Likewise.
66296         * modules/fopen-safer (Makefile.am): Likewise.
66297         * modules/fpending (Makefile.am): Likewise.
66298         * modules/fprintftime (Makefile.am): Likewise.
66299         * modules/free (Makefile.am): Likewise.
66300         * modules/fsusage (Makefile.am): Likewise.
66301         * modules/ftruncate (Makefile.am): Likewise.
66302         * modules/fts (Makefile.am): Likewise.
66303         * modules/gc (Makefile.am): Likewise.
66304         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66305         * modules/getaddrinfo (Makefile.am): Likewise.
66306         * modules/getcwd (Makefile.am): Likewise.
66307         * modules/getdelim (Makefile.am): Likewise.
66308         * modules/getdomainname (Makefile.am): Likewise.
66309         * modules/getgroups (Makefile.am): Likewise.
66310         * modules/gethostname (Makefile.am): Likewise.
66311         * modules/gethrxtime (Makefile.am): Likewise.
66312         * modules/getline (Makefile.am): Likewise.
66313         * modules/getloadavg (Makefile.am): Likewise.
66314         * modules/getlogin_r (Makefile.am): Likewise.
66315         * modules/getopt (Makefile.am): Likewise.
66316         * modules/getpass (Makefile.am): Likewise.
66317         * modules/getpass-gnu (Makefile.am): Likewise.
66318         * modules/getsubopt (Makefile.am): Likewise.
66319         * modules/gettime (Makefile.am): Likewise.
66320         * modules/gettimeofday (Makefile.am): Likewise.
66321         * modules/getugroups (Makefile.am): Likewise.
66322         * modules/getusershell (Makefile.am): Likewise.
66323         * modules/glob (Makefile.am): Likewise.
66324         * modules/group-member (Makefile.am): Likewise.
66325         * modules/hard-locale (Makefile.am): Likewise.
66326         * modules/hash (Makefile.am): Likewise.
66327         * modules/hmac-md5 (Makefile.am): Likewise.
66328         * modules/hmac-sha1 (Makefile.am): Likewise.
66329         * modules/human (Makefile.am): Likewise.
66330         * modules/idcache (Makefile.am): Likewise.
66331         * modules/imaxabs (Makefile.am): Likewise.
66332         * modules/imaxdiv (Makefile.am): Likewise.
66333         * modules/inet_ntop (Makefile.am): Likewise.
66334         * modules/inet_pton (Makefile.am): Likewise.
66335         * modules/inttostr (Makefile.am): Likewise.
66336         * modules/isapipe (Makefile.am): Likewise.
66337         * modules/lchown (Makefile.am): Likewise.
66338         * modules/long-options (Makefile.am): Likewise.
66339         * modules/lstat (Makefile.am): Likewise.
66340         * modules/malloc (Makefile.am): Likewise.
66341         * modules/mathl (Makefile.am): Likewise.
66342         * modules/mbchar (Makefile.am): Likewise.
66343         * modules/md2 (Makefile.am): Likewise.
66344         * modules/md4 (Makefile.am): Likewise.
66345         * modules/md5 (Makefile.am): Likewise.
66346         * modules/memcasecmp (Makefile.am): Likewise.
66347         * modules/memchr (Makefile.am): Likewise.
66348         * modules/memcmp (Makefile.am): Likewise.
66349         * modules/memcoll (Makefile.am): Likewise.
66350         * modules/memcpy (Makefile.am): Likewise.
66351         * modules/memmem (Makefile.am): Likewise.
66352         * modules/memmove (Makefile.am): Likewise.
66353         * modules/mempcpy (Makefile.am): Likewise.
66354         * modules/memrchr (Makefile.am): Likewise.
66355         * modules/memset (Makefile.am): Likewise.
66356         * modules/memxor (Makefile.am): Likewise.
66357         * modules/mkancesdirs (Makefile.am): Likewise.
66358         * modules/mkdir (Makefile.am): Likewise.
66359         * modules/mkdir-p (Makefile.am): Likewise.
66360         * modules/mkdtemp (Makefile.am): Likewise.
66361         * modules/mkstemp (Makefile.am): Likewise.
66362         * modules/mktime (Makefile.am): Likewise.
66363         * modules/modechange (Makefile.am): Likewise.
66364         * modules/mountlist (Makefile.am): Likewise.
66365         * modules/nanosleep (Makefile.am): Likewise.
66366         * modules/openat (Makefile.am): Likewise.
66367         * modules/pagealign_alloc (Makefile.am): Likewise.
66368         * modules/physmem (Makefile.am): Likewise.
66369         * modules/poll (Makefile.am): Likewise.
66370         * modules/posixtm (Makefile.am): Likewise.
66371         * modules/posixver (Makefile.am): Likewise.
66372         * modules/putenv (Makefile.am): Likewise.
66373         * modules/quote (Makefile.am): Likewise.
66374         * modules/quotearg (Makefile.am): Likewise.
66375         * modules/raise (Makefile.am): Likewise.
66376         * modules/read-file (Makefile.am): Likewise.
66377         * modules/readline (Makefile.am): Likewise.
66378         * modules/readlink (Makefile.am): Likewise.
66379         * modules/readtokens (Makefile.am): Likewise.
66380         * modules/readutmp (Makefile.am): Likewise.
66381         * modules/realloc (Makefile.am): Likewise.
66382         * modules/regex (Makefile.am): Likewise.
66383         * modules/rename (Makefile.am): Likewise.
66384         * modules/rename-dest-slash (Makefile.am): Likewise.
66385         * modules/rijndael (Makefile.am): Likewise.
66386         * modules/rmdir (Makefile.am): Likewise.
66387         * modules/rpmatch (Makefile.am): Likewise.
66388         * modules/safe-read (Makefile.am): Likewise.
66389         * modules/safe-write (Makefile.am): Likewise.
66390         * modules/same (Makefile.am): Likewise.
66391         * modules/save-cwd (Makefile.am): Likewise.
66392         * modules/savedir (Makefile.am): Likewise.
66393         * modules/setenv (Makefile.am): Likewise.
66394         * modules/settime (Makefile.am): Likewise.
66395         * modules/sha1 (Makefile.am): Likewise.
66396         * modules/sig2str (Makefile.am): Likewise.
66397         * modules/snprintf (Makefile.am): Likewise.
66398         * modules/stdlib-safer (Makefile.am): Likewise.
66399         * modules/stpcpy (Makefile.am): Likewise.
66400         * modules/stpncpy (Makefile.am): Likewise.
66401         * modules/strcase (Makefile.am): Likewise.
66402         * modules/strcasestr (Makefile.am): Likewise.
66403         * modules/strchrnul (Makefile.am): Likewise.
66404         * modules/strcspn (Makefile.am): Likewise.
66405         * modules/strdup (Makefile.am): Likewise.
66406         * modules/strerror (Makefile.am): Likewise.
66407         * modules/strftime (Makefile.am): Likewise.
66408         * modules/strndup (Makefile.am): Likewise.
66409         * modules/strnlen (Makefile.am): Likewise.
66410         * modules/strpbrk (Makefile.am): Likewise.
66411         * modules/strsep (Makefile.am): Likewise.
66412         * modules/strstr (Makefile.am): Likewise.
66413         * modules/strtod (Makefile.am): Likewise.
66414         * modules/strtoimax (Makefile.am): Likewise.
66415         * modules/strtok_r (Makefile.am): Likewise.
66416         * modules/strtol (Makefile.am): Likewise.
66417         * modules/strtoll (Makefile.am): Likewise.
66418         * modules/strtoul (Makefile.am): Likewise.
66419         * modules/strtoull (Makefile.am): Likewise.
66420         * modules/strtoumax (Makefile.am): Likewise.
66421         * modules/strverscmp (Makefile.am): Likewise.
66422         * modules/time_r (Makefile.am): Likewise.
66423         * modules/timegm (Makefile.am): Likewise.
66424         * modules/tmpfile-safer (Makefile.am): Likewise.
66425         * modules/unistd-safer (Makefile.am): Likewise.
66426         * modules/unlinkdir (Makefile.am): Likewise.
66427         * modules/userspec (Makefile.am): Likewise.
66428         * modules/utime (Makefile.am): Likewise.
66429         * modules/utimecmp (Makefile.am): Likewise.
66430         * modules/utimens (Makefile.am): Likewise.
66431         * modules/vasnprintf (Makefile.am): Likewise.
66432         * modules/vasprintf (Makefile.am): Likewise.
66433         * modules/vsnprintf (Makefile.am): Likewise.
66434         * modules/xalloc (Makefile.am): Likewise.
66435         * modules/xgetcwd (Makefile.am): Likewise.
66436         * modules/xnanosleep (Makefile.am): Likewise.
66437         * modules/xreadlink (Makefile.am): Likewise.
66438         * modules/xstrtod (Makefile.am): Likewise.
66439         * modules/xstrtol (Makefile.am): Likewise.
66440         * modules/xstrtold (Makefile.am): Likewise.
66441         * modules/yesno (Makefile.am): Likewise.
66442
66443 2006-10-12  Jim Meyering  <jim@meyering.net>
66444
66445         * m4/getloadavg.m4: Revert the change below.
66446
66447         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
66448         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
66449         fail with a symlink, which is what coreutils' ./bootstrap now
66450         creates by default.
66451
66452 2006-10-12  Bruno Haible  <bruno@clisp.org>
66453
66454         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
66455         mingw.
66456         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
66457         MSVC and mingw explicitly.
66458
66459 2006-10-11  Simon Josefsson  <jas@extundo.com>
66460             Bruno Haible  <bruno@clisp.org>
66461
66462         Add support for multiple gnulib-tool invocations in the scope of a
66463         single configure.ac file.
66464         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
66465         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
66466         with the same contents as the _LIBADD variable.
66467         (func_emit_initmacro_start, func_emit_initmacro_end,
66468         func_emit_initmacro_done): New functions.
66469         (func_import, func_create_testdir): Invoke them. Allow the identifiers
66470         gl_LIBOBJS and gl_LTLIBOBJS.
66471
66472 2006-10-11  Bruno Haible  <bruno@clisp.org>
66473
66474         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
66475         (func_create_testdir): Don't create po/Makefile.am, don't invoke
66476         autoreconf. Instead, invoke autopoint explicitly but move back the
66477         *.m4 files from gnulib.
66478
66479 2006-10-11  Bruno Haible  <bruno@clisp.org>
66480
66481         * gnulib-tool (func_usage): Make module names after --create-testdir
66482         optional.
66483         (func_create_testdir): If no module was specified, use nearly all
66484         modules.
66485
66486 2006-10-12  Jim Meyering  <jim@meyering.net>
66487
66488         Big performance improvement for fts-based tools that use FTS_NOSTAT.
66489         Avoid spurious inode-mismatch problems on non-POSIX file systems.
66490         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
66491         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
66492         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
66493         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
66494         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
66495         (fts_set_stat_required): New function.
66496         (fts_open): Defer the calls to fts_stat, if possible or requested.
66497         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
66498         into fts_stat itself.
66499         (fts_read): Perform any required (deferred) fts_stat call.
66500         (fts_build): Likewise, for the directory we're about to open and read.
66501         In the readdir loop, carefully decide whether each entry will require
66502         an eventual call to fts_stat, using dirent.d_type info if available.
66503         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
66504         a command line argument into this function.  Update all callers.
66505         Map a return value of FTS_DOT to FTS_D for a command line argument.
66506         * modules/fts (Depends-on): Add d-type.  Alphabetize.
66507         Thanks to Miklos Szeredi for his tenacity and for the initial
66508         bug report about "find" failing on a FUSE-based file system.
66509
66510         * lib/fts.c (fts_open): Use consistent indentation.
66511
66512 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66513
66514         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
66515         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
66516         reported by Jim Meyering.  All uses of cache variables renamed
66517         to match Autoconf's.
66518         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
66519         the other one.
66520
66521         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
66522         Fix misspelling in diagnostic.
66523
66524 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66525
66526         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
66527         defined.  Problem reported by Matthew Woehlke.
66528
66529         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
66530         Add support for Tandem NonStop R series.
66531         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
66532         Use new macro.
66533
66534         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
66535         (has_trailing_slash): Omit size arg; all callers changed.
66536         Omit 'inline', since it doesn't help performance and we'd
66537         need to configure it.
66538         Don't count //, ///, etc. as having a trailing slash.
66539         As a side effect, this removes a C99ism reported by Matthew Woehlke.
66540         (rpl_rename_dest_slash): On failure, use rename's errno rather
66541         than (in some cases) an incorrect or junk errno.
66542         Simplify code by removing need to compute length; this does
66543         cause it to make two passes instead of one over the file name,
66544         but it's worth it.
66545
66546         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
66547         change, since Autoconf's version may no longer be appropriate now
66548         that we are using CVS Autoconf's version.  Add support for Tandem.
66549
66550 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66551             Bruno Haible  <bruno@clisp.org>
66552
66553         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
66554         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
66555         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
66556         gl_AC_TYPE_LONG_LONG.
66557
66558         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
66559         instead of HAVE_LONG_LONG.
66560         * lib/printf-args.c (printf_fetchargs): Likewise.
66561         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
66562         * lib/vasnprintf.c (VASNPRINTF): Likewise.
66563         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
66564         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
66565         gl_AC_TYPE_LONG_LONG.
66566
66567 2006-10-11  Bruno Haible  <bruno@clisp.org>
66568
66569         * m4/longlong.m4: Add comments.
66570         * m4/ulonglong.m4: Likewise.
66571
66572 2006-10-10  Bruno Haible  <bruno@clisp.org>
66573
66574         Make it possible to #define stpcpy, strdup to aliases.
66575         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
66576         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
66577
66578 2006-10-10  Bruno Haible  <bruno@clisp.org>
66579
66580         Make it possible to #define gcd to an alias.
66581         * lib/gcd.c: Include config.h.
66582
66583 2006-10-10  Bruno Haible  <bruno@clisp.org>
66584
66585         Make it possible to #define c_isascii to an alias.
66586         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
66587         defined. Undefine the macros before defining them, to avoid gcc
66588         warnings.
66589         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
66590         define NO_C_CTYPE_MACROS early.
66591
66592 2006-10-10  Bruno Haible  <bruno@clisp.org>
66593
66594         Make it possible to #define set_program_name to an alias.
66595         * lib/progname.c: Don't undefine set_program_name; instead, undefine
66596         ENABLE_RELOCATABLE early.
66597
66598 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
66599
66600         Port to Tandem NSK OSS, which has 64-bit signed int but at most
66601         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
66602         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
66603         More generally, don't assume that 64-bit signed int is available
66604         if unsigned int is, and vice versa.
66605         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
66606         unsigned symbols, not on their signed counterparts.
66607         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
66608         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
66609         (UINT64_C, UINTMAX_C):
66610         Likewise.
66611         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
66612         unsigned counterparts.
66613         (Have_long_long, Unsigned): New macros.
66614         (Int): Renamed from INT.
66615         (strtoimax): Use the new macros.
66616         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
66617         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
66618         * modules/inttypes (inttypes.h): Substitute
66619         HAVE_UNSIGNED_LONG_LONG_INT.
66620         * modules/stdint (stdint.h): Likewise.
66621         (Files): Add m4/ulonglong.m4.
66622
66623 2006-10-10  Bruno Haible  <bruno@clisp.org>
66624
66625         Fix a gcc -Wshadow warning.
66626         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
66627         to 'bucket'.
66628         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
66629         gl_linked_indexof_from_to): Likewise.
66630         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
66631         Likewise.
66632         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
66633         Likewise.
66634         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
66635         Reported by Eric Blake.
66636
66637 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
66638
66639         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
66640         for NetBSD.  Problem reported by Bruno Haible.
66641
66642 2006-10-09  Jim Meyering  <jim@meyering.net>
66643
66644         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
66645         Patch from Bruno Haible.
66646
66647 2006-10-09  Jim Meyering  <jim@meyering.net>
66648
66649         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
66650         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
66651         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
66652
66653 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
66654
66655         Don't include <config.h> twice; this doesn't work in some cases,
66656         e.g., when config.h has "#define intmax_t long long int" and
66657         we include <config.h>, <inttypes.h>, <config.h> in that order.
66658         Problem reported by Matthew Woehlke in:
66659         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
66660         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
66661         * lib/fts-cycle.c: Don't include config.h.
66662         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
66663         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
66664         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
66665         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
66666         inttypes.h.
66667         * lib/xstrtoumax.c: Likewise.
66668         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
66669         __strtol and the like, so that this module is more like its siblings.
66670         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
66671         Remove; no longer needed now that we assume gnulib inttypes.h.
66672
66673 2006-10-08  Bruno Haible  <bruno@clisp.org>
66674
66675         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
66676         option.
66677
66678 2006-10-07  Jim Meyering  <jim@meyering.net>
66679
66680         * modules/inttypes (inttypes.h): Revert what seems to have been
66681         an inadvertent part of today's change: use "|", not "/" in the
66682         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
66683
66684 2006-10-07  Bruno Haible  <bruno@clisp.org>
66685
66686         * modules/sublist: New file.
66687
66688 2006-10-07  Bruno Haible  <bruno@clisp.org>
66689
66690         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
66691         * modules/argz (argz.h): Likewise.
66692         * modules/arpa_inet (arpa/inet.h): Likewise.
66693         * modules/byteswap (byteswap.h): Likewise.
66694         * modules/configmake (configmake.h): Likewise.
66695         * modules/fcntl (fcntl.h): Likewise.
66696         * modules/fnmatch (fnmatch.h): Likewise.
66697         * modules/getopt (getopt.h): Likewise.
66698         * modules/glob (glob.h): Likewise.
66699         * modules/inttypes (inttypes.h): Likewise.
66700         * modules/netinet_in (netinet/in.h): Likewise.
66701         * modules/poll (poll.h): Likewise.
66702         * modules/stdbool (stdbool.h): Likewise.
66703         * modules/stdint (stdint.h): Likewise.
66704         * modules/sys_select (sys/select.h): Likewise.
66705         * modules/sys_socket (sys/socket.h): Likewise.
66706         * modules/sys_stat (sys/stat.h): Likewise.
66707         * modules/sysexits (sysexits.h): Likewise.
66708         * modules/unistd (unistd.h): Likewise.
66709         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66710         Add a "DO NOT EDIT" comment to the generated file.
66711         (func_import): Likewise for gnulib-comp.m4.
66712
66713 2006-10-07  Bruno Haible  <bruno@clisp.org>
66714
66715         * lib/gl_sublist.h: New file.
66716         * lib/gl_sublist.c: New file.
66717
66718 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
66719
66720         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
66721         name (relative to the original working directory) and the file
66722         name component (relative to the temporary working directory).  All
66723         callers changed.
66724         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
66725         * lib/mkdir-p.c (make_dir_parents): Likewise.
66726         * lib/mkdir-p.h (make_dir_parents): Likewise.
66727
66728 2006-10-06  Eric Blake  <ebb9@byu.net>
66729
66730         Define several macros for use by the clean-temp module.
66731         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
66732         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
66733         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
66734
66735         * lib/clean-temp.h (close_stream_temp): New declaration.
66736         * lib/clean-temp.c (includes): Pull in headers according to what
66737         other modules are in use.
66738         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
66739
66740 2006-10-06  Bruno Haible  <bruno@clisp.org>
66741
66742         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
66743         instead of fopen, fwriteerror.
66744
66745 2006-10-06  Bruno Haible  <bruno@clisp.org>
66746
66747         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
66748         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
66749         int.
66750         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
66751         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
66752         Return an error indicator.
66753         Suggested by Eric Blake.
66754
66755 2006-10-06  Bruno Haible  <bruno@clisp.org>
66756
66757         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
66758         Reported by Eric Blake.
66759
66760 2006-10-06  Bruno Haible  <bruno@clisp.org>
66761
66762         * modules/closeout (Description): Mention stderr too.
66763
66764 2006-10-06  Bruno Haible  <bruno@clisp.org>
66765         and Paul Eggert  <eggert@cs.ucla.edu>
66766
66767         * lib/closeout.c (close_stdout): Also close stderr.
66768         * lib/closeout.h: Update comment.
66769
66770 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
66771
66772         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
66773         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
66774         * lib/dirchownmod.c: Include lchown.h.
66775         * lib/lchown.c: Don't include files that lchown.h now includes.
66776         Don't declare chown, since lchown.h now does that.
66777         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
66778         (lchown): Define to rpl_chown if lchown is declared but
66779         does not exist.  Declare using a prototype if lchown is not
66780         declared.  Add a copyright notice.
66781         * lib/mkstemp.h: Include <unistd.h>.
66782         * lib/openat.c: Include lchown.h.
66783
66784         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
66785         we now test for that separately.
66786         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
66787         rather than O_NOFOLLOW, when testing whether it's possible to
66788         avoid a race condition reliably.
66789         * lib/savewd.c (savewd_chdir): Likewise.
66790
66791         Remove macros that are no longer needed now that stdint.h is
66792         reliable.
66793         * lib/fsusage.c (UINTMAX_MAX): Remove.
66794         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
66795         * lib/utimecmp.c (SIZE_MAX): Remove.
66796
66797         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
66798
66799         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
66800         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
66801         O_NOATIME works.
66802
66803 2006-10-05  Bruno Haible  <bruno@clisp.org>
66804
66805         * lib/gl_list.h (gl_sortedlist_search_from_to,
66806         gl_sortedlist_indexof_from_to): New declarations.
66807         (gl_list_implementation): New fields sortedlist_search_from_to,
66808         sortedlist_indexof_from_to.
66809         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
66810         inline functions.
66811         * lib/gl_list.c (gl_sortedlist_search_from_to,
66812         gl_sortedlist_indexof_from_to): New functions.
66813         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
66814         function.
66815         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
66816         (gl_array_sortedlist_search_from_to): New function.
66817         (gl_array_list_implementation): Update.
66818         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
66819         function.
66820         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
66821         (gl_carray_sortedlist_search_from_to): New function.
66822         (gl_carray_list_implementation): Update.
66823         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
66824         gl_linked_sortedlist_indexof_from_to): New functions.
66825         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
66826         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
66827         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
66828         gl_tree_sortedlist_indexof_from_to): New functions.
66829         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
66830         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
66831         Update.
66832         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
66833         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
66834         Update.
66835
66836 2006-10-05  Bruno Haible  <bruno@clisp.org>
66837
66838         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
66839         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
66840         (struct gl_list_implementation): Add fields search_from_to,
66841         indexof_from_to. Remove fields search, indexof.
66842         (gl_list_search): Use the search_from_to method.
66843         (gl_list_search_from, gl_list_search_from_to): New functions.
66844         (gl_list_indexof): Use the indexof_from_to method.
66845         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
66846         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
66847         (gl_list_search_from, gl_list_search_from_to): New functions.
66848         (gl_list_indexof): Use the indexof_from_to method.
66849         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
66850         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
66851         gl_array_indexof. Add start_index, end_index arguments.
66852         (gl_array_search_from_to): Renamed from gl_array_search. Add
66853         start_index, end_index arguments.
66854         (gl_array_remove, gl_array_list_implementation): Update.
66855         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
66856         gl_carray_indexof. Add start_index, end_index arguments.
66857         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
66858         start_index, end_index arguments.
66859         (gl_carray_remove, gl_carray_list_implementation): Update.
66860         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
66861         gl_linked_search. Add start_index, end_index arguments.
66862         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
66863         start_index, end_index arguments.
66864         (gl_linked_remove): Update.
66865         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
66866         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
66867         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
66868         field to 'size_t'.
66869         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
66870         gl_tree_search. Add start_index, end_index arguments.
66871         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
66872         start_index, end_index arguments.
66873         (gl_tree_remove): Update.
66874         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
66875         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
66876         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
66877         function.
66878         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
66879         gl_tree_search. Add start_index, end_index arguments.
66880         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
66881         start_index, end_index arguments.
66882         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
66883         Update.
66884         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
66885
66886 2006-10-05  Bruno Haible  <bruno@clisp.org>
66887
66888         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
66889
66890         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
66891         fwriteerror_temp): New declarations.
66892         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
66893         (descriptors): New variable.
66894         (cleanup): First, close the descriptors.
66895         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
66896         fclose_temp, fwriteerror_temp): New functions.
66897
66898 2006-10-04  Jim Meyering  <jim@meyering.net>
66899
66900         * lib/fts.c (fts_open): Tiny comment change.
66901
66902 2006-10-04  Bruno Haible  <bruno@clisp.org>
66903
66904         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
66905         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
66906         gl_LOCK_BODY.
66907         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
66908         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
66909         gl_LOCK_EARLY_BODY.
66910         (gl_LOCK): Require gl_LOCK_BODY.
66911
66912 2006-10-04  Bruno Haible  <bruno@clisp.org>
66913
66914         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
66915         (gl_oset_search_atleast): New declaration.
66916         (struct gl_oset_implementation): Add field 'search_atleast'.
66917         (gl_oset_search_atleast): New inline function.
66918         * lib/gl_oset.c (gl_oset_search_atleast): New function.
66919         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
66920         (gl_array_oset_implementation): Update.
66921         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
66922         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
66923         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
66924
66925 2006-10-04  Bruno Haible  <bruno@clisp.org>
66926
66927         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
66928
66929 2006-10-03  Bruno Haible  <bruno@clisp.org>
66930
66931         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
66932         from gl_avltreehash_list_implementation.
66933
66934 2006-10-03  Bruno Haible  <bruno@clisp.org>
66935
66936         * lib/gl_oset.c (gl_oset_add): Fix return type.
66937
66938 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
66939
66940         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
66941
66942 2006-10-02  Eric Blake  <ebb9@byu.net>
66943
66944         * modules/strnlen (Depends-on): Add extensions.
66945
66946 2006-10-02  Eric Blake  <ebb9@byu.net>
66947
66948         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
66949         definition in 2.60+.
66950
66951 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
66952
66953         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
66954         checks.
66955
66956 2006-10-02  Bruno Haible  <bruno@clisp.org>
66957
66958         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
66959         to the AUTOMAKE_OPTIONS.
66960         Reported by Jim Meyering.
66961
66962 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
66963
66964         Work around bug in Solaris 10 /proc file system:
66965         /proc/self/fd/NNN/.. isn't the parent directory of
66966         the directory whose file descriptor is NNN.  This needs to
66967         be worked around at run time, not compile time, since a
66968         program might be built on Solaris 8, where things work, and
66969         run on Solaris 10.
66970         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
66971         to use the following interface instead:
66972         (OPENAT_BUFFER_SIZE): New macro.
66973         (openat_proc_name): New function.
66974         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
66975         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
66976         Likewise.
66977         * lib/openat-proc.c: New file.
66978         * modules/openat (Files): Add lib/openat-proc.c.
66979         (Depends-on): Add same-inode, stdbool.
66980         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
66981
66982 2006-09-29  Bruno Haible  <bruno@clisp.org>
66983
66984         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
66985         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
66986         argument. Set stdout_closed before testing for ferror, not after.
66987         (fwriteerror, fwriteerror_no_ebadf): New functions.
66988
66989 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66990
66991         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
66992
66993 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
66994
66995         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
66996         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
66997
66998 2006-09-28  Jim Meyering  <jim@meyering.net>
66999
67000         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
67001         Include <unistd.h>.
67002
67003 2006-09-28  Bruno Haible  <bruno@clisp.org>
67004
67005         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
67006         * modules/linkedhash-list (Depends-on): Likewise.
67007         * modules/rbtreehash-list (Depends-on): Likewise.
67008
67009 2006-09-28  Bruno Haible  <bruno@clisp.org>
67010
67011         * lib/strndup.h: Simplify the redefinition of strndup.
67012         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
67013         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
67014
67015 2006-09-28  Bruno Haible  <bruno@clisp.org>
67016
67017         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
67018         * lib/gl_linkedhash_list.c: Likewise.
67019         * lib/gl_rbtreehash_list.c: Likewise.
67020
67021 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
67022
67023         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
67024         getaddrinfo.
67025
67026         * lib/__fpending.h: Don't include <stdio_ext.h> unless
67027         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
67028         it causes <stdio_ext.h> to cause a compile-time error.
67029         Problem reported by Nelson H. F. Beebe.
67030         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
67031         of HAVE_DECL___PENDING.
67032
67033         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
67034         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
67035         declaration.
67036
67037 2006-09-27  Jim Meyering  <jim@meyering.net>
67038
67039         This file could end up with a definition for a function
67040         named __strndup, rather than rpl_strndup on a system with
67041         incomplete weak_alias support.
67042         * lib/strndup.c (strndup): Rename from __strndup.
67043         Remove #defines that used to map __strndup to strndup.
67044         Don't use K&R prototypes.
67045         Remove LIBC-related code, since this file is not sync'd with glibc.
67046         * lib/strndup.h: Revamp, accordingly.
67047         * m4/strndup.m4: Modernize.
67048
67049 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
67050
67051         * modules/savewd (Depends-on): Add 'raise'.
67052         * lib/savewd.c: Include <signal.h>, for 'raise'.
67053
67054 2006-09-26  Jim Meyering  <jim@meyering.net>
67055
67056         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
67057         when we detect Darwin 8.7.0's acl_get_file bug.
67058         Rearrange to perform the new (below) run-test while $LIBS
67059         contains any acl-related library.  Set USE_ACL at the end.
67060         (gl_ACL_GET_FILE): New function.
67061
67062 2006-09-26  Eric Blake  <ebb9@byu.net>
67063
67064         * lib/verror.c: Include <config.h> unconditionally.
67065
67066 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
67067
67068         * modules/clock-time (Maintainer): Add self.
67069         * modules/getlogin_r (Depends-on): Add extensions.
67070
67071 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67072
67073         * modules/clock-time: New module.
67074         * modules/nanosleep (Depends-on): Add clock-time.
67075         * modules/gethrxtime (Depends-on): Likewise.
67076         * modules/gettime (Depends-on): Likewise.
67077         * modules/settime (Depends-on): Likewise.
67078
67079         * modules/fts-lgpl: Depend on openat.
67080         * modules/mkancesdirs: Depend on savewd.
67081         * modules/mkdir-p: Likewise.
67082
67083 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67084
67085         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
67086
67087         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
67088         `gl_have_arbitrary_file_name_length_limit' to
67089         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
67090         actually works between configure runs.
67091
67092 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67093             Bruno Haible  <bruno@clisp.org>
67094
67095         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
67096
67097 2006-09-25  Jim Meyering  <jim@meyering.net>
67098
67099         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
67100         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
67101
67102 2006-09-25  Eric Blake  <ebb9@byu.net>
67103
67104         * gnulib-tool (func_import, func_create_testdir): Fix typos in
67105         exec's in 2006-09-18 patch when shuffling fds.
67106
67107 2006-09-25  Bruno Haible  <bruno@clisp.org>
67108
67109         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
67110         Reported by Jim Meyering.
67111
67112 2006-09-24  Jim Meyering  <jim@meyering.net>
67113
67114         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
67115         compare a pointer against a literal "0".  That caused failures with
67116         at least HP-UX's hpcc.
67117
67118 2006-09-22  Simon Josefsson  <jas@extundo.com>
67119
67120         * modules/gc-sha1:
67121         * modules/gc-md4:
67122         * modules/gc-hmac-sha1:
67123         * modules/gc-hmac-md5:
67124         * modules/gc-des:
67125         * modules/gc-arcfour: Distribute more files.
67126
67127 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67128
67129         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
67130         (gl_linked_iterator_from_to): Initialize struct completely.
67131         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
67132         (gl_tree_iterator_from_to): Likewise
67133         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
67134         * lib/gl_array_list.c [lint] (gl_array_iterator)
67135         (gl_array_iterator_from_to): Likewise.
67136         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
67137         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
67138         (gl_carray_iterator_from_to): Likewise.
67139
67140         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
67141         * lib/md4.c (md4_process_block): Remove unused variable.
67142         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
67143         parentheses for clarity.
67144
67145 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67146
67147         * modules/bison-i18n (Depends-on): Add gettext.
67148
67149 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67150
67151         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
67152         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
67153         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
67154         also add missing comma that caused broken test.
67155         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
67156         stdlib.h, for `abort'.
67157         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
67158         variables.
67159         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
67160         include unistd.h if present, for `rmdir'.
67161         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
67162         variables.
67163         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
67164         in the process include standard headers for prototypes.
67165         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
67166         gets declared on GNU/Linux.
67167         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
67168         unistd.h, for `rmdir'.
67169         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
67170
67171         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
67172         always true.
67173         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
67174
67175         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
67176
67177 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67178
67179         * gnulib-tool (func_version): Create output all at once.  This
67180         may help avoid triggering unnecessary SIGPIPEs, and at any
67181         rate it doesn't hurt.
67182
67183 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67184             Bruno Haible  <bruno@clisp.org>
67185
67186         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
67187         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
67188         * m4/signed.m4 (bh_C_SIGNED): Likewise.
67189
67190         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
67191         (gl_FUNC_VASPRINTF): Invoke it.
67192
67193 2006-09-22  Bruno Haible  <bruno@clisp.org>
67194
67195         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
67196         getloadavg.c as first argument.
67197
67198 2006-09-22  Bruno Haible  <bruno@clisp.org>
67199
67200         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
67201         at the beginning of the gl_INIT macro.
67202         * modules/getloadavg (configure.ac): Pass $gl_source_base to
67203         gl_GETLOADAVG.
67204
67205 2006-09-22  Bruno Haible  <bruno@clisp.org>
67206
67207         * gnulib-tool (func_create_megatestdir): Don't include the config-h
67208         module.
67209         Suggested by Ralf Wildenhues.
67210
67211 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67212
67213         Import this patch from libc:
67214
67215         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
67216
67217         * lib/regex_internal.c (re_string_reconstruct): Handle
67218         offset < pstr->valid_raw_len && pstr->offsets_needed case.
67219         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
67220         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
67221         re_string_context_at.
67222
67223         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
67224         now requires it.
67225         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
67226         gl_REGEX now does it for us.
67227         (gl_REGEX): Add test taken from
67228         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
67229
67230         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
67231         Check that large offsets work.  Modernize Autoconf usages.
67232         Prefer "yes" to mean a good thing rather than a bad.
67233         Don't put "#define mkstemp" in config.h, as this might interfere
67234         with standard system headers that "#define mkstemp mkstemp64".
67235
67236         * modules/mkstemp (Depends-on): Add extensions, so that
67237         mkstemp is visible on some platforms.
67238         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
67239         (Include): Change to "mkstemp.h" from <stdlib.h>.
67240         (Files): Add mkstemp.h.
67241
67242         * lib/mkstemp.h: New file, since some standard headers
67243         #define mkstemp.
67244         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
67245         Include "mkstemp.h".
67246         Make the _LIBC code resemble glibc original more,
67247         e.g., use K&R style.
67248         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
67249         (mkstemp): Remove, since mkstemp.h does this for us.
67250         * lib/stdlib--.h: Include mkstemp.h.
67251
67252         Import this patch from libc:
67253
67254         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67255
67256         * lib/tempname.c (__gen_tempname): Change attempts_min
67257         into a macro.  Use preprocessor to decide how to initialize
67258         attempts [Coverity CID 67].
67259
67260 2006-09-20  Bruno Haible  <bruno@clisp.org>
67261
67262         * lib/mkdtemp.c: Import from libc.
67263         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67264                 * sysdeps/posix/tempname.c (__gen_tempname): Change
67265                 attempts_min into a macro.  Use preprocessor to decide how to
67266                 initialize attempts [Coverity CID 67].
67267         2001-11-27  Paul Eggert  <eggert@twinsun.com>
67268                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
67269                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
67270
67271 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67272
67273         * gnulib-tool (func_exit): New function, to allow to pass the
67274         exit status portably through the trap.  Use everywhere.
67275         (--help, --version): Signal a write error.
67276         (trap): catch SIGPIPE, for write errors.
67277         Exit at the end of the trap, with the correct exit status.
67278
67279 2006-09-19  Karl Berry  <karl@gnu.org>
67280
67281         * doc/gnulib.texi: note about the license texinfo files.
67282
67283 2006-09-19  Eric Blake  <ebb9@byu.net>
67284
67285         * gnulib-tool: Avoid space-tab.
67286
67287 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67288
67289         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
67290         that prevented coreutils 6.1 from building.  Problem reported
67291         by Petter Reinholdtsen.
67292
67293 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67294
67295         * gnulib-tool (avoidlist): Fix typo that broke options like
67296         --avoid=lock that are used by coreutils bootstrap.
67297
67298 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
67299
67300         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
67301         more systematically.
67302
67303 2006-09-18  Jim Meyering  <jim@meyering.net>
67304
67305         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
67306
67307 2006-09-18  Bruno Haible  <bruno@clisp.org>
67308
67309         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
67310
67311 2006-09-18  Bruno Haible  <bruno@clisp.org>
67312
67313         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
67314         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
67315         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
67316         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
67317         * m4/gettext.m4: Require autoconf >= 2.52.
67318         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
67319         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
67320         of gl_cv_header_inttypes_h.
67321
67322 2006-09-18  Bruno Haible  <bruno@clisp.org>
67323
67324         * lib/javaversion.c: Include configmake.h.
67325
67326 2006-09-18  Bruno Haible  <bruno@clisp.org>
67327
67328         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
67329         avoid that the while loops be executed in a subshell.
67330
67331 2006-09-18  Bruno Haible  <bruno@clisp.org>
67332
67333         * MODULES.html.sh (func_module): Break long lines.
67334         Suggested by Bruce Korb <bkorb@gnu.org>.
67335
67336 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67337
67338         Speed up by a factor of 1.12.
67339         * gnulib-tool (nl): New variable.
67340         (func_import): Rewrite include directive extraction to only read each
67341         directive once.
67342
67343 2006-09-17  Bruno Haible  <bruno@clisp.org>
67344
67345         * modules/javaversion (Makefile.am): Remove DEFS setting.
67346         (Depends-on): Add configmake, for PKGDATADIR definition.
67347
67348 2006-09-17  Bruno Haible  <bruno@clisp.org>
67349
67350         * gnulib-tool (func_create_testdir): Rewrite all files at once.
67351
67352 2006-09-17  Bruno Haible  <bruno@clisp.org>
67353
67354         * gnulib-tool (func_append): New function, stolen from libtool.m4.
67355         (func_modules_transitive_closure, func_modules_add_dummy,
67356         func_modules_to_filelist, func_import, func_create_testdir,
67357         func_create_megatestdir, ...): Use it wherever possible.
67358         Suggested by Ralf Wildenhues.
67359
67360 2006-09-16  Karl Berry  <karl@gnu.org>
67361
67362         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
67363         to avoid sectioning errors.
67364         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
67365         [ifinfo]: blank line after @center-ed titles.
67366         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
67367         Spell FSF address consistently with others.
67368         (These changes approved by rms.)
67369
67370 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67371
67372         Speed up by a factor of 1.61.
67373         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
67374         already checked module names again.
67375
67376 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67377
67378         Speed up by a factor of 1.13.
67379         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
67380         for new_files, and the input to func_add_or_update.
67381
67382 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67383
67384         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
67385         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
67386
67387 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67388
67389         * modules/mkancesdirs (Depends-on): Add fcntl.
67390         * modules/savewd: New file.
67391         * MODULES.html.sh (File system functions): Add savewd.
67392
67393         * modules/configmake (Makefile.am): Add support for the
67394         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
67395
67396 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67397
67398         * m4/savewd.m4: New file.
67399
67400 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67401
67402         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
67403         (dirchownmod): New arg FD.  All callers changed.
67404         Use FD rather than opening the directory ourself, as opening is
67405         now the caller's responsibility.
67406         * lib/dirchownmod.h: Likewise.
67407         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
67408         hosts that require <sys/types.h> before <sys/stat.h>.  Include
67409         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
67410         (test_dir): Remove.
67411         (mkancesdirs): Return length of prefix of FILE that has already
67412         been made, or -2 if there is a child doing the work.  Redo
67413         algorithm so that it is O(N) rather than O(N**2).  Optimize away
67414         ".", and treat ".." specially since it might stray back into
67415         already-created areas.  Use a subprocess if necessary.  New arg
67416         WD; all users changed.  MAKE_DIR function should now return 1
67417         if it creates a directory that is not readable.  Return -2 if
67418         a child process is spun off.
67419         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
67420         Adjust signature to match code.
67421         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
67422         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
67423         all users changed.
67424         * lib/savewd.c, lib/savewd.h: New files.
67425
67426 2006-09-15  Jim Meyering  <jim@meyering.net>
67427
67428         * modules/rename-dest-slash: New module.
67429         * MODULES.html.sh (posix_compat): Add it here.
67430
67431         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
67432
67433 2006-09-15  Jim Meyering  <jim@meyering.net>
67434
67435         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
67436         file.
67437
67438         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
67439
67440 2006-09-15  Jim Meyering  <jim@meyering.net>
67441
67442         * lib/rename-dest-slash.c (has_trailing_slash): Use
67443         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
67444         (rpl_rename_dest_slash): Perform the cheaper trailing slash
67445         test before testing whether SRC is a directory.
67446         Suggestions from Bruno Haible.
67447
67448         Avoid a warning about an unused variable.
67449         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
67450         into the #ifdef block where it's used.
67451
67452         * lib/rename-dest-slash.c: New file.
67453
67454 2006-09-14  Bruno Haible  <bruno@clisp.org>
67455
67456         * lib/allocsa.c: Include <config.h> unconditionally.
67457         * lib/asnprintf.c: Likewise.
67458         * lib/asprintf.c: Likewise.
67459         * lib/c-strcasecmp.c: Likewise.
67460         * lib/c-strcasestr.c: Likewise.
67461         * lib/c-strncasecmp.c: Likewise.
67462         * lib/c-strstr.c: Likewise.
67463         * lib/classpath.c: Likewise.
67464         * lib/clean-temp.c: Likewise.
67465         * lib/concatpath.c: Likewise.
67466         * lib/copy-file.c: Likewise.
67467         * lib/csharpcomp.c: Likewise.
67468         * lib/csharpexec.c: Likewise.
67469         * lib/execute.c: Likewise.
67470         * lib/fatal-signal.c: Likewise.
67471         * lib/findprog.c: Likewise.
67472         * lib/fwriteerror.c: Likewise.
67473         * lib/gl_array_list.c: Likewise.
67474         * lib/gl_array_oset.c: Likewise.
67475         * lib/gl_avltree_list.c: Likewise.
67476         * lib/gl_avltree_oset.c: Likewise.
67477         * lib/gl_avltreehash_list.c: Likewise.
67478         * lib/gl_carray_list.c: Likewise.
67479         * lib/gl_linked_list.c: Likewise.
67480         * lib/gl_linkedhash_list.c: Likewise.
67481         * lib/gl_list.c: Likewise.
67482         * lib/gl_oset.c: Likewise.
67483         * lib/gl_rbtree_list.c: Likewise.
67484         * lib/gl_rbtree_oset.c: Likewise.
67485         * lib/gl_rbtreehash_list.c: Likewise.
67486         * lib/imaxabs.c: Likewise.
67487         * lib/imaxdiv.c: Likewise.
67488         * lib/javacomp.c: Likewise.
67489         * lib/javaexec.c: Likewise.
67490         * lib/javaversion.c: Likewise.
67491         * lib/linebreak.c: Likewise.
67492         * lib/localcharset.c: Likewise.
67493         * lib/lock.c: Likewise.
67494         * lib/mbchar.c: Likewise.
67495         * lib/mbswidth.c: Likewise.
67496         * lib/mkdtemp.c: Likewise.
67497         * lib/pipe.c: Likewise.
67498         * lib/printf-args.c: Likewise.
67499         * lib/printf-parse.c: Likewise.
67500         * lib/progname.c: Likewise.
67501         * lib/progreloc.c: Likewise.
67502         * lib/readlink.c: Likewise.
67503         * lib/sh-quote.c: Likewise.
67504         * lib/stpcpy.c: Likewise.
67505         * lib/stpncpy.c: Likewise.
67506         * lib/strcasecmp.c: Likewise.
67507         * lib/strcasestr.c: Likewise.
67508         * lib/strcspn.c: Likewise.
67509         * lib/striconv.c: Likewise.
67510         * lib/strncasecmp.c: Likewise.
67511         * lib/strnlen1.c: Likewise.
67512         * lib/strstr.c: Likewise.
67513         * lib/strtok_r.c: Likewise.
67514         * lib/tls.c: Likewise.
67515         * lib/tmpdir.c: Likewise.
67516         * lib/unicodeio.c: Likewise.
67517         * lib/unsetenv.c: Likewise.
67518         * lib/vasnprintf.c: Likewise.
67519         * lib/vasprintf.c: Likewise.
67520         * lib/wait-process.c: Likewise.
67521         * lib/xallocsa.c: Likewise.
67522         * lib/xsetenv.c: Likewise.
67523         * lib/xstriconv.c: Likewise.
67524
67525 2006-09-13  Simon Josefsson  <jas@extundo.com>
67526
67527         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
67528         that internally, suggested by Ralf Wildenhues
67529         <Ralf.Wildenhues@gmx.de>.
67530
67531 2006-09-13  Simon Josefsson  <jas@extundo.com>
67532
67533         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
67534         @LIBOBJS@.
67535         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67536
67537 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67538
67539         * lib/_fpending.c: Include <config.h> unconditionally, since we no
67540         longer worry about uses that don't define HAVE_CONFIG_H.
67541         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
67542         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
67543         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
67544         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
67545         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
67546         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
67547         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
67548         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
67549         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
67550         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
67551         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
67552         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
67553         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
67554         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
67555         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
67556         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
67557         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
67558         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
67559         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
67560         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
67561         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
67562         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
67563         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
67564         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
67565         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
67566         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
67567         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
67568         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
67569         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
67570         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
67571         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
67572         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
67573         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
67574         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
67575         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
67576         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
67577         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
67578         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
67579         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
67580         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
67581         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
67582         Likewise.
67583
67584 2006-09-13  Eric Blake  <ebb9@byu.net>
67585
67586         * lib/getopt.c: Fix typo in last commit.
67587
67588 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
67589
67590         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
67591         dgettext.
67592
67593 2006-09-12  Jim Meyering  <jim@meyering.net>
67594
67595         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
67596         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
67597         Reported by Nelson H. F. Beebe.
67598
67599 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67600
67601         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
67602         program_invocation_name and program_invocation_short_name are
67603         initialized.
67604         * lib/argp-namefrob.h: Move declarations of program_invocation_name
67605         and program_invocation_short_name to argp.h, so they are visible
67606         to user programs.
67607         * lib/argp.h: Likewise
67608
67609 2006-09-10  Bruno Haible  <bruno@clisp.org>
67610
67611         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
67612         m4/inttypes_h.m4, m4/uintmax_t.m4.
67613
67614 2006-09-10  Bruno Haible  <bruno@clisp.org>
67615
67616         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
67617         gl_AC_TYPE_UINTMAX_T.
67618
67619 2006-09-10  Bruno Haible  <bruno@clisp.org>
67620
67621         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
67622
67623 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67624
67625         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
67626         convention.  Text proposed by Bruno Haible.
67627         (struct argp_option): Document the use of N_() wrappers.
67628
67629         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
67630         '\v', and translate the two parts separately, instead of feeding
67631         the whole string to gettext.  This allows to exclude
67632         '\v' from the strings visible to the translator by writing doc
67633         strings as N_("..") "\v" N_("..").
67634
67635 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
67636
67637         * config/srclist.txt: Undo latest change; the bug was fixed.
67638
67639 2006-09-09  Bruno Haible  <bruno@clisp.org>
67640
67641         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
67642         assignments if building a library without libtool.
67643         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
67644         in func_emit_lib_Makefile_am.
67645         (func_import): When building a static library libfoo.a, arrange to
67646         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
67647         (func_create_testdir): Likewise.
67648         * modules/gc (configure.ac, Makefile.am): If building statically,
67649         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
67650         * modules/iconvme (configure.ac, Makefile.am): Likewise.
67651         * modules/striconv (configure.ac, Makefile.am): Likewise.
67652         Based on a suggestion by Ralf Wildenhues.
67653
67654 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67655
67656         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
67657         Check for unistd.h too, since Autoconf doesn't assume POSIX.
67658         Also:
67659
67660         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67661         Add year_2050_test to catch glibc bug 2821
67662         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
67663
67664         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67665         Prefer #ifdef to #if.
67666
67667         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
67668         Return from 'main' instead of calling 'exit'.
67669
67670 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67671
67672         * lib/mktime.c (guess_time_tm): Fix bug where mktime
67673         returned the maximum time_t value rather than (time_t) -1.
67674         Problem originally reported by William Bardwell
67675         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
67676
67677         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
67678         Moved to here ...
67679         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
67680         ... from here.
67681
67682 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67683
67684         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
67685         2821 is fixed.
67686
67687 2006-09-08  Jim Meyering  <jim@meyering.net>
67688
67689         Don't make generated files read-only.  That would bother too many
67690         people.  However, do retain the ability to work when targets are
67691         read-only: remove the destination and temporary files before writing
67692         them (when generated via sed or echo), or by using the -f option for
67693         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
67694         * modules/alloca-opt, modules/argz, modules/arpa_inet:
67695         * modules/byteswap, modules/configmake, modules/fcntl:
67696         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
67697         * modules/localcharset, modules/netinet_in, modules/poll:
67698         * modules/stdbool, modules/stdint, modules/sys_select:
67699         * modules/sys_socket, modules/sys_stat, modules/sysexits:
67700
67701 2006-09-08  Jim Meyering  <jim@meyering.net>
67702
67703         Avoid new build failure on FreeBSD 6.0.
67704         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
67705         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
67706         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
67707
67708 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67709
67710         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
67711
67712 2006-09-07  Jim Meyering  <jim@meyering.net>
67713
67714         Fix global typo in last change: use chmod u-w, not chmod u-x.
67715         Spotted by Paul Eggert and Bruce Korb.
67716         * modules/alloca-opt, modules/argz, modules/arpa_inet:
67717         * modules/byteswap, modules/configmake, modules/fcntl:
67718         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
67719         * modules/localcharset, modules/netinet_in, modules/poll:
67720         * modules/stdbool, modules/stdint, modules/sys_select:
67721         * modules/sys_socket, modules/sys_stat, modules/sysexits:
67722
67723 2006-09-06  Jim Meyering  <jim@meyering.net>
67724
67725         Make generated files be read-only.
67726         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
67727         Ensure that each generated file is now read-only.
67728         * modules/argz: Likewise.
67729         * modules/arpa_inet: Likewise.
67730         * modules/byteswap: Likewise.
67731         * modules/configmake: Likewise.
67732         * modules/fcntl: Likewise.
67733         * modules/fnmatch: Likewise.
67734         * modules/getopt: Likewise.
67735         * modules/glob: Likewise.
67736         * modules/inttypes: Likewise.
67737         * modules/netinet_in: Likewise.
67738         * modules/poll: Likewise.
67739         * modules/stdbool: Likewise.
67740         * modules/stdint: Likewise.
67741         * modules/sys_select: Likewise.
67742         * modules/sys_socket: Likewise.
67743         * modules/sys_stat: Likewise.
67744         * modules/sysexits: Likewise.
67745         * modules/localcharset: Same as above, but continue using temporary
67746         file named "t-$@" (why different?) rather than the "$@-t" used
67747         everywhere else.
67748
67749         * modules/sysexits (Makefile.am): Replace literal occurrences
67750         of "sysexit.h" more readable, and more consistent, "$@".
67751
67752 2006-09-06  Bruno Haible  <bruno@clisp.org>
67753
67754         * modules/striconv: New file.
67755         * modules/xstriconv: New file.
67756         * MODULES.html.sh (Internationalization functions): Add striconv,
67757         xstriconv.
67758
67759 2006-09-06  Bruno Haible  <bruno@clisp.org>
67760
67761         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
67762         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
67763         not using libtool correctly.
67764
67765 2006-09-06  Bruno Haible  <bruno@clisp.org>
67766
67767         * lib/striconv.h: New file.
67768         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
67769         iconvstring.c.
67770         * lib/xstriconv.h: New file.
67771         * lib/xstriconv.c: New file.
67772
67773 2006-09-06  Bruno Haible  <bruno@clisp.org>
67774
67775         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
67776         lib_..._LDFLAGS.
67777
67778 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67779
67780         * lib/argz_.h: Sync from Libtool.
67781
67782         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
67783                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
67784
67785         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
67786
67787 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
67788
67789         * modules/trim: New file.
67790
67791 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
67792
67793         * lib/trim.h: New file.
67794         * lib/trim.c: New file.
67795
67796 2006-09-05  Bruno Haible  <bruno@clisp.org>
67797
67798         * MODULES.html.sh (String handling): Add trim.
67799
67800 2006-09-04  Karl Berry  <karl@gnu.org>
67801
67802         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
67803         until next release.
67804
67805 2006-09-03  Bruno Haible  <bruno@clisp.org>
67806
67807         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
67808         correctly.
67809
67810 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
67811
67812         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
67813         not gl_GETLOADAVG.  Omit unneeded semicolons.
67814         Problems reported by Ralf Wildenhues in
67815         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
67816         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
67817         at the end, which is the usual gnulib style.
67818
67819         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
67820         of doing all the work ourselves.
67821         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
67822         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
67823
67824 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
67825
67826         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
67827         Problem reported by Ralf Wildenhues in
67828         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
67829
67830         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
67831         HAVE_STRUCT_STATFS_F_FSTYPENAME.
67832
67833 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
67834
67835         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
67836         yesterday's patch by changing test -n to test -z.
67837
67838 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67839
67840         * modules/getloadavg (Files): Add m4/getloadavg.m4.
67841         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
67842         the former is now obsolescent.
67843
67844         * modules/chdir-long (Depends-on): Add fcntl.
67845
67846 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67847
67848         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
67849         obsolescent, and programs should use gnulib instead.
67850         * m4/getloadavg.m4: New file, with contents taken from Autoconf
67851         but with prefixes changed.
67852
67853 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
67854
67855         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
67856         or stdbool.h, because they might not exist while configuring.
67857
67858         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
67859         Don't include unistd.h or limits.h; not needed, since chdir-long.h
67860         does that for us.
67861         (O_DIRECTORY): Remove.
67862
67863 2006-08-31  Eric Blake  <ebb9@byu.net>
67864
67865         * gnulib-tool: Don't let emacs change spaces to TAB.
67866
67867 2006-08-31  Bruno Haible  <bruno@clisp.org>
67868
67869         * gnulib-tool: When calling func_import more than once, do it in a
67870         subshell.
67871         Reported by Eric Blake <ebb9@byu.net>.
67872
67873 2006-08-31  Bruno Haible  <bruno@clisp.org>
67874
67875         * gnulib-tool (nl): Remove variable.
67876         (sed_transform_lib_file): Use more robust test for config-h module.
67877         (func_import): Fix typo in 2006-08-25 patch.
67878
67879 2006-08-31  Bruno Haible  <bruno@clisp.org>
67880
67881         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
67882         specified, augment Makefile.am variables instead of assigning them.
67883
67884 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
67885
67886         Work around a bug in both the Linux and SunOS 64-bit kernels:
67887         nanosleep mishandles sleeps for longer than 2**31 seconds.
67888         Problem reported by Frank v Waveren in
67889         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
67890         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
67891         Check for nanosleep bug.
67892         (LIB_NANOSLEEP): Append clock_gettime library if needed.
67893
67894 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
67895
67896         Work around a bug in both the Linux and SunOS 64-bit kernels:
67897         nanosleep mishandles sleeps for longer than 2**31 seconds.
67898         Problem reported by Frank v Waveren in
67899         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
67900         * lib/nanosleep.c (BILLION): New constant.
67901         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
67902         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
67903         implementation.
67904
67905 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
67906
67907         * modules/nanosleep (Depends-on): Add gettime.
67908
67909 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
67910         and Simon Josefsson  <jas@extundo.com>
67911         and Oskar Liljeblad  <oskar@osk.mine.nu>
67912
67913         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
67914         * gnulib-tool (func_import): New license type 'unmodifiable license
67915         text'.
67916         * modules/fdl: Use it.  Longer description.
67917         * module/gpl, module/lgpl: New files.
67918
67919 2006-08-30  Jim Meyering  <jim@meyering.net>
67920
67921         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
67922         shadowing the parameter.
67923
67924 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67925
67926         Sync from Libtool:
67927
67928         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67929
67930         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
67931         sharing with gnulib.  Report by Eric Blake.
67932
67933 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
67934
67935         * modules/isapipe: New file.
67936         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
67937
67938 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
67939
67940         * modules/configmake (Makefile.am): Add a comment, and omit
67941         the CONFIGMAKE_ prefix from generated macro names.  Suggested
67942         by Bruno Haible.
67943
67944 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
67945
67946         * m4/isapipe.m4: New file.
67947
67948 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
67949
67950         * lib/isapipe.c, lib/isapipe.h: New files.
67951
67952 2006-08-29  Jim Meyering  <jim@meyering.net>
67953
67954         * modules/configmake (Makefile.am): Make configmake.h depend on
67955         Makefile.  Otherwise, a stale configmake.h could hang around.
67956
67957 2006-08-29  Eric Blake  <ebb9@byu.net>
67958
67959         * lib/error.c (error_at_line, print_errno_message): Match libc, after
67960         resolution of upstream bug 3044.
67961
67962 2006-08-29  Bruno Haible  <bruno@clisp.org>
67963
67964         * modules/localcharset (Depends-on): Add configmake.
67965         (Makefile.am): Remove setting of LIBDIR through DEFS.
67966
67967 2006-08-29  Bruno Haible  <bruno@clisp.org>
67968
67969         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
67970         defined.
67971
67972 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
67973
67974         * modules/fcntl: New file.
67975         * modules/chdir-safer (Depends-on): Add fcntl.
67976         * modules/fts: Likewise.
67977         * modules/mkdir-p: Likewise.
67978
67979         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
67980         This undoes the most recent change, since we're now addressing the
67981         problem in a different way.
67982
67983         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
67984         into output, since the output might be called Makefile.am even
67985         if $makefile_name is something different.
67986         (func_import): Use $makefile_am rather than
67987         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
67988         empty.
67989
67990         * modules/inttypes (Files): Add m4/inttypes-h.m4.
67991
67992 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
67993
67994         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
67995         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
67996         recent change to stdint.m4, since we're now addressing the problem in a
67997         different way.
67998
67999 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68000
68001         * m4/fcntl_h.m4: New file.
68002
68003 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68004
68005         * lib/fcntl_.h: New file.
68006         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
68007         the fcntl module.
68008         * lib/dirchownmod.c: Likewise.
68009         * lib/fts.c: Likewise.
68010
68011         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
68012         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
68013         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
68014         just before including <inttypes.h>, to avoid circular inclusion.
68015
68016 2006-08-28  Jim Meyering  <jim@meyering.net>
68017
68018         * doc/visibility.texi: Actually read and correct the grammar of the
68019         sentence affected by yesterday's change.
68020
68021 2006-08-28  Eric Blake  <ebb9@byu.net>
68022
68023         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
68024         needs wrapper.
68025
68026 2006-08-28  Eric Blake  <ebb9@byu.net>
68027
68028         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
68029
68030 2006-08-28  Eric Blake  <ebb9@byu.net>
68031
68032         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
68033
68034 2006-08-28  Bruno Haible  <bruno@clisp.org>
68035
68036         * modules/c-strstr: New file, from GNU gettext.
68037         * MODULES.html.sh (String handling): Add c-strstr.
68038
68039 2006-08-28  Bruno Haible  <bruno@clisp.org>
68040
68041         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
68042         macros.
68043         Reported by Eric Blake.
68044
68045 2006-08-28  Bruno Haible  <bruno@clisp.org>
68046
68047         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
68048         (VASNPRINTF): Return a string of length > INT_MAX without failing.
68049         * lib/vasprintf.c: Include errno.h, limits.h.
68050         (EOVERFLOW): New fallback definition.
68051         (vasprintf): Test here whether the string length is > INT_MAX.
68052         * lib/vsnprintf.c: Include errno.h, limits.h.
68053         (EOVERFLOW): New fallback definition.
68054         (vsnprintf): Fix bug when generated string was too long for the buffer.
68055         Test here whether the string length is > INT_MAX.
68056
68057 2006-08-28  Bruno Haible  <bruno@clisp.org>
68058
68059         * lib/inttypes_.h (SCNX*): Remove definitions.
68060         Reported by Eric Blake.
68061
68062 2006-08-28  Bruno Haible  <bruno@clisp.org>
68063
68064         * lib/c-strstr.h: New file, from GNU gettext.
68065         * lib/c-strstr.c: New file, from GNU gettext.
68066
68067 2006-08-28  Bruno Haible  <bruno@clisp.org>
68068
68069         * gnulib-tool: Reorder some statements.
68070
68071 2006-08-28  Bruno Haible  <bruno@clisp.org>
68072
68073         * gnulib-tool: New option --makefile-name.
68074         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
68075         $makefile_name.
68076         (func_import): Write $makefile_name to the cache file, and read it from
68077         there unless explicitly specified. Use $makefile_name as file name
68078         instead of Makefile.am. Adjust the recommendations accordingly.
68079
68080 2006-08-28  Bruno Haible  <bruno@clisp.org>
68081
68082         * gnulib-tool (func_verify_module): Check against misapplying patch.
68083
68084 2006-08-28  Bruno Haible  <bruno@clisp.org>
68085
68086         * gnulib-tool (func_relativize, func_relconcat): New functions.
68087         Give an error if --local-dir is given with --update.
68088         Remove trailing slashes from $local_gnulib_dir.
68089         (func_import): Store the relativized $local_gnulib_dir in
68090         gnulib-cache.m4, and read it from there if not specified explicitly.
68091
68092 2006-08-28  Bruno Haible  <bruno@clisp.org>
68093
68094         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
68095         is the current directory. Respect also $local_gnulib_dir.
68096
68097 2006-08-28  Bruno Haible  <bruno@clisp.org>
68098             Simon Josefsson  <jas@extundo.com>
68099
68100         BeOS portability.
68101         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
68102
68103 2006-08-27  Jim Meyering  <jim@meyering.net>
68104
68105         * doc/visibility.texi: Remove duplicate word: "pointer".
68106
68107 2006-08-26  Bruno Haible  <bruno@clisp.org>
68108
68109         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
68110         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
68111         (Makefile.am): Create inttypes.h from inttypes_.h.
68112         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
68113
68114         * modules/imaxabs: New file.
68115
68116         * modules/imaxdiv: New file.
68117
68118 2006-08-26  Bruno Haible  <bruno@clisp.org>
68119
68120         * m4/inttypes.m4: New file.
68121         * m4/_inttypes_h.m4: Remove file.
68122         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
68123         PRI_MACROS_BROKEN.
68124         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
68125
68126         * m4/imaxabs.m4: New file.
68127
68128         * m4/imaxdiv.m4: New file.
68129
68130 2006-08-26  Bruno Haible  <bruno@clisp.org>
68131
68132         * lib/inttypes_.h: New file.
68133         * lib/inttypes.h: Remove file.
68134         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
68135
68136         * lib/imaxabs.c: New file.
68137
68138         * lib/imaxdiv.c: New file.
68139
68140 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68141
68142         New config-h module, so that "make" output needn't be cluttered
68143         by -DHAVE_CONFIG_H.
68144         * MODULES.html.sh (Support for building libraries and executables):
68145         Add config-h.
68146         * modules/config-h: New file.
68147         * gnulib-tool (nl, sed_transform_lib_file): New vars.
68148         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
68149         the config-h module is used.
68150
68151         New configmake module, so that "make" output needn't be cluttered
68152         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
68153         * MODULES.html.sh (Support for building libraries and executables):
68154         Add configmake.
68155         * modules/configmake: New file.
68156
68157 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68158
68159         * m4/config-h.m4: New file.
68160
68161 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68162
68163         * config/srclist.txt: Add elisp-comp.
68164
68165 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68166
68167         * MODULES.html.sh (Support for building libraries and executables):
68168         Add elisp-comp.
68169         * build-aux/elisp-comp: New file.
68170         * modules/elisp-comp: New file.
68171
68172 2006-08-24  Bruno Haible  <bruno@clisp.org>
68173
68174         * gnulib-tool (func_create_testdir): Use non-default values of
68175         sourcebase and m4base.
68176
68177 2006-08-24  Bruno Haible  <bruno@clisp.org>
68178
68179         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
68180         HTML structure.
68181
68182 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68183
68184         * modules/openat (Depends-on): Add lchown.
68185
68186 2006-08-23  Bruno Haible  <bruno@clisp.org>
68187
68188         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
68189         of gl_LOCK_EARLY instead of gl_LOCK.
68190
68191 2006-08-23  Bruno Haible  <bruno@clisp.org>
68192
68193         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
68194         on OSF/1 to no.
68195         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
68196
68197 2006-08-23  Bruno Haible  <bruno@clisp.org>
68198
68199         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
68200         as unusable.
68201
68202         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
68203         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
68204         (gl_LOCK): New macro.
68205
68206 2006-08-22  Simon Josefsson  <jas@extundo.com>
68207
68208         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
68209         to md5 module.
68210
68211 2006-08-22  Simon Josefsson  <jas@extundo.com>
68212
68213         * MODULES.html.sh: Add "Support for maintaining and release
68214         projects".
68215
68216         * build-aux/gnupload: New file, from coreutils.
68217
68218 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68219
68220         Avoid the need for AC_LIBSOURCES in m4 macros.
68221         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
68222         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
68223         * modules/check-version (EXTRA_DIST): Add check-version.h.
68224         * modules/crc (EXTRA_DIST): Add crc.h.
68225         * modules/des (EXTRA_DIST): Add des.h.
68226         * modules/gc (EXTRA_DIST): Add gc.h.
68227         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
68228         * modules/getline (EXTRA_DIST): Add getline.h.
68229         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
68230         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
68231         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
68232         * modules/md2 (EXTRA_DIST): Add md2.h.
68233         * modules/md4 (EXTRA_DIST): Add md4.h.
68234         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
68235         * modules/read-file (EXTRA_DIST): Add read-file.h.
68236         * modules/readline (EXTRA_DIST): Add readline.h.
68237         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
68238         rijndael-api-fst.h.
68239
68240 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68241
68242         * m4/rijndael.m4 (gl_ARCFOUR):
68243         * m4/arctwo.m4 (gl_ARCTWO):
68244         * m4/check-version.m4 (gl_CHECK_VERSION):
68245         * m4/crc.m4 (gl_CRC):
68246         * m4/des.m4 (gl_DES):
68247         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
68248         * m4/gc.m4 (gl_GC):
68249         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
68250         * m4/getline.m4 (gl_FUNC_GETLINE):
68251         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
68252         * m4/hmac-md5.m4 (gl_HMAC_MD5):
68253         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
68254         * m4/md2.m4 (gl_MD2):
68255         * m4/md4.m4 (gl_MD4):
68256         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
68257         * m4/read-file.m4 (gl_FUNC_READ_FILE):
68258         * m4/readline.m4 (gl_FUNC_READLINE):
68259         * m4/rijndael.m4 (gl_RIJNDAEL):
68260         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68261         to get the necessary .h files and whatnot.
68262
68263 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68264
68265         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
68266         gnulib rather than the other way around.
68267         * config/srclistvars.sh (COREUTILS): Remove.
68268
68269 2006-08-22  Jim Meyering  <jim@meyering.net>
68270
68271         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
68272
68273         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
68274
68275 2006-08-22  Eric Blake  <ebb9@byu.net>
68276
68277         * modules/regexprops-generic: New file.
68278         * MODULES.html.sh (Support for building documentation): List it.
68279
68280 2006-08-22  Eric Blake  <ebb9@byu.net>
68281
68282         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
68283         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
68284         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
68285         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
68286
68287 2006-08-22  Bruno Haible  <bruno@clisp.org>
68288
68289         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
68290         and lib_LTLIBRARIES like the other lib_* variables.
68291
68292 2006-08-22  Bruno Haible  <bruno@clisp.org>
68293
68294         * build-aux/x-to-1.in: New file, from GNU gettext.
68295
68296 2006-08-22  Bruno Haible  <bruno@clisp.org>
68297
68298         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
68299         <utmpx.h> exists.
68300
68301 2006-08-22  Bruno Haible  <bruno@clisp.org>
68302
68303         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
68304         <utmpx.h> exists.
68305
68306 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68307
68308         BeOS portability.
68309         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
68310         exist.
68311         Problem reported by Bruno Haible.
68312
68313 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68314
68315         Avoid the need for AC_LIBSOURCES in m4 macros.
68316         * modules/acl (EXTRA_DIST): Add acl.h.
68317         * modules/argmatch (Files): Add m4/argmatch.m4.
68318         (configure.ac): Add gl_ARGMATCH.
68319         (EXTRA_DIST): Renamed from lib_SOURCES, for
68320         consistency with the other modules.  Remove argmatch.c.
68321         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
68322         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
68323         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
68324         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
68325         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
68326         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
68327         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
68328         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
68329         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
68330         * modules/closeout (EXTRA_DIST): Add closeout.h.
68331         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
68332         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
68333         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
68334         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
68335         dirname.h; remove basename.c and stripslash.c.
68336         * modules/exclude (EXTRA_DIST): Add exclude.h.
68337         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
68338         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
68339         * modules/file-type (EXTRA_DIST): Add file-type.h.
68340         * modules/filemode (EXTRA_DIST): Add filemode.h.
68341         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
68342         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68343         * modules/fpending (EXTRA_DIST): Add __fpending.h.
68344         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
68345         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
68346         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
68347         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
68348         * modules/getdate (EXTRA_DIST): Add getdate.c.
68349         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
68350         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
68351         * modules/getpass (EXTRA_DIST): Add getpass.h.
68352         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
68353         * modules/group-member (EXTRA_DIST): Add group-member.h.
68354         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
68355         * modules/hash (EXTRA_DIST): Add hash.h.
68356         * modules/human (EXTRA_DIST): Add human.h.
68357         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
68358         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
68359         * modules/lchown (EXTRA_DIST): Add lchown.h.
68360         * modules/long-options (EXTRA_DIST): Add long-options.h.
68361         * modules/lstat (EXTRA_DIST): Add lstat.h.
68362         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
68363         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
68364         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
68365         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
68366         * modules/memxor (EXTRA_DIST): Add memxor.h.
68367         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
68368         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
68369         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
68370         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
68371         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
68372         * modules/physmem (EXTRA_DIST): Add physmem.h.
68373         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
68374         * modules/posixver (EXTRA_DIST): Add posixver.h.
68375         * modules/quote (EXTRA_DIST): Add quote.h.
68376         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
68377         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
68378         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
68379         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
68380         regex_internal.h regexec.c.
68381         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
68382         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
68383         * modules/same (EXTRA_DIST): Add same.h.
68384         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
68385         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
68386         * modules/savedir (EXTRA_DIST): Add savedir.h.
68387         * modules/sha1 (EXTRA_DIST): Add sha1.h.
68388         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
68389         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
68390         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
68391         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
68392         * modules/strdup (EXTRA_DIST): Add strdup.h.
68393         * modules/strftime (EXTRA_DIST): Add strftime.h.
68394         * modules/strndup (EXTRA_DIST): Add strndup.h.
68395         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
68396         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
68397         * modules/time_r (EXTRA_DIST): Add time_r.h.
68398         * modules/timespec (EXTRA_DIST): Add timespec.h.
68399         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68400         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
68401         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
68402         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
68403         * modules/userspec (EXTRA_DIST): Add userspec.h.
68404         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
68405         * modules/utimens (EXTRA_DIST): Add utimens.h.
68406         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
68407         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
68408         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
68409         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
68410         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
68411         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
68412         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
68413         * modules/yesno (EXTRA_DIST): Add yesno.h.
68414
68415 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68416
68417         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
68418
68419         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
68420         * m4/dev-ino.m4, same-inode.m4: Remove.
68421
68422         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
68423         * m4/acl.m4 (AC_FUNC_ACL):
68424         * m4/backupfile.m4 (gl_BACKUPFILE):
68425         * m4/c-strtod.m4 (gl_C99_STRTOLD):
68426         * m4/canon-host.m4 (gl_CANON_HOST):
68427         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
68428         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
68429         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
68430         * m4/cloexec.m4 (gl_CLOEXEC):
68431         * m4/close-stream.m4 (gl_CLOSE_STREAM):
68432         * m4/closeout.m4 (gl_CLOSEOUT):
68433         * m4/dirfd.m4 (gl_FUNC_DIRFD):
68434         * m4/dirname.m4 (gl_DIRNAME):
68435         * m4/exclude.m4 (gl_EXCLUDE):
68436         * m4/exitfail.m4 (gl_EXITFAIL):
68437         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
68438         * m4/file-type.m4 (gl_FILE_TYPE):
68439         * m4/filemode.m4 (gl_FILEMODE):
68440         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
68441         * m4/fpending.m4 (gl_FUNC_FPENDING):
68442         * m4/fprintftime.m4 (gl_FPRINTFTIME):
68443         * m4/fts.m4 (gl_FUNC_FTS):
68444         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
68445         * m4/getdate.m4 (gl_GETDATE):
68446         * m4/gethrxtime.m4 (gl_GETHRXTIME):
68447         * m4/getpagesize.m4 (gl_GETPAGESIZE):
68448         * m4/getpass.m4 (gl_FUNC_GETPASS):
68449         * m4/gettime.m4 (gl_GETTIME):
68450         * m4/getugroups.m4 (gl_GETUGROUPS):
68451         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
68452         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
68453         * m4/hard-locale.m4 (gl_HARD_LOCALE):
68454         * m4/hash.m4 (gl_HASH):
68455         * m4/idcache.m4 (gl_IDCACHE):
68456         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
68457         * m4/lchown.m4 (gl_FUNC_LCHOWN):
68458         * m4/long-options.m4 (gl_LONG_OPTIONS):
68459         * m4/lstat.m4 (gl_FUNC_LSTAT):
68460         * m4/md5.m4 (gl_MD5):
68461         * m4/memcasecmp.m4 (gl_MEMCASECMP):
68462         * m4/memcoll.m4 (gl_MEMCOLL):
68463         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
68464         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
68465         * m4/memxor.m4 (gl_MEMXOR):
68466         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
68467         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
68468         * m4/modechange.m4 (gl_MODECHANGE):
68469         * m4/mountlist.m4 (gl_MOUNTLIST):
68470         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68471         * m4/openat.m4 (gl_FUNC_OPENAT):
68472         * m4/pathmax.m4 (gl_PATHMAX):
68473         * m4/physmem.m4 (gl_PHYSMEM):
68474         * m4/posixtm.m4 (gl_POSIXTM):
68475         * m4/posixver.m4 (gl_POSIXVER):
68476         * m4/quote.m4 (gl_QUOTE):
68477         * m4/quotearg.m4 (gl_QUOTEARG):
68478         * m4/readtokens.m4 (gl_READTOKENS):
68479         * m4/readutmp.m4 (gl_READUTMP):
68480         * m4/regex.m4 (gl_REGEX):
68481         * m4/safe-read.m4 (gl_SAFE_READ):
68482         * m4/safe-write.m4 (gl_SAFE_WRITE):
68483         * m4/same.m4 (gl_SAME):
68484         * m4/save-cwd.m4 (gl_SAVE_CWD):
68485         * m4/savedir.m4 (gl_SAVEDIR):
68486         * m4/settime.m4 (gl_SETTIME):
68487         * m4/sha1.m4 (gl_SHA1):
68488         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
68489         * m4/stat-macros.m4 (gl_STAT_MACROS):
68490         * m4/stat-time.m4 (gl_STAT_TIME):
68491         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
68492         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
68493         * m4/strdup.m4 (gl_FUNC_STRDUP):
68494         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
68495         * m4/strndup.m4 (gl_FUNC_STRNDUP):
68496         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
68497         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
68498         * m4/time_r.m4 (gl_TIME_R):
68499         * m4/timespec.m4 (gl_TIMESPEC):
68500         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
68501         * m4/unlinkdir.m4 (gl_UNLINKDIR):
68502         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
68503         * m4/userspec.m4 (gl_USERSPEC):
68504         * m4/utimecmp.m4 (gl_UTIMECMP):
68505         * m4/utimens.m4 (gl_UTIMENS):
68506         * m4/xalloc.m4 (gl_XALLOC):
68507         * m4/xgetcwd.m4 (gl_XGETCWD):
68508         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
68509         * m4/xreadlink.m4 (gl_XREADLINK):
68510         * m4/xstrtod.m4 (gl_XSTRTOD):
68511         * m4/yesno.m4 (gl_YESNO):
68512         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68513         to get the necessary .h files and whatnot.
68514
68515 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
68516             Bruno Haible  <bruno@clisp.org>
68517
68518         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
68519         /bin/sh understanding of '!' conditional negation.
68520
68521 2006-08-21  Jim Meyering  <jim@meyering.net>
68522
68523         * modules/openat (Depends-on): Really alphabetize.
68524
68525         * modules/acl (Depends-on): Add error and quote.
68526
68527         * check-module (find_included_lib_files): Add at-func.c to the
68528         ok-to-include-more-than-once white list.
68529
68530         * modules/openat (Depends-on): Add lstat.  Alphabetize.
68531
68532 2006-08-21  Bruno Haible  <bruno@clisp.org>
68533
68534         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68535         Emit a pkgdata_DATA variable only if some snippets add contents to it.
68536         Reported by Martin Lambers <marlam@marlam.de>.
68537
68538 2006-08-21  Bruno Haible  <bruno@clisp.org>
68539
68540         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
68541         specify an installation location, don't emit a noinst_LIBRARIES or
68542         noinst_LTLIBRARIES assignment.
68543
68544 2006-08-21  Bruno Haible  <bruno@clisp.org>
68545
68546         BeOS portability.
68547         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
68548         BeOS has mbrtowc() but no <wctype.h>.
68549
68550 2006-08-21  Bruno Haible  <bruno@clisp.org>
68551
68552         BeOS portability.
68553         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
68554         exist.
68555
68556 2006-08-21  Bruno Haible  <bruno@clisp.org>
68557
68558         BeOS portability.
68559         * lib/mbchar.h: Include <wctype.h> only if it exists.
68560
68561 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68562
68563         Remove files that are no longer needed by their respective modules.
68564         * m4/obstack.m4: Remove.
68565         * m4/strerror_r.m4: Remove.
68566         * m4/uint32_t.m4: Remove.
68567         * m4/uintptr_t.m4: Remove.
68568         * m4/ullong_max.m4: Remove.
68569         * m4/xstrtoimax.m4: Remove.
68570         * m4/xstrtoumax.m4: Remove.
68571
68572         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
68573         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
68574         dependencies now capture this.
68575
68576         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
68577         Do not use AC_LIBSOURCES, since gnulib modules now do this.
68578         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
68579         * m4/human.m4 (gl_HUMAN): Likewise.
68580         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
68581         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
68582
68583         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
68584
68585         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
68586         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
68587         stdint.
68588         * m4/human.m4 (gl_HUMAN): Likewise.
68589         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
68590         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
68591         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
68592         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
68593         * m4/xstrtol (gl_XSTRTOL): Likewise.
68594
68595         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
68596         AC_TYPE_LONG_LONG_INT.
68597         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
68598         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
68599         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
68600         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
68601
68602         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
68603         on stdbool.
68604
68605         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
68606         (gl_PREREQ_XSTRTOUL): Remove.
68607
68608         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
68609
68610         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
68611         mode.
68612
68613 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68614
68615         Add and change modules to make it easier for coreutils to use
68616         gnulib-tool.
68617         * modules/backupfile (Files): Remove m4/d-ino.m4.
68618         (Depends-on): Add d-ino.
68619         * modules/cycle-check (Depends-on): Add stdint.
68620         (lib_SOURCES): Add cycle-check.h.
68621         * modules/d-ino: New module.
68622         * modules/d-type: New module.
68623         * modules/error (Files): Remove m4/strerror_r.m4.
68624         * modules/filemode (Files): Add m4/st_dm_mode.m4.
68625         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
68626         m4/inttypes_h.m4, m4/uintmax_t.m4.
68627         (Depends-on): Add stdint.
68628         (lib_SOURCES): Add fsusage.h.
68629         * modules/getcwd (Files): Remove d-ino.m4.
68630         (Depends-on): Add d-ino.
68631         * modules/getndelim2 (Depends-on): Add stdint.
68632         * modules/glob (Files): Remove m4/d-type.m4.
68633         (Depends-on): Add d-type.
68634         * modules/host-os: New module.
68635         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
68636         m4/inttypes_h.m4, m4/uintmax_t.m4.
68637         * Depends-on: Add stdint.
68638         (lib_SOURCES): Add human.h.
68639         * modules/inttostr (Files): Remove m4/intmax_t.m4,
68640         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
68641         m4/uintmax_t.m4, m4/ulonglong.m4.
68642         (Depends-on): Add stdint.
68643         (EXTRA_DIST): Add inttostr.h.
68644         * modules/lchmod: New module.
68645         * modules/link-follow: New module.
68646         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
68647         (Depends-on): Add lchmod.
68648         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
68649         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
68650         (Depends-on): Add stdint.
68651         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
68652         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
68653         (Depends-on): Add stdint.
68654         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
68655         * modules/perl: New module.
68656         * modules/regex (Depends-on): Add stdint.
68657         * modules/rmdir-errno: New module.
68658         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
68659         m4/intmax_t.m4.
68660         (Depends-on): Add stdint.
68661         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
68662         m4/uintmax_t.m4.
68663         (Depends-on): Add stdint.
68664         * modules/unlink-busy: New module.
68665         * modules/utimecmp (Depends-on): Add stdint.
68666         * modules/uptime: New module.
68667         * modules/winsz-ioctl: New module.
68668         * modules/winsz-termios: New module.
68669         * modules/xnanosleep (Depends-on): Add nanosleep.
68670         * modules/ullong_max: Remove.
68671         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
68672         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
68673         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
68674         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
68675         (Depends-on): Add inttypes.
68676         (lib_SOURCES): Add xstrtol.h.
68677         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
68678         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
68679         * MODULES.html.sh: Move 'assert' into the assert section.
68680         Move 'dummy' into the linking section.
68681         Remove ullong_max.
68682         Add section for compatibility checks for POSIX:2001 functions,
68683         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
68684         winsz-ioctl, and winsz-termios into it.
68685         Add lchmod.
68686         Add top-level Misc section and put host-os, perl, and uptime
68687         into it.
68688
68689 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68690
68691         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
68692         now assume the stdint module.  Do not include inttypes.h.
68693         * lib/fsusage.h: Likewise.
68694         * lib/getndelim2.c: Likewise.
68695         * lib/human.h: Likewise.
68696         * lib/inttostr.h: Likewise.
68697         * lib/obstack.c: Likewise.
68698         * lib/regex_internal.h: Likewise.
68699         * lib/tempname.c: Likewise.
68700         * lib/utimecmp.c: Likewise.
68701         * lib/xstrtol.h: Likewise.
68702
68703         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
68704
68705         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
68706         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
68707         * lib/xtime.h: Likewise.
68708
68709 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68710
68711         * modules/openat (Files): Add lib/fchmodat.c.
68712         Fixes problem reported by Jay Youngman.
68713
68714 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68715
68716         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
68717         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
68718
68719 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
68720             Bruno Haible  <bruno@clisp.org>
68721
68722         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
68723         and is a script that invokes bison. Tighten the code. Add comments.
68724
68725 2006-08-18  Jim Meyering  <jim@meyering.net>
68726
68727         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
68728         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
68729         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
68730         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
68731
68732 2006-08-18  Bruno Haible  <bruno@clisp.org>
68733
68734         * modules/bison-i18n: New file.
68735         * MODULES.html.sh (Internationalization functions): Add it.
68736
68737 2006-08-18  Bruno Haible  <bruno@clisp.org>
68738
68739         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
68740         sys/statvfs.h. When getmntinfo was found, check its declaration and
68741         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
68742
68743 2006-08-18  Bruno Haible  <bruno@clisp.org>
68744
68745         * m4/bison-i18n.m4: New file, from bison.
68746
68747 2006-08-18  Bruno Haible  <bruno@clisp.org>
68748
68749         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
68750         (ME_DUMMY): Treat "kernfs" as a dummy.
68751         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
68752
68753 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68754
68755         Update from coreutils.
68756
68757         2006-08-15  Jim Meyering  <jim@meyering.net>
68758
68759         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
68760
68761         2006-01-17  Jim Meyering  <jim@meyering.net>
68762
68763         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
68764
68765         2006-01-11  Jim Meyering  <jim@meyering.net>
68766
68767         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
68768         Check for the lchmod function.
68769
68770 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68771
68772         Update from coreutils.
68773
68774         * lib/__fpending.h: Add copyright notice.
68775         * lib/fprintftime.h: Likewise.
68776         * lib/savedir.c: Use (C) in copyright notice.
68777         * lib/savedir.h: Likewise.
68778
68779         2006-08-15  Jim Meyering  <jim@meyering.net>
68780
68781         * lib/at-func.c: New file, with the logic of all emulated at-functions.
68782         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
68783         in support of the EXPECTED_ERRNO macro.
68784         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
68785         definitions.  Instead, define the appropriate symbols and include
68786         "at-func.c".
68787         * lib/mkdirat.c (mkdirat): Likewise.
68788         * lib/fchmodat.c (fchmodat): Likewise.
68789         (ENOSYS): Remove definition.
68790         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
68791         it.  Don't include "unistd--.h" -- it wasn't ever used.
68792
68793         2006-01-17  Jim Meyering  <jim@meyering.net>
68794
68795         Rewrite fts.c not to change the current working directory,
68796         by using openat, fstatat, fdopendir, etc..
68797
68798         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
68799         (HAVE_OPENAT_SUPPORT): Define.
68800         [_LIBC] (fchdir): Don't undef or define; no longer used.
68801         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
68802         Now, this `function' always succeeds, and consumes its file descriptor
68803         parameter -- so callers must not close such FDs.  Update callers.
68804         (diropen_fd, opendirat, cwd_advance_fd): New functions.
68805         (diropen): Add parameter, SP.  Adjust all callers.
68806         Implement using diropen_fd, rather than open.
68807         (fts_open): Initialize new member, fts_cwd_fd.
68808         Remove fts_rft-setting code.
68809         (fts_close): Close fts_cwd_fd, if necessary.
68810         (__opendir2): Define in terms of opendir or opendirat,
68811         depending on whether the FST_NOCHDIR flag is set.
68812         (fts_build): Since fts_safe_changedir consumes its FD, and since
68813         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
68814         and close the dup'd file descriptor upon failure.
68815         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
68816         (fts_safe_changedir): Tweak semantics to reflect that this function
68817         now calls cwd_advance_fd and hence consumes its FD argument.
68818         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
68819         [struct FTS] (fts_rft): Remove now-unused member.
68820         [struct FTS] (fts_cycle.state): Improve comment.
68821
68822         * lib/openat.c (openat_needs_fchdir): New function.
68823         * lib/openat.h (openat_needs_fchdir): Declare it.
68824
68825 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
68826
68827         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
68828         Problem and fix reported by Pádraig Brady in
68829         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
68830
68831 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68832
68833         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
68834
68835 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68836
68837         * lib/memcoll.c (memcoll): Optimize for the common case where the
68838         arguments are bytewise equal.
68839
68840 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
68841
68842         * doc/regexprops-generic.texi: Add a copyright notice.
68843
68844 2006-08-15  Bruno Haible  <bruno@clisp.org>
68845
68846         * modules/tmpdir (License): Change to LGPL.
68847
68848 2006-08-15  Bruno Haible  <bruno@clisp.org>
68849
68850         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
68851         module.
68852
68853 2006-08-14  Simon Josefsson  <jas@extundo.com>
68854
68855         * config/srclist.txt: Add gnupload.
68856
68857 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
68858
68859         Change copyright notice from LGPL 2 to GPL 2, since that's the
68860         standard form used in the gnulib repository.
68861         * tests/test-lock.c: Likewise.
68862         * tests/test-stdint.c: Likewise.
68863         * tests/test-tls.c: Likewise.
68864
68865         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
68866         prelude-manager.  User shorter URLs for GNU projects, without '?'.
68867         Add copyright notice.
68868
68869         * check-module: Add copyright notice.  Output a copyright
68870         notice if "--version" is specified.
68871         * modules/COPYING: New file.
68872         * tests/test-getaddrinfo.c: Add copyright notice.
68873         * tests/test-verify.c: Likewise.
68874
68875 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
68876
68877         Change copyright notice from LGPL 2 to GPL 2, since that's the
68878         standard form used in the gnulib repository.
68879         * lib/lock.c: LGPL -> GPL.
68880         * lib/lock.h: Likewise.
68881         * lib/strnlen1.c: Likewise.
68882         * lib/strnlen1.h: Likewise.
68883         * lib/tls.c: Likewise.
68884         * lib/tls.h: Likewise.
68885         * lib/tmpdir.c: Likewise.
68886
68887         * lib/TODO: Remove; this belongs only in coreutils.
68888
68889 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
68890
68891         Add copyright notices to long-enough files that lack them, since
68892         otherwise the files aren't clearly free.  Use the same notice that
68893         getdate.texi already uses.
68894         * doc/alloca-opt.texi: Add copyright notice.
68895         * doc/alloca.texi: Likewise.
68896         * doc/ctime.texi: Likewise.
68897         * doc/functions.texi: Likewise.
68898         * doc/gcd.texi: Likewise.
68899         * doc/gnulib-tool.texi: Likewise.
68900         * doc/inet_ntoa.texi: Likewise.
68901         * doc/visibility.texi: Likewise.
68902
68903         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
68904         * doc/quote.texi: Add copyright notice.
68905
68906         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
68907         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
68908         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
68909         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
68910         is now obsolete, and give a pointer to the Sun list.
68911         Add copyright notice.
68912
68913 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
68914
68915         * config/srclistvars.sh: Add copyright notice.
68916
68917 2006-08-14  Eric Blake  <ebb9@byu.net>
68918
68919         Import the following change from libc:
68920
68921         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
68922
68923         Upstream bug 2997.
68924         * lib/misc/error.c: Add space between program name and message if file
68925         name is missing.
68926
68927 2006-08-12  Karl Berry  <karl@gnu.org>
68928
68929         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
68930         remove, these originate in gnulib now.
68931
68932 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68933
68934         * doc/Makefile (standards.info standards.html standards.dvi):
68935         Also depend on make-stds.texi.
68936
68937 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68938
68939         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
68940         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
68941
68942         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
68943         in wchar_t.  Problem reported by Eric Blake.
68944
68945         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
68946         LEN is smaller than SIZE.  Suggested by Bruno Haible.
68947         Also, help the compiler to keep LEN in a register.
68948
68949 2006-08-11  Eric Blake  <ebb9@byu.net>
68950
68951         * users.txt: Sort.  Add tar.
68952
68953 2006-08-11  Bruno Haible  <bruno@clisp.org>
68954
68955         * users.txt: New file.
68956
68957 2006-08-11  Bruno Haible  <bruno@clisp.org>
68958
68959         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
68960         before <wchar.h>. Needed for OSF/1 and BSD/OS.
68961
68962 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
68963
68964         * modules/snprintf (Depends-on): Remove minmax.
68965         (Maintainer): Add self and Bruno.
68966
68967 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
68968
68969         * lib/.cppi-disable: Add snprintf.h, socket_.h.
68970         * lib/snprintf.c: Include <errno.h> and <limits.h>.
68971         (EOVERFLOW): Define if the system does not.
68972         Do not include "minmax.h"; it wasn't used.
68973         (snprintf): Don't assume size_t promotes to an unsigned type.
68974         Fix bug when generated string was too long for the buffer: the
68975         buffer's contents are supposed to be the initial prefix of the
68976         output.  Don't assume vasnprintf returns EOVERFLOW if the size
68977         exceeds INT_MAX; do the check ourselves.
68978
68979         Import the following changes from libc:
68980
68981         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
68982
68983         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
68984         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
68985         set wc to the byte which couldn't be converted.
68986         (re_string_reconstruct): Don't clear valid_raw_len before calling
68987         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
68988         tip_context using re_string_context_at.
68989
68990         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
68991
68992         * lib/posix/regex.h: g++ still cannot handled [restrict].
68993
68994         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
68995
68996         * lib/posix/regex.h: Remove special handling for VMS.
68997
68998 2006-08-10  Jim Meyering  <jim@meyering.net>
68999
69000         * modules/same-inode: New module.
69001         * modules/dev-ino: New module.
69002         * modules/cycle-check: Depend on these modules, rather than simply
69003         including their .h files.
69004         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
69005         required via m4/cycle-check.m4.
69006         * modules/same: Depend on new same-inode module, rather than
69007         including same-inode.h.
69008         * modules/chdir-safer: New file.
69009
69010         * modules/chown (Depends-on): Add stat-macros.
69011
69012 2006-08-10  Jim Meyering  <jim@meyering.net>
69013
69014         * m4/cycle-check.m4: New file.
69015         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
69016         * m4/dev-ino.m4, m4/same-inode.m4: New files.
69017
69018 2006-08-10  Eric Blake  <ebb9@byu.net>
69019
69020         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
69021         in from original proposal.
69022
69023 2006-08-10  Eric Blake  <ebb9@byu.net>
69024         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
69025
69026         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
69027         namespace.
69028
69029 2006-08-10  Bruno Haible  <bruno@clisp.org>
69030
69031         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
69032         as well.
69033
69034 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69035
69036         Sync from coreutils.
69037
69038         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
69039
69040         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
69041         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
69042
69043 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69044
69045         * modules/restrict: Remove; no longer needed now that we assume
69046         Autoconf 2.59 or later.
69047         * MODULES.html.sh: Remove 'restrict'.
69048         * modules/argp (Depends-on): Remove 'restrict'.
69049         * modules/base64 (Depends-on): Likewise.
69050         * modules/gc (Depends-on): Likewise.
69051         * modules/getaddrinfo (Depends-on): Likewise.
69052         * modules/glob (Depends-on): Likewise.
69053         * modules/inet_ntop (Depends-on): Likewise.
69054         * modules/inet_pton (Depends-on): Likewise.
69055         * modules/memxor (Depends-on): Likewise.
69056         * modules/regex (Depends-on): Likewise.
69057         * modules/strtok_r (Depends-on): Likewise.
69058         * modules/time_r (Depends-on): Likewise.
69059
69060 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69061
69062         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
69063         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
69064         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
69065         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
69066         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
69067         * m4/memxor.m4 (gl_MEMXOR): Likewise.
69068         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
69069         gl_C_RESTRICT replaced by AC_C_RESTRICT.
69070
69071         Merge from coreutils.
69072         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
69073         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
69074         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69075         * m4/time_r.m4 (gl_TIME_R): Likewise.
69076
69077 2006-08-09  Karl Berry  <karl@gnu.org>
69078
69079         * config/srclist.txt: no more gettext-tools, per Bruno.
69080
69081 2006-08-08  Eric Blake  <ebb9@byu.net>
69082
69083         * modules/verror: New module.
69084         * MODULES.html.sh: Document it.
69085
69086 2006-08-08  Eric Blake  <ebb9@byu.net>
69087
69088         * lib/verror.h, lib/verror.c: New files.
69089
69090 2006-08-08  Eric Blake  <ebb9@byu.net>
69091
69092         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
69093         verror_at_line output complies with GNU Coding Standards even when
69094         file is NULL.
69095
69096 2006-08-07  Bruno Haible  <bruno@clisp.org>
69097
69098         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
69099         versions of AIX.
69100         Reported by Ralf Wildenhues.
69101
69102 2006-08-07  Bruno Haible  <bruno@clisp.org>
69103
69104         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
69105         in an AC_DEFUN. Needed so that the autoconf snippets can use
69106         AC_REQUIRE.
69107
69108 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69109
69110         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69111         Initialize pkgdata_DATA.
69112         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
69113         overriding it.
69114
69115 2006-08-06  Eric Blake  <ebb9@byu.net>
69116
69117         * lib/error.h: Fold in some upstream changes from glibc.
69118         * lib/error.c: Likewise.
69119
69120 2006-08-04  Bruno Haible  <bruno@clisp.org>
69121
69122         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69123         Make the mostlyclean-local rule depend on mostlyclean-generic.
69124         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
69125
69126 2006-07-31  Bruno Haible  <bruno@clisp.org>
69127
69128         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
69129         <stdlib.h>, <string.h>.
69130
69131 2006-07-30  Bruno Haible  <bruno@clisp.org>
69132
69133         * modules/readlink (License): Change to LGPL.
69134
69135 2006-07-30  Bruno Haible  <bruno@clisp.org>
69136
69137         * modules/javaversion (Makefile.am): Distribute javaversion.java and
69138         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
69139         set PKGDATADIR to point to it.
69140
69141 2006-07-30  Bruno Haible  <bruno@clisp.org>
69142
69143         * modules/csharpexec (configure.ac): Comment out macro invocation.
69144         * modules/javaexec (configure.ac): Likewise.
69145         * modules/javacomp-script (configure.ac): Likewise.
69146
69147         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
69148
69149 2006-07-30  Bruno Haible  <bruno@clisp.org>
69150
69151         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
69152         linked-list.
69153
69154 2006-07-30  Bruno Haible  <bruno@clisp.org>
69155
69156         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
69157
69158 2006-07-30  Bruno Haible  <bruno@clisp.org>
69159
69160         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69161         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
69162         get removed.
69163
69164 2006-07-29  Bruno Haible  <bruno@clisp.org>
69165
69166         Make it possible for gnulib-tool to work with locally modified or
69167         augmented gnulib repositories.
69168         * gnulib-tool (func_usage): Document --local-dir option.
69169         (local_gnulib_dir): New variable.
69170         Handle --local-dir option.
69171         (func_lookup_file): New function.
69172         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
69173         (func_get_description, func_get_filelist, func_get_description,
69174         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
69175         func_get_automake_snippet, func_get_include_directive,
69176         func_get_license, func_get_maintainer): Use func_lookup_file.
69177         (func_import, func_create_testdir): Use func_lookup_file.
69178
69179 2006-07-29  Bruno Haible  <bruno@clisp.org>
69180
69181         * modules/setenv (Depends-on): Add unistd.
69182
69183 2006-07-29  Bruno Haible  <bruno@clisp.org>
69184
69185         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
69186
69187 2006-07-29  Bruno Haible  <bruno@clisp.org>
69188
69189         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
69190
69191 2006-07-29  Bruno Haible  <bruno@clisp.org>
69192
69193         * gnulib-tool (import, update): If there is no Makefile.am, look at
69194         aclocal.m4, instead of bailing out.
69195
69196 2006-07-29  Bruno Haible  <bruno@clisp.org>
69197
69198         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
69199         Categorize the options by when they are useful.
69200
69201 2006-07-29  Bruno Haible  <bruno@clisp.org>
69202
69203         * gnulib-tool (func_usage): Document option --no-libtool.
69204         Handle option --no-libtool.
69205         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
69206         for changed semantics of $libtool variable.
69207         (func_import): Likewise. If libtool is not used, show this through
69208         an option --no-libtool.
69209         (func_create_testdir): Update.
69210
69211 2006-07-29  Bruno Haible  <bruno@clisp.org>
69212
69213         * gnulib-tool (func_import): Extend error message about missing
69214         --doc-base.
69215
69216 2006-07-29  Bruno Haible  <bruno@clisp.org>
69217
69218         * gnulib-tool (func_import): Don't create the $docbase directory if
69219         there is no file to store there.
69220
69221 2006-07-29  Bruno Haible  <bruno@clisp.org>
69222
69223         * gnulib-tool (autoconf_minversion): If a --dir option is given and
69224         relevant, look for configure.ac there, not in the current directory.
69225         Also use a simple search for AC_PREREQ, not "autoconf --trace".
69226
69227 2006-07-29  Bruno Haible  <bruno@clisp.org>
69228
69229         * gnulib-tool (SORT): New variable.
69230         (func_usage): Undocument --assume-autoconf option.
69231         Remove --assume-autoconf option handling.
69232         (autoconf_minversion): Determine from the contents of configure.ac.
69233         (func_import): Remove autoconf_minversion handling.
69234         Suggested by Eric Blake.
69235
69236 2006-07-29  Bruno Haible  <bruno@clisp.org>
69237
69238         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
69239
69240 2006-07-29  Bruno Haible  <bruno@clisp.org>
69241
69242         * config/srclist.txt (*setenv.[ch]): Remove rules.
69243
69244 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69245
69246         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
69247
69248 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69249
69250         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
69251         arpa/inet.h.
69252
69253 2006-07-28  Simon Josefsson  <jas@extundo.com>
69254
69255         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
69256         * modules/inet_pton (Depends-on): Likewise.
69257
69258 2006-07-28  Simon Josefsson  <jas@extundo.com>
69259
69260         * m4/netinet_in_h.m4: New file.
69261
69262 2006-07-28  Simon Josefsson  <jas@extundo.com>
69263
69264         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
69265         #include's.
69266
69267 2006-07-28  Simon Josefsson  <jas@extundo.com>
69268
69269         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
69270         #include's.
69271
69272 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
69273
69274         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
69275         setgid on directories only if they set these bits.
69276         * lib/modechange.h: Remove obsolete comment about masks.
69277
69278 2006-07-28  Eric Blake  <ebb9@byu.net>
69279
69280         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
69281         macro expansion.
69282
69283 2006-07-28  Bruno Haible  <bruno@clisp.org>
69284
69285         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
69286
69287 2006-07-28  Bruno Haible  <bruno@clisp.org>
69288
69289         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
69290
69291 2006-07-28  Bruno Haible  <bruno@clisp.org>
69292
69293         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
69294         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
69295         Define fallbacks.
69296         Avoids link error on FreeBSD 4.x.
69297         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69298
69299         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
69300         encoding.
69301         * lib/mbswidth.c (iswcntrl): Likewise.
69302
69303 2006-07-27  Bruno Haible  <bruno@clisp.org>
69304
69305         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
69306         test.
69307
69308 2006-07-27  Bruno Haible  <bruno@clisp.org>
69309
69310         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
69311         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
69312         defined.
69313
69314 2006-07-26  Eric Blake  <ebb9@byu.net>
69315
69316         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
69317
69318 2006-07-26  Eric Blake  <ebb9@byu.net>
69319
69320         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
69321         like mingw that lack mkstemp.
69322         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
69323         avoid compilation warning on mingw.
69324
69325 2006-07-26  Bruno Haible  <bruno@clisp.org>
69326
69327         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
69328         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
69329         INT_FAST*_MIN, INTPTR_MIN.
69330
69331 2006-07-25  Bruno Haible  <bruno@clisp.org>
69332
69333         * modules/version-etc (Depends-on): Add stdarg.
69334
69335 2006-07-25  Bruno Haible  <bruno@clisp.org>
69336
69337         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
69338         complex commands.
69339
69340 2006-07-25  Bruno Haible  <bruno@clisp.org>
69341
69342         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
69343         defined in <stdarg.h> or config.h.
69344
69345 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69346
69347         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
69348         (gl_STDIO_SAFER): Remove.
69349
69350 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69351
69352         * MODULES.html.sh (File stream based Input/Output):
69353         Add fopen-safer, tmpfile-safer; remove stdio-safer.
69354         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
69355         * modules/fopen-safer, modules/tmpfile-safer: New files.
69356         * modules/stdio-safer: Remove.
69357
69358 2006-07-24  Bruno Haible  <bruno@clisp.org>
69359
69360         * modules/tmpdir: New file.
69361         * MODULES.html.sh (File system functions): Add it.
69362
69363 2006-07-24  Bruno Haible  <bruno@clisp.org>
69364
69365         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
69366         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
69367
69368 2006-07-24  Bruno Haible  <bruno@clisp.org>
69369
69370         * modules/clean-temp: New file.
69371
69372 2006-07-24  Bruno Haible  <bruno@clisp.org>
69373
69374         * m4/tmpdir.m4: New file, from GNU gettext.
69375
69376 2006-07-24  Bruno Haible  <bruno@clisp.org>
69377
69378         * lib/tmpdir.h: New file, from GNU gettext.
69379         * lib/tmpdir.c: New file, from GNU gettext.
69380
69381 2006-07-24  Bruno Haible  <bruno@clisp.org>
69382
69383         * lib/clean-temp.h: New file, from GNU gettext.
69384         * lib/clean-temp.c: New file, from GNU gettext.
69385
69386 2006-07-23  Eric Blake  <ebb9@byu.net>
69387
69388         * modules/stdio-safer (Files): Add tmpfile-safer.c.
69389         (Depends-on): Add binary-io.
69390
69391 2006-07-23  Eric Blake  <ebb9@byu.net>
69392
69393         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
69394
69395 2006-07-23  Eric Blake  <ebb9@byu.net>
69396
69397         * lib/tmpfile-safer.c: New file.
69398         * lib/stdio-safer.h (fopen_safer): Add prototype.
69399         * lib/stdio--.h (tmpfile): Make safer.
69400
69401 2006-07-23  Bruno Haible  <bruno@clisp.org>
69402
69403         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
69404         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
69405         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
69406         gl_linked_remove_at): Use it.
69407
69408 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69409         and Simon Josefsson <jas@extundo.com>
69410
69411         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
69412
69413         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
69414
69415 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69416
69417         * modules/close-stream: New file.
69418         * modules/closeout (Description): Make it clear that it exits
69419         with a diagnostic on error.
69420         (Depends-on): Add close-stream.  Remove fpending, stdbool.
69421         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
69422
69423 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69424
69425         * m4/close-stream.m4: New file.
69426
69427 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69428
69429         * lib/close-stream.c, lib/close-stream.h: New files.
69430
69431 2006-07-22  Bruno Haible  <bruno@clisp.org>
69432
69433         Merge from GNU gettext 0.15.
69434
69435         2006-05-01  Bruno Haible  <bruno@clisp.org>
69436
69437                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
69438
69439         2006-07-22  Bruno Haible  <bruno@clisp.org>
69440
69441                 * modules/javaversion: New file.
69442                 * MODULES.html.sh (Java): Add javaversion.
69443
69444         2006-03-12  Bruno Haible  <bruno@clisp.org>
69445
69446                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
69447
69448         2005-12-04  Bruno Haible  <bruno@clisp.org>
69449
69450                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
69451                 (untested).
69452
69453         2006-06-21  Bruno Haible  <bruno@clisp.org>
69454
69455                 Avoid warnings from recent versions of mcs.
69456                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
69457                 -o, -L, -r any more. Use options documented since mcs-1.0
69458                 instead. Similarly for -g.
69459
69460         2005-12-04  Bruno Haible  <bruno@clisp.org>
69461
69462                 * build-aux/csharpcomp.sh.in: Suffix for resources is
69463                 .resources, not .resource.
69464
69465         2005-07-09  Bruno Haible  <bruno@clisp.org>
69466
69467                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
69468                 add a .dll suffix.
69469                 Reported by Mark Junker <mjscod@gmx.de>.
69470
69471         2006-07-22  Bruno Haible  <bruno@clisp.org>
69472
69473                 * modules/gettext: Upgrade to gettext-0.15.
69474                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
69475                 m4/visibility.m4.
69476                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
69477
69478 2006-07-22  Bruno Haible  <bruno@clisp.org>
69479
69480         Merge from GNU gettext 0.15.
69481
69482         2006-03-25  Bruno Haible  <bruno@clisp.org>
69483
69484                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
69485
69486         2006-07-21  Bruno Haible  <bruno@clisp.org>
69487
69488                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
69489                 "1.1".
69490
69491         2006-05-09  Bruno Haible  <bruno@clisp.org>
69492
69493                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
69494                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
69495                 for the conftestver execution.
69496
69497         2006-05-01  Bruno Haible  <bruno@clisp.org>
69498
69499                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
69500                 optional target-version argument. Verify that the compiler
69501                 groks source of the specified source-version, or add -source
69502                 option as necessary. Verify that the compiler produces
69503                 bytecode in the specified target-version, or add -target and
69504                 -source options as necessary. Make the result of the test
69505                 available as variable CONF_JAVAC. Also log error output in
69506                 config.log.
69507
69508         2006-03-11  Bruno Haible  <bruno@clisp.org>
69509
69510                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
69511
69512         2006-05-09  Bruno Haible  <bruno@clisp.org>
69513
69514                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
69515                 CLASSPATH_SEPARATOR to a semicolon.
69516
69517         2006-03-12  Bruno Haible  <bruno@clisp.org>
69518
69519                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
69520                 available as variable CONF_JAVA, for subsequent autoconf
69521                 tests. Also log error output in config.log.
69522
69523         2006-07-19  Bruno Haible  <bruno@clisp.org>
69524
69525                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
69526                 that getline works on glibc2 systems. Needed to avoid trouble
69527                 in relocatable.c.
69528                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
69529
69530         2005-12-04  Bruno Haible  <bruno@clisp.org>
69531
69532                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
69533                 launcher (untested).
69534
69535         2005-12-04  Bruno Haible  <bruno@clisp.org>
69536
69537                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
69538
69539         2006-07-22  Bruno Haible  <bruno@clisp.org>
69540
69541                 * gettext.m4: Update from GNU gettext-0.15.
69542                 * nls.m4: Likewise.
69543                 * po.m4: Likewise.
69544                 * inttypes-pri.m4: Likewise.
69545                 * inttypes-h.m4: Renamed from inttypes.m4.
69546                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
69547
69548 2006-07-22  Bruno Haible  <bruno@clisp.org>
69549
69550         Merge from GNU gettext 0.15.
69551
69552         2005-07-05  Bruno Haible  <bruno@clisp.org>
69553
69554                 * printf-args.c (printf_fetchargs): Work around broken
69555                 definition of wint_t on mingw.
69556
69557         2005-02-12  Bruno Haible  <bruno@clisp.org>
69558
69559                 * xallocsa.h: Add extern "C" for C++.
69560
69561         2006-05-17  Bruno Haible  <bruno@clisp.org>
69562
69563                 Cygwin portability.
69564                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
69565
69566         2006-04-30  Bruno Haible  <bruno@clisp.org>
69567
69568                 * progreloc.c: Include <mach-o/dyld.h> if available.
69569                 (find_executable): Use _NSGetExecutablePath when possible.
69570
69571         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69572
69573                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
69574                 function.
69575
69576         2005-12-29  Bruno Haible  <bruno@clisp.org>
69577
69578                 * progreloc.c (set_program_name_and_installdir): Fix
69579                 compilation error.
69580
69581         2005-12-04  Bruno Haible  <bruno@clisp.org>
69582
69583                 Cygwin portability.
69584                 * progreloc.c: Include <windows.h> also on Cygwin.
69585                 (find_executable): Add support for Cygwin.
69586                 (set_program_name_and_installdir): Handle also platforms with
69587                 nonempty EXEEXT.
69588
69589         2006-07-11  Bruno Haible  <bruno@clisp.org>
69590
69591                 * javacomp.c: Fix a comment.
69592                 Reported by Jim Meyering.
69593
69594         2006-04-30  Bruno Haible  <bruno@clisp.org>
69595
69596                 * javacomp.h (compile_java_class): Add source_version,
69597                 target_version arguments.
69598                 * javacomp.c: Rewritten to choose only a compiler that
69599                 respects the specified source_version and target_version.
69600
69601         2006-06-27  Bruno Haible  <bruno@clisp.org>
69602
69603                 Assume correct S_ISDIR macro.
69604                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
69605
69606         2006-07-22  Bruno Haible  <bruno@clisp.org>
69607
69608                 * javaversion.h: New file, from GNU gettext.
69609                 * javaversion.c: New file, from GNU gettext.
69610                 * javaversion.java: New file, from GNU gettext.
69611                 * javaversion.class: New file, from GNU gettext.
69612
69613         2006-05-17  Bruno Haible  <bruno@clisp.org>
69614
69615                 Cygwin portability.
69616                 * javaexec.c (execute_java_class): Test for jview program
69617                 also on Cygwin.
69618
69619         2006-04-09  Bruno Haible  <bruno@clisp.org>
69620
69621                 * fatal-signal.c: Don't include string.h.
69622                 (at_fatal_signal): Use a copying loop instead of memcpy.
69623
69624         2005-12-04  Bruno Haible  <bruno@clisp.org>
69625
69626                 * csharpexec.c: Add support for 'clix' launcher (untested).
69627                 (execute_csharp_using_sscli): New function.
69628                 (execute_csharp_program): Call it.
69629
69630         2006-06-21  Bruno Haible  <bruno@clisp.org>
69631
69632                 Avoid warnings from recent versions of mcs.
69633                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
69634                 -o, -L, -r any more. Use options documented since mcs-1.0
69635                 instead. Similarly for -g.
69636
69637         2005-07-09  Bruno Haible  <bruno@clisp.org>
69638
69639                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
69640                 add a .dll suffix.
69641                 Reported by Mark Junker <mjscod@gmx.de>.
69642
69643         2006-06-17  Bruno Haible  <bruno@clisp.org>
69644
69645                 * config.charset: Update for NetBSD 3.0.
69646
69647         2006-05-17  Bruno Haible  <bruno@clisp.org>
69648
69649                 Cygwin portability.
69650                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
69651
69652         2006-05-16  Bruno Haible  <bruno@clisp.org>
69653
69654                 * localcharset.c [CYGWIN]: Include <windows.h>.
69655                 (get_charset_aliases): For Cygwin, return the same CPxxx
69656                 aliases list as under WIN32.
69657                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
69658                 the environment variables. Fall back to GetACP().
69659
69660         2006-04-05  Bruno Haible  <bruno@clisp.org>
69661
69662                 * config.charset: Update Juan Manuel Guerrero's address.
69663
69664         2005-02-12  Bruno Haible  <bruno@clisp.org>
69665
69666                 * allocsa.h: Add extern "C" for C++.
69667
69668         2005-02-10  Bruno Haible  <bruno@clisp.org>
69669
69670                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
69671                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
69672
69673         2006-07-22  Bruno Haible  <bruno@clisp.org>
69674
69675                 * gettext.h: Update to GNU gettext-0.15.
69676
69677 2006-07-22  Bruno Haible  <bruno@clisp.org>
69678
69679         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
69680         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
69681         lib-prefix.m4, longdouble.m4, ssize_t.m4.
69682
69683 2006-07-21  Eric Blake  <ebb9@byu.net>
69684
69685         * modules/stdlib-safer: New file.
69686         * MODULES.html.sh (File stream based Input/Output): Add
69687         stdlib-safer.
69688
69689 2006-07-21  Eric Blake  <ebb9@byu.net>
69690
69691         * lib/stdlib-safer.h: New file from coreutils, required by
69692         stdlib--.h.
69693
69694 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
69695
69696         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
69697
69698 2006-07-20  Bruno Haible  <bruno@clisp.org>
69699
69700         * gnulib-tool: Recognize new option --assume-autoconf.
69701         (autoconf_minversion): New variable.
69702         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
69703
69704 2006-07-20  Bruno Haible  <bruno@clisp.org>
69705
69706         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
69707
69708 2006-07-19  Derek R. Price  <derek@ximbiot.com>
69709
69710         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
69711         Reindent and repaginate.
69712
69713 2006-07-19  Derek Price  <derek@ximbiot.com>
69714
69715         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
69716         Correct grammar.
69717
69718 2006-07-17  Bruno Haible  <bruno@clisp.org>
69719
69720         * modules/list: New file.
69721         * modules/array-list: New file.
69722         * modules/carray-list, modules/carray-list-tests: New files.
69723         * modules/linked-list, modules/linked-list-tests: New files.
69724         * modules/avltree-list, modules/avltree-list-tests: New files.
69725         * modules/rbtree-list, modules/rbtree-list-tests: New files.
69726         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
69727         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
69728         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
69729         * modules/oset: New file.
69730         * modules/array-oset: New file.
69731         * modules/avltree-oset, modules/avltree-oset-tests: New files.
69732         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
69733         * tests/test-carray_list.c: New file.
69734         * tests/test-linked_list.c: New file.
69735         * tests/test-avltree_list.c: New file.
69736         * tests/test-rbtree_list.c: New file.
69737         * tests/test-linkedhash_list.c: New file.
69738         * tests/test-avltreehash_list.c: New file.
69739         * tests/test-rbtreehash_list.c: New file.
69740         * tests/test-avltree_oset.c: New file.
69741         * tests/test-rbtree_oset.c: New file.
69742         * MODULES.html.sh (Container data structures): New section.
69743
69744 2006-07-17  Bruno Haible  <bruno@clisp.org>
69745
69746         * m4/gl_list.m4: New file.
69747
69748 2006-07-17  Bruno Haible  <bruno@clisp.org>
69749
69750         * lib/gl_list.h: New file.
69751         * lib/gl_list.c: New file.
69752         * lib/gl_array_list.h: New file.
69753         * lib/gl_array_list.c: New file.
69754         * lib/gl_carray_list.h: New file.
69755         * lib/gl_carray_list.c: New file.
69756         * lib/gl_linked_list.h: New file.
69757         * lib/gl_linked_list.c: New file.
69758         * lib/gl_anylinked_list1.h: New file.
69759         * lib/gl_anylinked_list2.h: New file.
69760         * lib/gl_avltree_list.h: New file.
69761         * lib/gl_avltree_list.c: New file.
69762         * lib/gl_anyavltree_list1.h: New file.
69763         * lib/gl_anyavltree_list2.h: New file.
69764         * lib/gl_rbtree_list.h: New file.
69765         * lib/gl_rbtree_list.c: New file.
69766         * lib/gl_anyrbtree_list1.h: New file.
69767         * lib/gl_anyrbtree_list2.h: New file.
69768         * lib/gl_anytree_list1.h: New file.
69769         * lib/gl_anytree_list2.h: New file.
69770         * lib/gl_linkedhash_list.h: New file.
69771         * lib/gl_linkedhash_list.c: New file.
69772         * lib/gl_anyhash_list1.h: New file.
69773         * lib/gl_anyhash_list2.h: New file.
69774         * lib/gl_avltreehash_list.h: New file.
69775         * lib/gl_avltreehash_list.c: New file.
69776         * lib/gl_rbtreehash_list.h: New file.
69777         * lib/gl_rbtreehash_list.c: New file.
69778         * lib/gl_anytreehash_list1.h: New file.
69779         * lib/gl_anytreehash_list2.h: New file.
69780
69781         * lib/gl_oset.h: New file.
69782         * lib/gl_oset.c: New file.
69783         * lib/gl_array_oset.h: New file.
69784         * lib/gl_array_oset.c: New file.
69785         * lib/gl_avltree_oset.h: New file.
69786         * lib/gl_avltree_oset.c: New file.
69787         * lib/gl_rbtree_oset.h: New file.
69788         * lib/gl_rbtree_oset.c: New file.
69789         * lib/gl_anytree_oset.h: New file.
69790
69791 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
69792
69793         * m4/mkancesdirs.m4: New file.
69794         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
69795         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
69796         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
69797         it.
69798
69799 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
69800
69801         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
69802         * lib/mkancesdirs.h: New files.
69803         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
69804         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
69805         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
69806         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
69807         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
69808         callers changed.  Revamp internals significantly, by not
69809         attempting to create directories that are temporarily more
69810         permissive than the final results.  Do not attempt to use
69811         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
69812         This removes some race conditions, fixes some bugs, and simplifies
69813         things.  Use new dirchownmod function to do owner and mode changes.
69814         * lib/mkdir-p.h: Likewise.
69815         * lib/modechange.c (octal_to_mode): New function.
69816         (struct mode_change): New member mentioned.
69817         (make_node_op_equals): New arg mentioned.  All callers changed.
69818         (mode_compile): Keep track of which mode bits the user has explicitly
69819         mentioned.
69820         (mode_adjust): New arg DIR, so that we implement the X op correctly.
69821         New arg PMODE_BITS, to keep track of which mode bits the user
69822         mentioned; it treats S_ISUID and S_ISGID speciall.
69823         All callers changed.
69824         * lib/modechange.h: Likewise.
69825
69826 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
69827
69828         * MODULES.html.sh: Add mkancestors.
69829         * modules/mkancesdirs: New module.
69830         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
69831         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
69832         The chdir-safer and afs files are now orphans; I'll remove them
69833         unless someone speaks up.
69834         Add lib/dirchownmod.c, lib/dirchownmod.h.
69835         (Depends-on): Remove alloca, chown, save-cwd, dirname.
69836         Add lchown, mkancesdirs.
69837         (Maintainer): Add self.
69838
69839 2006-07-15  Karl Berry  <karl@gnu.org>
69840
69841         * gnulib-tool: help message wording/arrangement.
69842
69843 2006-07-14  Simon Josefsson  <jas@extundo.com>
69844
69845         * doc/gnulib.texi (Libtool and Windows): New section.
69846
69847 2006-07-12  Simon Josefsson  <jas@extundo.com>
69848
69849         * modules/gendocs (License): Fix license, approved by Karl.
69850
69851 2006-07-12  Eric Blake  <ebb9@byu.net>
69852
69853         * MODULES.html.sh: Add gendocs.
69854
69855 2006-07-11  Eric Blake  <ebb9@byu.net>
69856
69857         * modules/fdl: New module, to install doc/fdl.texi.
69858         * MODULES.html.sh: Add new section for documentation modules.
69859         * gnulib-tool: Avoid space-tab.
69860         (--doc-base): New option, to manage files from doc.
69861
69862 2006-07-11  Eric Blake  <ebb9@byu.net>
69863
69864         * m4/absolute-header.m4: Fix comments to match recent change.
69865
69866 2006-07-11  Eric Blake  <ebb9@byu.net>
69867
69868         * gnulib-tool: List --doc-base before --tests-base.
69869
69870 2006-07-11  Derek R. Price  <derek@ximbiot.com>
69871
69872         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
69873
69874 2006-07-11  Bruno Haible  <bruno@clisp.org>
69875
69876         * README: Mention where to put documentation.
69877
69878 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69879
69880         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
69881
69882 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
69883
69884         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
69885         to stdint.m4.
69886
69887 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
69888
69889         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
69890         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
69891         "no/such/file/stdint.h" when there is no such file, so that
69892         the resulting C code can be parsed by dodgy compilers.
69893         Problems reported by Bob Proulx.
69894
69895 2006-07-10  Derek R. Price  <derek@ximbiot.com>
69896
69897         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
69898         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
69899         macros into the GNU _D_EXACT_NAMLEN.
69900         * lib/savedir.c:  Likewise.
69901         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
69902
69903 2006-07-10  Derek R. Price  <derek@ximbiot.com>
69904         and Paul Eggert  <eggert@cs.ucla.edu>
69905
69906         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
69907         * m4/savedir.m4:
69908         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
69909         macros into the GNU _D_EXACT_NAMLEN.
69910
69911 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69912
69913         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
69914         around the absolute name, to work around a problem with the HP-UX
69915         11.23 native C compiler, reported by Bob Proulx.
69916
69917 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69918
69919         * doc/maintain.texi, make-stds.texi: Sync from
69920         <http://savannah.gnu.org/projects/gnustandards>.
69921
69922 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69923
69924         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
69925
69926 2006-07-09  Jim Meyering  <jim@meyering.net>
69927
69928         * m4/glob.m4: Remove a doubled word in a comment.
69929
69930 2006-07-09  Jim Meyering  <jim@meyering.net>
69931
69932         * lib/argp-pv.c: Remove a doubled word in a comment.
69933         * lib/check-version.c (check_version): Likewise.
69934         * lib/javacomp.c (compile_java_class): Likewise.
69935
69936 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
69937
69938         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
69939         for the benefit of people using Autoconf 2.60.  If you want to
69940         support older Autoconf versions you can copy m4/onceonly_2_57.m4
69941         (or m4/onceonly.m4, if pre-2.57) manually.
69942
69943 2006-07-08  Jim Meyering  <jim@meyering.net>
69944
69945         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
69946         comment.
69947         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
69948         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
69949         comment.
69950
69951 2006-07-08  Jim Meyering  <jim@meyering.net>
69952
69953         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
69954
69955 2006-07-07  Simon Josefsson  <jas@extundo.com>
69956
69957         * tests/test-crc.c: Change expected crc value, the test vector
69958         were probably computed using the old broken crc.c?
69959
69960 2006-07-06  Simon Josefsson  <jas@extundo.com>
69961
69962         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
69963         now the canonical place for the M4 file).
69964
69965         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
69966         from the sys_socket dependency now.
69967
69968         * modules/inet_pton (Files): Ditto.
69969
69970         * modules/inet_ntop (Files): Ditto.
69971
69972 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
69973
69974         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
69975         not gl_PREREQ_GETUSERSHELL.
69976
69977 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69978
69979         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
69980         with only one argument, for Autoconf 2.60.
69981         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
69982         expand to nothing, so add a shell command to avoid syntax error.
69983         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
69984
69985 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69986
69987         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
69988
69989 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
69990
69991         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
69992         no longer needed.  Check for isblank decl.
69993         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
69994         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
69995         of existence.
69996
69997 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
69998
69999         * lib/getloadavg.c: Use __VMS, not VMS.
70000         * lib/getopt.c: Likewise.
70001         * lib/getpagesize.h: Likewise.
70002         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
70003         and probably does not work.
70004
70005 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70006
70007         * lib/.cppi-disable: Add wcwidth.
70008         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
70009         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
70010         (ISGRAPH): Remove.  All uses changed to isgraph.
70011         (FOLD) [!defined _LIBC]: Remove special case.
70012         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
70013         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
70014         HAVE_ISBLANK.
70015         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
70016         case.
70017
70018 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70019
70020         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
70021         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
70022         brackets.  Other minor changes to suppress some compiler
70023         warnings.
70024
70025 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70026         and Paul Eggert  <eggert@cs.ucla.edu>
70027
70028         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
70029         of invoking obsolescent AC_HEADER_DIRENT macro.
70030         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
70031         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
70032         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
70033         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
70034         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
70035         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
70036         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
70037         * m4/readdir.m4: Remove; no longer needed.
70038
70039 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70040         and Paul Eggert  <eggert@cs.ucla.edu>
70041
70042         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
70043         Don't worry about this obsolete case any more.
70044         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
70045         directories.
70046         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
70047         worry about this obsolete case any more.
70048         * lib/fts.c: Likewise.
70049         * lib/getcwd.c: Likewise.
70050         * lib/glob.h: Likewise.
70051         * lib/savedir.c: Likewise.
70052
70053 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70054
70055         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
70056         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
70057         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
70058         needed.
70059         All uses removed.
70060         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70061         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70062         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
70063         needed.
70064         * m4/getdate.m4 (gl_GETDATE): Likewise.
70065         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70066         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70067         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70068         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70069         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70070         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70071         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
70072         needed.
70073
70074 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70075
70076         * lib/memcasecmp.c: Include <limits.h>.
70077         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
70078         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
70079         Don't assume isdigit succeeds only on '0' through '9'.
70080
70081 2006-07-05  Eric Blake  <ebb9@byu.net>
70082
70083         * modules/getaddrinfo (Depends-on): Add snprintf.
70084
70085 2006-07-05  Eric Blake  <ebb9@byu.net>
70086
70087         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
70088         to avoid 'header present but could not be compiled' on cygwin.
70089
70090 2006-07-05  Eric Blake  <ebb9@byu.net>
70091
70092         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
70093         missing from netdb.h.
70094         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
70095
70096 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70097
70098         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
70099         no longer needed.
70100         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
70101         * m4/getdate.m4 (gl_GETDATE): Likewise.
70102         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70103         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70104         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70105         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70106         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70107
70108 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70109
70110         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
70111         All uses of is_space replaced by isspace.
70112         * lib/exit.h: Don't talk about STDC_HEADERS.
70113         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
70114         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
70115         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
70116         replaced by isprint etc.
70117         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
70118         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70119         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
70120         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
70121         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
70122         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70123
70124 2006-07-05  Bruno Haible  <bruno@clisp.org>
70125
70126         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
70127         the function exists, before testing against AIX.
70128         Reported by Martin Lambers <marlam@marlam.de>.
70129
70130 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70131
70132         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
70133         From Mark D. Baushke.
70134
70135 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70136
70137         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
70138         to the absolute name, not just one, to bypass Sun C 5.8's
70139         "warning: #include of /usr/include/... may be non-portable".
70140
70141 2006-07-04  Eric Blake  <ebb9@byu.net>
70142
70143         * modules/dirname-tests: New test module.
70144         * tests/test-dirname.c: New file, replacing dirname.c
70145         TEST_DIRNAME section that was recently deleted.
70146
70147 2006-07-04  Bruno Haible  <bruno@clisp.org>
70148
70149         Assume ANSI C header files and <ctype.h> functions.
70150         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
70151         (mbsnwidth): Use isprint, iscntrl instead.
70152
70153 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70154
70155         Merge from coreutils.
70156         * MODULES.html.sh: Add xstrtold.
70157         * modules/xstrtold: New file.
70158         * modules/cycle-check (Files): Add lib/same-inode.h.
70159         * modules/dirname (Files): Add m4/double-slash-root.m4.
70160         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
70161         * modules/mkdir-p (Files): Add lib/same-inode.h.
70162         * modules/same (Files): Add lib/same-inode.h.
70163
70164 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70165
70166         * m4/absolute-header.m4: Renamed from full-header-path.m4.
70167         This is to keep the terminology clean; POSIX talks about
70168         "absolute pathnames", not "full pathnames", but the GNU
70169         Coding Standards say to use "path" for something else;
70170         so use "absolute" to keep both sides happy.
70171         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
70172         Set gl_absolute_header, not gl_full_header_path.
70173         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
70174         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
70175         All uses changed.
70176
70177         Merge from coreutils.
70178
70179         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70180
70181         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
70182         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
70183         want to require the building of c-strtod.o.
70184         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
70185         needs -lm directly.
70186         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
70187
70188         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
70189
70190         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
70191         --as-needed option if available.  Problem reported by Albert Chin in
70192         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
70193         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
70194         cc merely issues a bunch of annoying warnings for --as-needed
70195         (this problem was reported by Bob Proulx).  Also, try linking with
70196         -lm to detect a bug in binutils 2.16 (this problem was reported
70197         by Ralf Wildenhues).
70198
70199         2006-06-18  Jim Meyering  <jim@meyering.net>
70200
70201         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
70202         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
70203         macro.
70204         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
70205         also check for glibc-2.4's abort-inducing bug.
70206
70207         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
70208         Low-probability clean-up should be to use rmdir to get rid of
70209         the just-created directory, not unlink.
70210
70211         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
70212         configure fail, and request a bug report to inform us about it.
70213         Add a comment that, barring reports to the contrary, in 2007 we'll
70214         assume ftruncate is universally available.
70215
70216         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70217
70218         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
70219
70220         2006-03-12  Jim Meyering  <jim@meyering.net>
70221
70222         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
70223         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
70224         * m4/same.m4 (gl_SAME): Likewise.
70225         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
70226
70227         2006-03-11  Eric Blake  <ebb9@byu.net>
70228
70229         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
70230         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
70231         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
70232         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
70233
70234 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70235
70236         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
70237         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
70238         reported by Mark D. Baushke, one in
70239         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
70240
70241         Merge from coreutils.
70242
70243         * lib/.cppi-disable: Add stdint_.h.
70244         * lib/.cvsignore: Add stdint.h.
70245
70246         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70247
70248         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
70249         both double and long double versions.
70250         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
70251         * lib/xstrtold.c: New file.
70252         * lib/xstrtod.h (xstrtold): New decl.
70253
70254         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
70255
70256         * lib/filemode.c (setst): Remove.
70257         (strmode): Rewrite to avoid setst.  This makes the code shorter,
70258         (arguably) clearer, and the generated code is a bit smaller on my
70259         Debian GNU/Linux stable x86 host.
70260
70261         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70262
70263         * lib/filemode.c: Include "filemode.h" first, to test the interface.
70264         Assume that filemode.h includes sys/types.h and sys/stat.h.
70265         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
70266         (ftypelet): Reorder to put common cases first, for efficiency.
70267         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
70268         to do 'M'.
70269         (strmode): Renamed from mode_string, and now stores 12 bytes instead
70270         of 10, for compatibility with FreeBSD.  All callers changed.
70271         (filemodestring): Now stores 12 bytes instead of 10, and sets file
70272         types that can't be deduced solely from st_mode.  First arg is now a
70273         const pointer.
70274         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
70275         (strmode): Renamed from mode_string.
70276         (filemodestring): New decl.
70277         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
70278         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
70279         needed.
70280         (S_ISPORT, S_ISWHT): New macros, if not already defined.
70281
70282         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
70283
70284         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
70285         fsusage.h now does that.  Include fsusage.h first, to test interface.
70286         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
70287         at most one method (the old code could have generated decls that
70288         didn't conform to C89, not that this was ever exercised).
70289         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
70290
70291         2006-03-19  Jim Meyering  <jim@meyering.net>
70292
70293         Work even in a chroot where d_ino values for entries in "/"
70294         don't match the stat.st_ino values for the same names.
70295         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
70296         number, iterate through all entries again, using lstat instead.
70297         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
70298         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
70299
70300         * lib/getcwd.c (__getcwd): Clarify a comment.
70301         Use memcpy in place of a call to strcpy.
70302
70303         2006-03-12  Jim Meyering  <jim@meyering.net>
70304
70305         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
70306         matches that of the current directory (which we're about to chdir ".."
70307         out of), then save the dev-ino of the parent, instead.
70308
70309         * lib/same-inode.h (SAME_INODE): New file/macro.
70310         * lib/chdir-safer.c (SAME_INODE): Remove definition.
70311         Include "same-inode.h", instead.
70312         * lib/same.c: Likewise.
70313         * lib/cycle-check.h: Include "same-inode.h".
70314         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
70315         * lib/cycle-check.c (SAME_INODE): Remove definition.
70316         * lib/root-dev-ino.h: Include "same-inode.h".
70317
70318         2006-03-11  Eric Blake  <ebb9@byu.net>
70319
70320         * lib/same.c (same_name): s/base_name/last_component/
70321         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
70322         * lib/filenamecat.c (file_name_concat): Likewise.
70323
70324         2006-03-11  Eric Blake  <ebb9@byu.net>,
70325                     Paul Eggert  <eggert@cs.ucla.edu>
70326
70327         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
70328         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
70329         drive prefix.
70330         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
70331         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
70332         (last_component): New method.
70333         * lib/dirname.c (dir_len): Determine when drive letters need a
70334         subsequent slash.  Preserve // when it is special.
70335         (dir_name): Don't append dot when drive letter is absolute.
70336         [TEST_DIRNAME]: Move into a full-blown gnulib test.
70337         * lib/basename.c (base_name): New semantics - malloc the result.
70338         Preserve // when it is special.  Preserve relative files that look
70339         like drive letters.
70340         (base_len): Preserve // when it is special.
70341         (last_component): New method, similar to old base_name semantics.
70342         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
70343         base_name.  Strip redundant slashes from ///.
70344
70345 2006-07-03  Jim Meyering  <jim@meyering.net>
70346
70347         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
70348         macro is used before the first cycle_check call.
70349
70350 2006-07-03  Eric Blake  <ebb9@byu.net>
70351
70352         * modules/dirname (Depends-on): Add xstrndup.
70353
70354 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70355
70356         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
70357         test cases, so that config.log is a bit easier to follow.
70358
70359 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70360
70361         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
70362         both are 64 bits, since this seems to be the tradition, and this
70363         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
70364         we ever run into a host that prefers long long to long in this
70365         case, we'll need another configure-time test.  Problem reported by
70366         Jim Meyering.
70367
70368 2006-07-02  Eric Blake  <ebb9@byu.net>
70369
70370         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
70371
70372 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70373
70374         * modules/inttypes (Depends-on): No longer depends on stdint.
70375         * modules/stdint (Description): Say more about assumptions.
70376         Say that the fast types might differ.  Say macros are used.
70377         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
70378         (Makefile.am): Revise list of substituted symbols to match
70379         new stdint.m4.
70380         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
70381         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
70382         * tests/test-stdint.c (verify_same_types)
70383         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
70384         the code conforms to C99/C89.
70385         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
70386         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
70387
70388 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70389
70390         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
70391         but fix a bug, by requiring at least 64 bits.
70392         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
70393         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
70394         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
70395         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
70396
70397         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
70398         changes.  Make 2.59 a prerequisite.  Check and substitute for
70399         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
70400         inttypes.h.  Do not use special include files; just use the
70401         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
70402         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
70403         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
70404         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
70405         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
70406         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
70407         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
70408         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
70409         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
70410         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
70411         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
70412         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
70413         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
70414         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
70415         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
70416         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
70417         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
70418         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
70419         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
70420         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
70421         WINT_MAX.  Check for C99 conformance more strictly, by detecting
70422         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
70423         not check for things that C99 does not require, e.g., int8_t.  If
70424         a test isn't needed unless <stdint.h> isn't working, and is
70425         unlikely to be needed for any other reason, then don't do it
70426         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
70427         size_t, since we assume C89 freestanding at least.  Do not check
70428         for sig_atomic_t, wchar_t, or wint_t, since the code now does
70429         the right thing even if the types are not defined.  Instead use:
70430         (gl_STDINT_TYPE_PROPERTIES): New macro.
70431         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
70432         testing whether <sys/types.h> clashes, as Autoconf does this for
70433         us now.  All uses removed.
70434         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
70435         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
70436         (gl_CHECK_TYPE_SAME):
70437         Remove; no longer needed.
70438         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
70439         exists, since we'll return 0 anyway in that case.
70440         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
70441
70442 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70443
70444         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
70445         possible collision with system files.
70446         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
70447         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
70448         WCHAR_MIN and WCHAR_MAX in this case.
70449         (<stddef.h>): Do not include; no longer needed.
70450         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
70451         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
70452         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
70453         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
70454         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
70455         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
70456         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
70457         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
70458         !defined(__c99))]: Include in this case too, since it's harmless
70459         now.
70460         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
70461         dangerous to do so.
70462         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
70463         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
70464         (_STDINT_MIN, _STDINT_MAX): New macros.
70465         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
70466         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
70467         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
70468         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
70469         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
70470         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
70471         macros, not typedefs; this simplifies things quite a bit.
70472         Use long int for all types narrower than int64_t.
70473         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
70474         Define in terms of long long int or int64_t or long int,
70475         not int64_t or int32_t.  This saves some compile-time testing.
70476         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
70477         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
70478         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
70479         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
70480         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
70481         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
70482         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
70483         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
70484         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
70485         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
70486         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70487         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70488         undef any previous version and define our own version, for
70489         simplicity and consistency with the new macros for types.
70490         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70491         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70492         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
70493         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
70494         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
70495         @WINT_T_SUFFIX@ to keep things simple here.
70496         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
70497         Simplify by assuming typical 8/16/32/64 host, since we're
70498         already doing that elsewhere anyway.
70499         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
70500         and assume long long int is 64 bits if available.  This
70501         speeds up 'configure'.
70502
70503 2006-07-01  Eric Blake  <ebb9@byu.net>
70504
70505         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
70506         Reported by Andreas Buening.
70507
70508 2006-07-01  Eric Blake  <ebb9@byu.net>
70509
70510         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
70511
70512 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70513
70514         * lib/getaddrinfo.c: fixed typo
70515
70516 2006-06-29  Jim Meyering  <jim@meyering.net>
70517
70518         * modules/strftime (Maintainer): Add my name, since with the
70519         FPRINTFTIME changes strftime.c has forked from glibc.
70520
70521 2006-06-29  Eric Blake  <ebb9@byu.net>
70522
70523         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
70524
70525 2006-06-29  Eric Blake  <ebb9@byu.net>
70526
70527         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
70528
70529 2006-06-29  Eric Blake  <ebb9@byu.net>
70530
70531         * lib/stat_.h: New file.
70532
70533 2006-06-29  Eric Blake  <ebb9@byu.net>
70534
70535         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
70536         unused static function.
70537
70538 2006-06-29  Eric Blake  <ebb9@byu.net>
70539
70540         * doc/functions.texi (Function Portability): Document missing lstat
70541         on mingw.
70542
70543 2006-06-29  Eric Blake  <ebb9@byu.net>
70544
70545         * MODULES.html.sh: Add sys_stat.
70546         * modules/sys_stat: New module.
70547         * modules/mkstemp (Depends-on): Add sys_stat.
70548
70549 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70550
70551         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
70552
70553 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70554
70555         * m4/c-bs-a.m4: Removed.
70556
70557 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70558
70559         * lib/strftime.c: Assume strftime() exists.
70560
70561 2006-06-29  Derek Price  <derek@ximbiot.com>
70562
70563         * modules/c-bs-a: Removed - \a is C89.
70564         * MODULES.html.sh: Remove c-bs-a.
70565
70566 2006-06-29  Bruno Haible  <bruno@clisp.org>
70567
70568         * modules/wcwidth (License): Change to LGPL.
70569
70570 2006-06-28  Simon Josefsson  <jas@extundo.com>
70571
70572         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
70573         on _WIN32.
70574
70575         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
70576         getnameinfo.
70577
70578 2006-06-28  Simon Josefsson  <jas@extundo.com>
70579
70580         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
70581
70582 2006-06-28  Simon Josefsson  <jas@extundo.com>
70583
70584         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
70585         functions there.  It will succeed on Windows XP, but on Windows
70586         2000 and (presumably) earlier, it will fail, and use the internal
70587         re-implementation.
70588         (use_win32_p): New function.
70589         (getaddrinfo): Use strtoul on servname, to support numeric ports.
70590         Support AI_NUMERICSERV to disable getservbyname.
70591         (getnameinfo): New function, only supports
70592         NI_NUMERICHOST|NI_NUMERICSERV for now.
70593
70594         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
70595         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
70596         getnameinfo.
70597
70598 2006-06-28  Eric Blake  <ebb9@byu.net>
70599
70600         * modules/wcwidth: New file.
70601         * modules/mbchar (Depends-on): Add wcwidth.
70602         * modules/mbswidth (Depends-on): Add wcwidth.
70603         * MODULES.html.sh: Add wcwidth.
70604
70605 2006-06-28  Eric Blake  <ebb9@byu.net>
70606
70607         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
70608         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
70609
70610 2006-06-28  Eric Blake  <ebb9@byu.net>
70611
70612         * lib/xvasprintf.h: Fix comments.
70613
70614 2006-06-28  Eric Blake  <ebb9@byu.net>
70615
70616         * lib/mbchar.h (wcwidth): Include wcwidth.h.
70617         * lib/mbswidth.c (wcwidth): Move from here...
70618         * lib/wcwidth.h: ...to this new file.
70619
70620 2006-06-28  Derek R. Price  <derek@ximbiot.com>
70621
70622         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
70623
70624         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
70625         it's obsolete.
70626         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
70627
70628 2006-06-28  Derek R. Price  <derek@ximbiot.com>
70629
70630         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
70631         Autoconf 2.60 says this stuff was obsolete.
70632
70633 2006-06-28  Bruno Haible  <bruno@clisp.org>
70634
70635         * modules/wcwidth (Files): Add m4/wchar_t.m4.
70636
70637 2006-06-28  Bruno Haible  <bruno@clisp.org>
70638
70639         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
70640         gt_TYPE_WCHAR_T.
70641
70642 2006-06-28  Bruno Haible  <bruno@clisp.org>
70643
70644         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
70645         declaration for wcwidth.
70646         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
70647
70648 2006-06-28  Bruno Haible  <bruno@clisp.org>
70649
70650         * lib/mkdtemp.c [MINGW]: Include <io.h>.
70651         (mkdir): Define using _mkdir.
70652
70653 2006-06-28  Bruno Haible  <bruno@clisp.org>
70654
70655         * lib/getaddrinfo.h: Fix POSIX URL.
70656         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
70657         _WIN32.
70658         (use_win32_p): Make static.
70659         (getaddrinfo): Reject service name if it is empty or does not consist
70660         solely of decimal digits, or if its value is > 65535.
70661         (getnameinfo): Remove useless casts.
70662
70663 2006-06-27  Simon Josefsson  <jas@extundo.com>
70664
70665         * modules/sys_select: New file, suggested by Bruno Haible, Paul
70666         Eggert and Martin Lambers.
70667
70668 2006-06-27  Simon Josefsson  <jas@extundo.com>
70669
70670         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
70671         Eggert and Martin Lambers.
70672
70673 2006-06-27  Bruno Haible  <bruno@clisp.org>
70674
70675         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
70676         result to 0, not to empty.
70677         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
70678
70679 2006-06-27  Bruno Haible  <bruno@clisp.org>
70680
70681         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
70682
70683 2006-06-26  Simon Josefsson  <jas@extundo.com>
70684
70685         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
70686         present.
70687
70688 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
70689
70690         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
70691         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
70692         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
70693
70694 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
70695
70696         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
70697
70698 2006-06-26  Bruno Haible  <bruno@clisp.org>
70699
70700         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
70701
70702 2006-06-26  Bruno Haible  <bruno@clisp.org>
70703
70704         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
70705
70706 2006-06-26  Bruno Haible  <bruno@clisp.org>
70707
70708         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
70709         SGI C compiler in pre-C99 mode.
70710         Suggested by Mark D. Baushke and Larry Jones.
70711
70712 2006-06-26  Bruno Haible  <bruno@clisp.org>
70713
70714         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
70715         WCHAR_MAX.
70716         Reported by Mark D. Baushke and Larry Jones.
70717
70718 2006-06-26  Bruno Haible  <bruno@clisp.org>
70719
70720         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
70721         in pre-C99 mode.
70722         Suggested by Mark D. Baushke and Larry Jones.
70723
70724 2006-06-23  Simon Josefsson  <jas@extundo.com>
70725             Bruno Haible  <bruno@clisp.org>
70726
70727         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
70728         Emit mostlyclean-local rule.
70729         (func_emit_tests_Makefile_am): Likewise.
70730         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
70731
70732 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
70733
70734         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
70735
70736 2006-06-23  Bruno Haible  <bruno@clisp.org>
70737
70738         * tests/test-stdint.c: Update to match ISO C 99 Technical
70739         Corrigendum 1.
70740
70741 2006-06-23  Bruno Haible  <bruno@clisp.org>
70742
70743         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
70744
70745 2006-06-23  Bruno Haible  <bruno@clisp.org>
70746
70747         * lib/stdint_.h: Treat IRIX like OpenBSD.
70748
70749 2006-06-23  Bruno Haible  <bruno@clisp.org>
70750
70751         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
70752         ISO C 99 Technical Corrigendum 1.
70753
70754 2006-06-22  Simon Josefsson  <jas@extundo.com>
70755
70756         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
70757         MinGW.
70758
70759 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70760
70761         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
70762         needed.  Some compiler complained about some of them.  Problem reported
70763         by Larry Jones in
70764         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
70765
70766 2006-06-21  Simon Josefsson  <jas@extundo.com>
70767
70768         * tests/test-getaddrinfo.c: New file.
70769
70770         * modules/getaddrinfo-tests: New file.
70771
70772         * MODULES.html.sh: Add inet_pton.
70773
70774         * modules/inet_pton: New file.
70775
70776 2006-06-21  Simon Josefsson  <jas@extundo.com>
70777
70778         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
70779         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
70780         of using the (limited) gnulib implementation on Windows XP.
70781
70782         * m4/inet_pton.m4: New file.
70783
70784 2006-06-21  Simon Josefsson  <jas@extundo.com>
70785
70786         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
70787         variable.
70788
70789         * lib/socket_.h: Don't define WINVER.
70790
70791         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
70792         slightly modified to work in gnulib.
70793
70794 2006-06-21  Simon Josefsson  <jas@extundo.com>
70795
70796         * doc/gnulib.texi (Windows sockets): Add.
70797
70798 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
70799
70800         * lib/read-file.c (fread_file): Start with buffer allocation of
70801         0 bytes rather than 1 byte; this simplifies the code.
70802         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
70803         code to free buffer and save/restore errno.
70804         (internal_read_file): Remove unused local.
70805
70806 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
70807
70808         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
70809         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
70810         Problem reported by Denis Excoffier in
70811         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
70812
70813 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70814
70815         * modules/sys_socket, modules/socklen: Include sys/types since
70816         FreeBSD 4.x's sys/socket.h needs it.
70817
70818 2006-06-19  Simon Josefsson  <jas@extundo.com>
70819
70820         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
70821
70822 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
70823
70824         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
70825
70826 2006-06-19  Bruno Haible  <bruno@clisp.org>
70827
70828         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
70829         and FULL_PATH_INTTYPES_H in angle brackets.
70830         Reported by Mark D. Baushke <mdb@gnu.org>.
70831
70832 2006-06-17  Eric Blake  <ebb9@byu.net>
70833
70834         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
70835         errno.
70836
70837 2006-06-17  Bruno Haible  <bruno@clisp.org>
70838
70839         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
70840         <sys/inttypes.h>.
70841
70842 2006-06-17  Bruno Haible  <bruno@clisp.org>
70843
70844         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
70845         whether errno is declared. Assume <errno.h> declares errno.
70846
70847 2006-06-17  Bruno Haible  <bruno@clisp.org>
70848
70849         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
70850
70851 2006-06-17  Bruno Haible  <bruno@clisp.org>
70852
70853         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
70854         problem on Solaris 2.5.1.
70855
70856 2006-06-16  Eric Blake  <ebb9@byu.net>
70857
70858         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
70859         * lib/unicodeio.c [!defined errno]: Likewise.
70860         * lib/strtol.c [!defined errno]: Likewise.
70861         * lib/strtod.c [!defined errno]: Likewise.
70862
70863 2006-06-15  Eric Blake  <ebb9@byu.net>
70864
70865         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
70866
70867 2006-06-15  Eric Blake  <ebb9@byu.net>
70868
70869         * config/srclist.txt (ssize_t.m4): Lose sync.
70870
70871 2006-06-15  Bruno Haible  <bruno@clisp.org>
70872
70873         * modules/stdint (Files): Include m4/full-header-path.m4,
70874         m4/size_max.m4, m4/wchar_t.m4.
70875         (Makefile.am): Many more substitutions.
70876         * modules/stdint-tests: New file.
70877         * tests/test-stdint.c: New file.
70878
70879 2006-06-15  Bruno Haible  <bruno@clisp.org>
70880
70881         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
70882         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
70883         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
70884         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
70885         gl_CHECK_TYPE_SAME): New macros.
70886
70887 2006-06-15  Bruno Haible  <bruno@clisp.org>
70888
70889         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
70890
70891 2006-06-15  Bruno Haible  <bruno@clisp.org>
70892
70893         * lib/stdint_.h: Rewritten to be fully auto-configured.
70894         Fixes bug on HP-UX/IA64.
70895
70896 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
70897
70898         * lib/getdate.y (__attribute__): Don't define if already defined.
70899         Problem reported by Larry Jones.
70900         * lib/utimens.c (__attribute__): Likewise.
70901
70902 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
70903
70904         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
70905         reported by Andreas Schwab.
70906
70907 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70908             Bruno Haible  <bruno@clisp.org>
70909
70910         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
70911         check for the declaration of strnlen and a run test that exposes the
70912         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
70913         rpl_strndup.
70914
70915 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70916             Bruno Haible  <bruno@clisp.org>
70917
70918         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
70919
70920 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70921
70922         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
70923         compile test, for Tru64 4.0D.
70924
70925 2006-05-28  Karl Berry  <karl@gnu.org>
70926
70927         * config/srclist.txt (printf-args.c): lose sync.
70928
70929 2006-05-26  Martin Lambers  <marlam@marlam.de>
70930
70931         * lib/getpass.c: Updates the test for the native W32 API, and adds
70932         missing includes, thus fixing compilation warnings.
70933
70934 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
70935
70936         * lib/exclude.c (exclude_fnmatch): New function.
70937         (excluded_file_name): Call exclude_fnmatch.
70938         * lib/exclude.h (excluded_file_name): New prototype
70939
70940 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
70941
70942         * lib/tempname.c (small_open, large_open): New macros.
70943         (__open, __open64) [!_LIBC]: Remove.
70944         (__gen_tempname): Use small_open and large_open instead of __open
70945         and __open64.  This fixes a portability bug on HP-UX 11.11i
70946         reported by Simon Wing-Tang in
70947         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
70948
70949 2006-05-24  Bruno Haible  <bruno@clisp.org>
70950
70951         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
70952         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
70953         Reported by Thorsten Maerz <torte@netztorte.de> via
70954         Aaron Stone <aaron@serendipity.cx>.
70955
70956 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
70957
70958         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
70959         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
70960         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
70961         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
70962         not really conditional on the cache.
70963         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
70964
70965 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
70966
70967         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
70968         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
70969         (my_usleep): Don't mishandle maximum value.
70970
70971 2006-05-19  Jim Meyering  <jim@meyering.net>
70972
70973         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
70974
70975 2006-05-17  Bruno Haible  <bruno@clisp.org>
70976
70977         Cygwin portability.
70978         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
70979
70980 2006-05-17  Bruno Haible  <bruno@clisp.org>
70981
70982         * lib/stdint_.h: Fix recognition of Cygwin.
70983
70984 2006-05-15  Bruno Haible  <bruno@clisp.org>
70985
70986         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
70987         on libtool patch by Ralf Wildenhues.
70988
70989 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
70990
70991         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
70992         test for C99 conformance; (bool) 0.5 is an integer constant
70993         expression, but (bool) -0.5 is not.  Problem reported by Fedor
70994         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
70995
70996 2006-05-11  Simon Josefsson  <jas@extundo.com>
70997
70998         * m4/xvasprintf.m4: Fix obvious typo.
70999
71000 2006-05-11  Jim Meyering  <jim@meyering.net>
71001
71002         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
71003         James Lemley.
71004
71005 2006-05-10  Simon Josefsson  <jas@extundo.com>
71006
71007         * lib/md4.c: Typo fix, update copyright years.
71008         (K1, K2): Don't use L because it turn computations into 64-bit on
71009         64-bit platforms.
71010
71011 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
71012
71013         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
71014         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
71015         unwanted sign propagation, e.g., on hosts with 64-bit int.
71016         There still are some problems with reeelly weird theoretical hosts
71017         (e.g., 33-bit int) but it's not worth worrying about now.
71018         * lib/sha1.c (rol): Likewise.
71019         (K1, K2, K3, K4): Remove unnecessary L suffix.
71020
71021 2006-05-10  Bruno Haible  <bruno@clisp.org>
71022
71023         * lib/des.c: Cast to avoid warnings.
71024
71025 2006-05-09  Bruno Haible  <bruno@clisp.org>
71026
71027         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
71028         (Depends-on): Depend also on xsize, stdarg.
71029         (configure.ac): Add gl_XVASPRINTF.
71030
71031 2006-05-09  Bruno Haible  <bruno@clisp.org>
71032
71033         * m4/xvasprintf.m4: New file.
71034
71035 2006-05-09  Bruno Haible  <bruno@clisp.org>
71036
71037         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
71038         (EOVERFLOW): Define fallback value.
71039         (xstrcat): New function.
71040         (xvasprintf): Recognize the special case of a string concatenation.
71041
71042 2006-05-08  Eric Blake  <ebb9@byu.net>
71043
71044         * gnulib-tool (func_version): Base copyright year on CVS date.
71045         (func_emit_copyright_notice): New function.
71046         (func_emit_lib_Makefile_am): Use it.
71047         (func_emit_tests_Makefile_am): Likewise.
71048         (func_import): Likewise.
71049
71050 2006-05-08  Bruno Haible  <bruno@clisp.org>
71051
71052         * modules/stdarg: New file.
71053         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
71054
71055 2006-05-08  Bruno Haible  <bruno@clisp.org>
71056
71057         * m4/stdarg.m4: New file, from GNU gettext.
71058
71059 2006-05-08  Bruno Haible  <bruno@clisp.org>
71060
71061         * config/srclist.txt (build-aux/config.rpath): different from latest
71062         release.
71063
71064 2006-05-08  Bruno Haible  <bruno@clisp.org>
71065
71066         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
71067
71068 2006-05-05  Jim Meyering  <jim@meyering.net>
71069
71070         * m4/warning.m4: New file, derived from bison's file by the same name.
71071
71072 2006-05-03  Bruno Haible  <bruno@clisp.org>
71073
71074         * lib/stdint_.h: Shorter URL.
71075         * lib/inttypes.h: Likewise.
71076
71077 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71078
71079         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
71080
71081 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71082
71083         * lib/verify.h: Document the internals better.  Most of this change
71084         was written by Bruno Haible.
71085
71086 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71087
71088         * doc/verify.texi: New file, partly based on a proposal by
71089         Bruno Haible.
71090
71091 2006-05-02  Bruno Haible  <bruno@clisp.org>
71092
71093         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
71094         test from here...
71095         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
71096
71097 2006-04-29  Bruno Haible  <bruno@clisp.org>
71098
71099         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
71100         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
71101
71102 2006-04-29  Bruno Haible  <bruno@clisp.org>
71103
71104         * gnulib-tool: Make --update option actually work.
71105
71106 2006-04-29  Bruno Haible  <bruno@clisp.org>
71107
71108         * doc/gcd.texi: New file.
71109         * doc/gnulib.texi: Include it.
71110
71111 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
71112
71113         * lib/getdate.y (get_date): When adding relative date, start with the
71114         initial time, not with the result of the first mktime call.
71115
71116 2006-04-25  Bruno Haible  <bruno@clisp.org>
71117
71118         * gnulib-tool (func_import): Output the include directives in three
71119         blocks, sorted separately.
71120         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71121
71122 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71123
71124         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
71125         to define main with arguments, for C++.  Reported by Eric Blake.
71126         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
71127         Prefer 'int main ()' to 'int main (void)', for C++.
71128         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
71129         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
71130         for 'main', for C99 and C++.
71131
71132 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71133
71134         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
71135         Don't assume that exit status -1 is valid.
71136         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71137         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
71138         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
71139         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
71140         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
71141         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
71142         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
71143         functions can be used without declaring them, or that you can
71144         exit with status -1.
71145         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
71146
71147 2006-04-24  Karl Berry  <karl@gnu.org>
71148
71149         * config/srclist.txt (longdouble.m4): sync lost.
71150
71151 2006-04-24  Eric Blake  <ebb9@byu.net>
71152
71153         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
71154
71155 2006-04-24  Bruno Haible  <bruno@clisp.org>
71156
71157         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
71158         poll() implementation in AIX.
71159         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71160
71161 2006-04-24  Bruno Haible  <bruno@clisp.org>
71162
71163         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
71164         assigned exactly once.
71165
71166 2006-04-23  Claudio Fontana  <claudio@gnu.org>
71167             Bruno Haible  <bruno@clisp.org>
71168
71169         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
71170         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
71171         for AM_CPPFLAGS.
71172
71173 2006-04-23  Bruno Haible  <bruno@clisp.org>
71174
71175         * modules/copy-file: Depend on unistd.
71176         * modules/execute: Likewise.
71177         * modules/fatal-signal: Likewise.
71178         * modules/findprog: Likewise.
71179         * modules/mkdtemp : Likewise.
71180         * modules/pipe: Likewise.
71181         * modules/wait-process: Likewise.
71182
71183 2006-04-23  Bruno Haible  <bruno@clisp.org>
71184
71185         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
71186         condition was already detected.
71187         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71188
71189 2006-04-23  Bruno Haible  <bruno@clisp.org>
71190
71191         * lib/copy-file.c: Include <unistd.h> unconditionally.
71192         * lib/execute.c: Likewise.
71193         * lib/fatal-signal.c: Likewise.
71194         * lib/findprog.c: Likewise.
71195         * lib/mkdtemp.c: Likewise.
71196         * lib/pipe.h: Likewise.
71197         * lib/pipe.c: Likewise.
71198         * lib/wait-process.h: Likewise.
71199
71200 2006-04-23  Bruno Haible  <bruno@clisp.org>
71201
71202         * gnulib-tool (func_usage): Fix --import description. Document
71203         --update.
71204         (func_import): Create temporary file in a temporary directory, if
71205         --dry-run is specified. Silence errors from 'grep' when there are no
71206         m4 files in $m4dir.
71207         (func_create_testdir): Silence errors from 'grep' when there are no
71208         m4 files in $m4dir.
71209         Reported by Karl Berry <karl@freefriends.org>.
71210
71211 2006-04-20  Bruno Haible  <bruno@clisp.org>
71212
71213         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
71214         one argument, so that the code will be portable to Autoconf 2.60.
71215         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
71216         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
71217         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
71218
71219 2006-04-19  Derek Price  <derek@ximbiot.com>
71220             Eric Blake  <ebb9@byu.net>
71221
71222         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
71223         rather than "/full/path.h".  Update comment to match.  Shorten &
71224         generalize m4_translit call via AS_TR_CPP.
71225
71226 2006-04-19  Derek Price  <derek@ximbiot.com>
71227             Eric Blake  <ebb9@byu.net>
71228
71229         * lib/inttypes.h: Correct grammar in comment.
71230
71231 2006-04-18  Derek Price  <derek@ximbiot.com>
71232             Paul Eggert  <eggert@cs.ucla.edu>
71233
71234         * modules/inttypes: New file.
71235         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
71236
71237 2006-04-18  Derek Price  <derek@ximbiot.com>
71238             Paul Eggert  <eggert@cs.ucla.edu>
71239
71240         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
71241         New files.
71242
71243 2006-04-18  Derek Price  <derek@ximbiot.com>
71244             Paul Eggert  <eggert@cs.ucla.edu>
71245
71246         * lib/inttypes.h: New file.
71247         * lib/strtoimax.c: Assume <inttypes.h>.
71248
71249 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
71250
71251         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
71252         isn't mounted.  Problem reported by Kir Kolyshkin.
71253
71254 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
71255
71256         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
71257         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
71258         Derek R. Price.
71259         * lib/regex.h (RE_DUP_MAX): Update comment to match current
71260         implementation.
71261
71262 2006-04-12  Eric Blake  <ebb9@byu.net>
71263
71264         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
71265         is now done automatically by the corresponding Autoconf macro.
71266
71267 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
71268
71269         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
71270         time_r.h.
71271
71272 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71273
71274         Merge regex changes from libc, removing some of our
71275         POSIX-conformance changes that were rejected and redoing them in a
71276         less-intrusive way.
71277
71278         * lib/regcomp.c (re_compile_internal, init_dfa):
71279         Length arg is now size_t, not Idx.  All uses changed.
71280         (peek_token): Forward decl now says internal_function.
71281         (__re_error_msgid, __re_error_msgid_idx):
71282         Now static rather than extern with attribute_hidden.
71283         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
71284         For some reason libc prefers K&R style defns for external functions.
71285         (regerror) [!defined _LIBC]: Likewise.
71286         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
71287         (seek_collating_symbol_entry, lookup_collation_sequence_value):
71288         (build_range_exp, build_collating_symbol):
71289         Use K&R-style defn.
71290         (re_compile_fastmap): Use '\0' to memset, not 0.
71291         (utf8_sb_map): Make the calculations more obvious.
71292         (init_dfa, parse_bracket_exp, build_charclass_op):
71293         Call calloc and cast result, as glibc does.
71294         (init_word_char, fetch_token, peek_token, peek_token_bracket):
71295         (build_range_exp, build_collating_symbol):
71296         Now internal functions.
71297
71298         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
71299
71300         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
71301         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
71302         Don't depend on VMS; depend on __VMS instead, for POSIX
71303         namespace cleanness.
71304         (regoff_t): Define to ssize_t, not long int.
71305
71306         Remove the REG_ macros named below.  Instead, make the old names
71307         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
71308         __USE_GNU_REGEX.
71309         (REG_BACKSLASH_ESCAPE_IN_LISTS):
71310         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
71311         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
71312         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
71313         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
71314         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
71315         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
71316         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
71317         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
71318         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
71319         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
71320         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
71321         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
71322         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
71323         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
71324         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
71325         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
71326         (REG_NREGS):
71327         Remove.  All uses replaced by the old RE_* names.
71328         (RE_BACKSLASH_ESCAPE_IN_LISTS):
71329         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
71330         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
71331         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
71332         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
71333         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
71334         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
71335         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
71336         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
71337         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
71338         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
71339         Don't bother having these macros be independent of each others'
71340         values, since they no longer exist in the POSIX name space.
71341
71342         Rename the following member names back to their old names,
71343         unless !__USE_GNU_REGEX.  All uses changed back.
71344         (buffer): Renamed from re_buffer.
71345         (allocated): Renamed from re_allocated.
71346         (used): Renamed from re_used.
71347         (syntax): Renamed from re_syntax.
71348         (fastmap): Renamed from re_fastmap.
71349         (translate): Renamed from re_translate.
71350         (can_be_null): Renamed from re_can_be_null.
71351         (regs_allocated): Renamed from re_regs_allocated.
71352         (fastmap_accurate): Renamed from re_fastmap_accurate.
71353         (no_sub): Renamed from re_no_sub.
71354         (not_bol): Renamed from re_not_bol.
71355         (not_eol): Renamed from re_not_eol.
71356         (newline_anchor): Renamed from re_newline_anchor.
71357         (num_regs): Renamed from rm_num_regs.
71358         (start): Renamed from rm_start.
71359         (end): Renamed from rm_end.
71360
71361         (free_state): Move up a bit.
71362
71363         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
71364         #define to be empty.
71365         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
71366         when that is what is intended.
71367         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
71368         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
71369         (MAX): New macro.
71370         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
71371         All uses changed back to re_malloc, etc.  It's now the caller's
71372         responsibility to check for overflow; all callers changed.
71373         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
71374         (re_x2nrealloc): Remove.
71375         (free_state): Remove decl.
71376
71377         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
71378         (re_set_registers, re_exec):
71379         Use K&R-style defn.
71380
71381         2006-01-31  Roland McGrath  <roland@redhat.com>
71382
71383         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
71384         Reported by Mike Frysinger <vapier@gentoo.org>.
71385
71386         2006-01-15  Andreas Jaeger  <aj@suse.de>
71387
71388         [BZ #1950]
71389         * lib/regex_internal.c (re_string_reconstruct): Adjust for
71390         build_wcs_upper_buffer change.
71391         (build_wcs_upper_buffer): Change return type.
71392
71393         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
71394
71395         * lib/regex_internal.h: Include <stdint.h> if available.
71396
71397         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
71398
71399         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
71400
71401         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71402
71403         * lib/regcomp.c: Adjust for changed secondary hash function.
71404
71405         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
71406
71407         * lib/regex.h: Pretty printing.
71408         Clean up namespace a bit.
71409
71410         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
71411
71412         * lib/regexec.c (update_cur_sifted_state, check_arrival,
71413         check_arrival_add_next_nodes): Avoid using uninitialized variable.
71414
71415         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
71416                     Ulrich Drepper  <drepper@redhat.com>
71417
71418         [BZ #1302]
71419         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
71420         changed.
71421         (bitset_word_t): Renamed from bitset_word.  All uses changed.
71422
71423         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
71424
71425         [BZ #281]
71426         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
71427         * lib/regcomp.c: Remove unnecessary uses of
71428         unsigned RE_TRANSLATE_TYPE.
71429         * lib/regex_internal.h: Likewise.
71430         * lib/regex_internal.c: Likewise.
71431         * lib/regexec.c: Likewise.
71432         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
71433
71434         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
71435
71436         * lib/regexec.c (find_recover_state): Remove unnecessary
71437         initialization.
71438         (transit_state_bkref): Make DFA a const pointer.
71439         (get_subexp): Likewise.
71440         (check_arrival): Likewise.
71441         (update_cur_sifted_state): Likewise.
71442         (re_search_internal): Likewise.
71443         (prune_impossible_nodes): Likewise.
71444         (acquire_init_state_context): Likewise.
71445         (proceed_next_node): Likewise.
71446         (set_regs): Likewise.
71447         (free_fail_stack_return): Likewise.
71448         (check_arrival_expand_ecl): Mark DFA parameter as const.
71449         (check_arrival_expand_ecl_sub): Likewise.
71450         (check_subexp_limits): Likewise.
71451         (sub_epsilon_src_nodes):  Likewise.
71452         (add_epsilon_src_nodes):  Likewise.
71453         (merge_state_array): Likewise.
71454         (update_regs): Likewise.
71455         (build_trtable): Likewise.
71456         (sift_states_backward): Mark MCTX parameter as const.
71457         (build_sifted_states): Likewise.
71458         (update_cur_sifted_state): Likewise.
71459         (sift_states_mkref): Likewise.
71460         (check_arrival_expand_ecl): Mark eclosure as const.
71461         (check_dst_limits_calc_pos_1): Likewise.
71462         * lib/regex_internal.h (re_match_context_t): Make dfa a const
71463         pointer.
71464
71465         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
71466
71467         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
71468         (transit_state_sb): Likewise.
71469         (transit_state_mb): Likewise.
71470         (sift_states_iter_mb): Likewise.
71471         (check_arrival_add_next_nodes): Likewise.
71472         (check_node_accept_bytes): Change first parameter to pointer-to-const.
71473         [_LIBC] (re_search_2_stub): Use mempcpy.
71474
71475         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
71476         mbrtowc for very simple UTF-8 case.
71477
71478         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
71479         a pointer-to-const.
71480         (re_acquire_state_context): Likewise.
71481         * lib/regex_internal.h: Adjust prototypes.
71482
71483         * lib/regex.c: Prevent using C++ compilers.
71484
71485         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
71486         (re_acquire_state_context): Likewise.
71487
71488 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71489
71490         * modules/regex (Depends-on): Add ssize_t.
71491
71492 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71493
71494         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
71495         translation table.
71496
71497 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71498
71499         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
71500
71501 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
71502             Bruno Haible  <bruno@clisp.org>
71503
71504         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
71505         <sys/types.h> and <inttypes.h>.
71506
71507 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71508
71509         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
71510         `__error_t_defined', so argp.h will not typedef the former.
71511
71512 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
71513
71514         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
71515         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
71516         glibc names.  Even if glibc is changed to conform to POSIX, the
71517         traditional names will be available anyway, since regex depends on
71518         the extensions module.  Also, fix a longstanding typo in the
71519         implementation of Spencer ERE test #75 from grep 2.3.  Problems
71520         reported by Emanuele Giaquinta.  Also, change sense of cached
71521         variable, so that the message makes sense.
71522
71523 2006-03-24  Simon Josefsson  <jas@extundo.com>
71524
71525         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
71526         including some doc fixes.
71527         (base64_encode_alloc): Fix +1 bug on allocation failures.
71528
71529 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71530
71531         * lib/base64.c (base64_encode): Do not read past end of array with
71532         unsanitized input on systems with CHAR_BIT > 8.
71533
71534 2006-03-24  Eric Blake  <ebb9@byu.net>
71535
71536         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
71537
71538 2006-03-22  Karl Berry  <karl@gnu.org>
71539
71540         * config/srclist.txt (*setenv.[ch]): get from coreutils.
71541         * config/srclistvars.sh (COREUTILS): new var.
71542
71543 2006-03-17  Jim Meyering  <jim@meyering.net>
71544
71545         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
71546         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
71547
71548 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71549
71550         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
71551         no longer needs it.  Instead, check that regoff_t is as least
71552         as wide as ptrdiff_t.
71553
71554         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
71555         so that our regex.h stays compatible with the installed regex.
71556         This is helpful for installers who configure --without-included-regex.
71557         Problem reported by Emanuele Giaquinta.
71558
71559 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71560
71561         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
71562         Typedef to long int, not to off_, as POSIX will likely change
71563         in that direction.
71564
71565 2006-03-15  Eric Blake  <ebb9@byu.net>
71566
71567         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
71568
71569 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
71570
71571         * lib/argp-help.c (validate_uparams): Fix typo
71572         * lib/argp-parse.c (argp_default_options): Consistently begin help
71573         messages with a lowercase letter.
71574
71575 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
71576
71577         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
71578         overrun buffers and shouldn't be used (much as gets shouldn't be
71579         used).
71580         * lib/time_r.c (asctime_r, ctime_r): Likewise.
71581
71582 2006-03-08  Simon Josefsson  <jas@extundo.com>
71583
71584         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
71585         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71586
71587 2006-03-08  Simon Josefsson  <jas@extundo.com>
71588
71589         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
71590         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71591
71592 2006-03-08  Simon Josefsson  <jas@extundo.com>
71593
71594         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
71595         signal that configure disabled the device.
71596
71597 2006-03-08  Simon Josefsson  <jas@extundo.com>
71598
71599         * build-aux/maint.mk: Fix refresh-po, to handle no translated
71600         languages.
71601
71602 2006-03-07  Simon Josefsson  <jas@extundo.com>
71603
71604         * modules/getopt (Depends-on): Add unistd.
71605
71606         * modules/unistd: New file.
71607
71608 2006-03-07  Simon Josefsson  <jas@extundo.com>
71609
71610         * modules/gc-random: New file.
71611
71612 2006-03-07  Simon Josefsson  <jas@extundo.com>
71613
71614         * m4/unistd_h.m4: New file.
71615
71616 2006-03-07  Simon Josefsson  <jas@extundo.com>
71617
71618         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
71619         test to be side-effect free by storing the result in the cache
71620         variable gl_cv_lib_readline, and moving the assignment of
71621         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
71622         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71623
71624 2006-03-07  Simon Josefsson  <jas@extundo.com>
71625
71626         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
71627         error on missing devices (the functions will return an error).
71628
71629         * m4/gc.m4: Move random stuff to gc-random.m4
71630
71631 2006-03-07  Simon Josefsson  <jas@extundo.com>
71632
71633         * lib/unistd_.h: New file.
71634
71635 2006-03-07  Simon Josefsson  <jas@extundo.com>
71636
71637         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
71638
71639 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71640
71641         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
71642         Problem reported by Juan Manuel Guerrero.
71643
71644 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71645
71646         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
71647         the unistd module.
71648         * lib/getlogin_r.c: Likewise.
71649         * lib/getlogin_r.h: Likewise.
71650         * lib/glob.c: Likewise.
71651         * lib/pagealign_alloc.c: Likewise.
71652         * lib/unistd_.h: Remove; no longer needed.
71653
71654 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71655
71656         * MODULES.html.sh (Support for systems lacking POSIX:2001):
71657         Add unistd.
71658         * modules/c-stack (Depends-on): Add unistd.
71659         * modules/getlogin_r: Likewise.
71660         * modules/glob: Likewise.
71661         * modules/pagealign_alloc: Likewise.
71662         * modules/unistd (Files): Remove lib/unistd_.h.
71663         (EXTRA_DIST): Remove.
71664         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
71665         need unistd_.h.
71666         (MOSTLYCLEANFILES): Remove unistd.h-t.
71667
71668 2006-03-03  Simon Josefsson  <jas@extundo.com>
71669
71670         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
71671
71672 2006-03-03  Simon Josefsson  <jas@extundo.com>
71673
71674         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
71675         libidn and bison.
71676
71677 2006-03-03  Simon Josefsson  <jas@extundo.com>
71678
71679         * build-aux/maint.mk: Add indent target.
71680
71681 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
71682
71683         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
71684         our replacement poll.h in any case, to avoid a differing
71685         declaration from a system header.  Seen on AIX.
71686
71687 2006-03-01  Simon Josefsson  <jas@extundo.com>
71688
71689         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
71690         <kasal@ucw.cz>.
71691
71692 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71693
71694         * modules/gettime (Depends-on): Add extensions module.
71695         * modules/nanosleep (Depends-on): Likewise.
71696         * modules/settime (Depends-on): Likewise.
71697
71698 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71699
71700         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
71701         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
71702         pedantically.
71703         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71704         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
71705
71706         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
71707         not "==".  Reported by Ralf Wildenhues.
71708
71709 2006-03-01  Karl Berry  <karl@gnu.org>
71710
71711         * doc/Copyright/request-*: new files, synced from gnuorg.
71712
71713 2006-03-01  Karl Berry  <karl@gnu.org>
71714
71715         * config/srclist.txt (Copyright/*): new entries.
71716
71717 2006-02-28  Simon Josefsson  <jas@extundo.com>
71718
71719         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
71720
71721 2006-02-27  Simon Josefsson  <jas@extundo.com>
71722
71723         * lib/base64.h: Indent #define's.  From Jim Meyering
71724         <jim@meyering.net>.
71725
71726 2006-02-27  Jim Meyering  <jim@meyering.net>
71727
71728         Revert the change of 2006-02-24, so these files can continue
71729         to be sync'd from gettext.
71730         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
71731         of `config.h'.
71732
71733 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
71734
71735         * modules/intprops: New file.
71736         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
71737         Add intprops.
71738         * modules/getloadavg (Files): Remove lib/intprops.h.
71739         (Depends-on): Add intprops.
71740         * modules/human: Likewise.
71741         * modules/inttostr: Likewise.
71742         * modules/openat: Likewise.
71743         * modules/sig2str: Likewise.
71744         * modules/userspec: Likewise.
71745         * modules/utimecmp: Likewise.
71746         * modules/xnanosleep: Likewise.
71747         * modules/xstrtol: Likewise.
71748
71749 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
71750
71751         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
71752         * modules/lock-tests (TESTS): Use $(EXEEXT).
71753         * modules/tls-tests: Likewise.
71754         * modules/argp-tests: Likewise.
71755         (check_PROGRAMS): New var, replacing...
71756         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
71757
71758 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71759
71760         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
71761         `config.h'.
71762
71763 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
71764
71765         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
71766
71767 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71768
71769         Sync from coreutils.
71770         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
71771         gl_CHDIR_SAFER.
71772
71773 2006-02-22  Jim Meyering  <jim@meyering.net>
71774
71775         Sync from coreutils.
71776         * m4/chdir-safer.m4: New file.
71777
71778 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
71779
71780         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
71781         AT_FDCWD exceeds INT_MAX.
71782         * lib/openat.h (AT_FDCWD): Likewise.
71783
71784 2006-02-17  Eric Blake  <address@hidden>
71785
71786         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
71787
71788 2006-02-16  Simon Josefsson  <jas@extundo.com>
71789
71790         * modules/getaddrinfo (Depends-on): Add sys_socket.
71791
71792 2006-02-15  Simon Josefsson  <jas@extundo.com>
71793
71794         * build-aux/maint.mk: Add dsyntax-check rule.
71795
71796 2006-02-15  Eric Blake  <ebb9@byu.net>
71797
71798         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
71799         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
71800         'present but cannot compile' warnings on cygwin.
71801         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
71802         use ws2tcpip.h if sys/socket.h works.
71803         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
71804         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
71805
71806 2006-02-14  Simon Josefsson  <jas@extundo.com>
71807
71808         * modules/maintainer-makefile (Files): Rename.
71809
71810         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
71811         and (the local) Makefile.cfg to maint-cfg.mk.
71812
71813         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
71814         to the latter.
71815
71816         * modules/maintainer-makefile: New module.
71817
71818         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
71819         severaly stripped to make it possible to build it up from scratch
71820         with reliable tests.
71821
71822         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
71823         fixes to permit overriding the default actions when configure and
71824         makefile are not available.
71825
71826 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
71827
71828         Sync from coreutils.
71829         * modules/lstat (Depends-on): Don't depend on xalloc.
71830         (License): Change from GPL to LGPL, since this is now simply a
71831         replacement for a libc function.
71832
71833 2006-02-14  Jim Meyering  <jim@meyering.net>
71834
71835         Sync from coreutils.
71836
71837         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
71838         failure on deficient systems, and simplify gnulib lgpl dependencies.
71839         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
71840         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
71841
71842         * lib/xalloc-die.c: Remove unused definition of N_.
71843
71844 2006-02-14  Jim Meyering  <jim@meyering.net>
71845
71846         Sync from coreutils.
71847         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
71848         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
71849         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
71850         double-quote uses of that variable, to accommodate the rare case in
71851         which getmntent is available in none of the libraries checked.  This
71852         happens at least on FreeBSD 5.0.
71853
71854 2006-02-13  Simon Josefsson  <jas@extundo.com>
71855
71856         * gnulib-tool (Usage): Fix --import, from
71857         karl@freefriends.org (Karl Berry).
71858
71859 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
71860
71861         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
71862
71863 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
71864
71865         * lib/argp-namefrob.h: Restore changes accidentally lost during the
71866         "autoupdate" on 2005-12-12.
71867
71868 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
71869
71870         * modules/closeout (Depends-on): Remove atexit.
71871
71872 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
71873
71874         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
71875         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
71876
71877 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
71878
71879         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
71880         __EXTENSIONS__ if this causes compilation to fail.  Problem
71881         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
71882         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
71883
71884 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
71885
71886         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
71887         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
71888         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
71889         All uses changed.
71890
71891 2006-01-26  Simon Josefsson  <jas@extundo.com>
71892
71893         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
71894         prototype is visible on mingw32.
71895
71896         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
71897         for mingw32.
71898
71899         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
71900         mingw32).
71901
71902 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
71903
71904         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
71905         attempt to open for write; this always fails, at least on POSIX
71906         hosts.  This reinstates the 2006-01-09 change, which was
71907         inadvertently removed.
71908
71909 2006-01-26  Bruno Haible  <bruno@clisp.org>
71910
71911         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
71912         Reported by Paul Eggert.
71913
71914 2006-01-26  Bruno Haible  <bruno@clisp.org>
71915             Paul Eggert  <eggert@cs.ucla.edu>
71916
71917         * lib/stdbool_.h (_Bool)
71918         [(! (defined __cplusplus || defined __BEOS__)
71919           && !defined __GNUC__
71920           && !(defined __HP_cc || defined __xlc__
71921                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
71922                || defined __sgi))]:
71923         #define to signed char in these cases too; this simplifies
71924         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
71925         etc., separately) and makes it more conservative.
71926
71927 2006-01-25  Simon Josefsson  <jas@extundo.com>
71928
71929         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
71930         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
71931         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
71932
71933 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
71934
71935         * lib/argp-namefrob.h: Bugfix. Remove stray #
71936
71937 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
71938
71939         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
71940         so that we test the test.
71941         Check for yet another HP-UX cc bug involving *bool |= bool.
71942
71943 2006-01-25  Karl Berry  <karl@gnu.org>
71944
71945         * config/srclist.txt (vasnprintf.c): sync lost.
71946
71947 2006-01-25  Jim Meyering  <jim@meyering.net>
71948
71949         Sync from the stable (b5) branch of coreutils:
71950
71951         * lib/fts.c (fts_children): Don't let close() clobber errno from
71952         failed fchdir().
71953
71954         * lib/fts.c (fts_stat): When following a symlink-to-directory,
71955         don't necessarily interpret stat-fails+lstat-succeeds as indicating
71956         a dangling symlink.  That can also happen at least for ELOOP.
71957         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
71958         FYI, this bug predates the inclusion of fts.c in coreutils.
71959
71960         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
71961         in their own block, so pre-c99 compilers don't object.
71962
71963         Avoid the double-free (first in fts_read, second in fts_close) that
71964         would occur when an `active' directory is made inaccessible (e.g.,
71965         via chmod a-x) during a traversal.
71966         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
71967         before returning.  Reproduce this failure by
71968         mkdir -p a/b; cd a; chmod a-x . b
71969         Reported by Stavros Passas.
71970
71971 2006-01-25  Jim Meyering  <jim@meyering.net>
71972
71973         * lib/fileblocks.c: Remove more useless parentheses.
71974         * lib/readutmp.h: Likewise.
71975
71976 2006-01-25  Bruno Haible  <bruno@clisp.org>
71977
71978         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
71979         warnings.
71980         Reported by Paul Eggert.
71981
71982 2006-01-25  Bruno Haible  <bruno@clisp.org>
71983
71984         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
71985         rid of a trap command. For Solaris sh.
71986         Reported by Mark D. Baushke <mdb@gnu.org>.
71987
71988 2006-01-24  Simon Josefsson  <jas@extundo.com>
71989
71990         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
71991         Bruno.
71992
71993 2006-01-24  Karl Berry  <karl@gnu.org>
71994
71995         * config/srclist.txt (argp-namefrob.h): sync lost.
71996
71997 2006-01-24  Jim Meyering  <jim@meyering.net>
71998
71999         * modules/openat (Files): Add lib/intprops.h.
72000         From Mark D. Baushke.
72001
72002 2006-01-24  Jim Meyering  <jim@meyering.net>
72003
72004         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
72005         Reported by Mark D. Baushke.
72006
72007 2006-01-24  Jim Meyering  <jim@meyering.net>
72008
72009         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
72010
72011 2006-01-24  Bruno Haible  <bruno@clisp.org>
72012
72013         * modules/strnlen (Maintainer): Change from glibc to all.
72014
72015 2006-01-24  Bruno Haible  <bruno@clisp.org>
72016
72017         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
72018         Patch by Paul Eggert.
72019
72020 2006-01-24  Bruno Haible  <bruno@clisp.org>
72021
72022         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
72023         already has it.
72024         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
72025         2005-11-26.
72026
72027         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
72028         'signed char' to avoid problems with the built-in _Bool type.
72029         Reported by Paul Eggert on 2005-11-26.
72030
72031 2006-01-24  Bruno Haible  <bruno@clisp.org>
72032
72033         * gnulib-tool (func_import): Avoid constructing complicated sed
72034         expressions inside backquote.
72035         Report and solution by Mark D. Baushke <mdb@gnu.org>.
72036
72037 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
72038
72039         These changes imported from libc.
72040         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
72041         test and two separate function calls.
72042         * lib/strndup.c (__strndup): Add libc_hidden_def.
72043
72044 2006-01-23  Simon Josefsson  <jas@extundo.com>
72045
72046         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
72047         Remove the test_*_SOURCES variable: automake infers it by default.
72048         * modules/tls-tests: Likewise.
72049
72050 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72051
72052         Work around porting bugs reported by Dieter in
72053         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
72054         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
72055         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
72056         Include "getopt.h" first, to check interface.
72057         (getenv): Declare only if defined HAVE_DECL_GETENV &&
72058         !HAVE_DECL_GETENV.
72059         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
72060         (__strndup): Revert to K&R-style function dfns, the glibc style.
72061         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
72062         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
72063         Include strnlen.h first, to get prototype properly.
72064         (strnlen): Renamed from __strnlen.
72065         Remove weak alias.
72066
72067 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72068
72069         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
72070
72071 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72072
72073         * config/srclist.txt: Adjust to reflect glibc reorganization.
72074         This affects only comments.
72075
72076 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72077
72078          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
72079          Reported by Bruce Korb <bkorb@gnu.org>.
72080
72081 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
72082
72083         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
72084         to pacify gcc -Wswitch-default.
72085
72086 2006-01-22  Bruno Haible  <bruno@clisp.org>
72087
72088         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
72089         temporary buffer for sprintf, take into account the precision also
72090         for 'd', 'i', 'u', 'o', 'x', 'X'.
72091
72092 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72093
72094         * modules/argp-tests: New module
72095         * tests/test-argp.c: New file
72096         * tests/test-argp-2.sh: New file
72097
72098 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72099
72100         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
72101         (__argp_base_name): Removed
72102         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
72103         typo.
72104         (__argp_base_name): Provide macro definition or extern declaration
72105         depending on the configuration
72106
72107 2006-01-20  Simon Josefsson  <jas@extundo.com>
72108
72109         * modules/inet_ntop (Depends-on): Depend on sys_socket.
72110
72111 2006-01-20  Simon Josefsson  <jas@extundo.com>
72112
72113         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
72114
72115 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
72116
72117         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
72118         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
72119         Suggested by Bruno Haible.
72120
72121 2006-01-20  Karl Berry  <karl@gnu.org>
72122
72123         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
72124         until changes propagate, I guess.
72125
72126 2006-01-19  Simon Josefsson  <jas@extundo.com>
72127
72128         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
72129
72130 2006-01-19  Simon Josefsson  <jas@extundo.com>
72131
72132         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
72133
72134 2006-01-19  Simon Josefsson  <jas@extundo.com>
72135
72136         * gnulib-tool: Set check_PROGRAMS.
72137
72138         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72139         modules/des-tests, modules/gc-arcfour-tests,
72140         modules/gc-arctwo-tests, modules/gc-des-tests,
72141         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72142         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72143         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72144         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72145         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72146         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
72147         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
72148         test_*_SOURCES.
72149
72150 2006-01-18  Simon Josefsson  <jas@extundo.com>
72151
72152         * modules/socklen (Depends-on): Depend on sys_socket.
72153
72154 2006-01-18  Simon Josefsson  <jas@extundo.com>
72155
72156         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72157         modules/des-tests, modules/gc-arcfour-tests,
72158         modules/gc-arctwo-tests, modules/gc-des-tests,
72159         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72160         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72161         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72162         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72163         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72164         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
72165         $(EXEEXT) to automake TESTS variable, for mingw32.
72166
72167 2006-01-17  Simon Josefsson  <jas@extundo.com>
72168
72169         * modules/socklen (Include): Need sys/socket.h.
72170
72171 2006-01-17  Bruno Haible  <bruno@clisp.org>
72172
72173         * modules/ssize_t (Include): Add <sys/types.h>.
72174
72175 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
72176
72177         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
72178         it's not portable and it doesn't work with cross-compiles.
72179         Problem reported by Bruno Haible.  Fix missing-$ typo in
72180         'test "gl_cv_ignore_unused_libraries" ...' that prevented
72181         -zignore from being used with Sun's C compiler.
72182
72183 2006-01-12  Simon Josefsson  <jas@extundo.com>
72184
72185         * lib/base64.c: Fix warning, reported by Bruno Haible
72186         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
72187
72188 2006-01-12  Bruno Haible  <bruno@clisp.org>
72189
72190         * modules/ldd: New file.
72191         * build-aux/ldd.sh.in: New file.
72192         * MODULES.html.sh (Support for building libraries and executables): Add
72193         ldd.
72194
72195 2006-01-12  Bruno Haible  <bruno@clisp.org>
72196
72197         * m4/ldd.m4: New file.
72198
72199 2006-01-12  Bruno Haible  <bruno@clisp.org>
72200
72201         * gnulib-tool (func_import, func_create_testdir): Don't go into an
72202         endless loop while replacing $auxdir with build-aux.
72203
72204 2006-01-11  Simon Josefsson  <jas@extundo.com>
72205
72206         * lib/stdint_.h (SIZE_MAX): Add missing (.
72207
72208 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
72209
72210         Sync from coreutils.
72211         * lib/md5.c: Fix commentary typos.
72212         (alignof, UNALIGNED_P): No need for a GCC-specific version.
72213         * lib/md5.h (__attribute__): Remove; unused.
72214         * lib/sha1.c: Fix commentary to match md5 better.
72215         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
72216         so that we don't need to worry about alignment.  All uses changed.
72217         This merges the 2005-10-28 md5 change into sha1.
72218
72219 2006-01-11  Jim Meyering  <jim@meyering.net>
72220
72221         Sync from coreutils.
72222         * lib/md5.c (OP): Fix spacing.
72223
72224 2006-01-11  Bruno Haible  <bruno@clisp.org>
72225
72226         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72227         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
72228         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
72229
72230 2006-01-11  Bruno Haible  <bruno@clisp.org>
72231
72232         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72233         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
72234         the "early" section as well.
72235
72236 2006-01-11  Bruno Haible  <bruno@clisp.org>
72237
72238         Avoid "ar: no archive members specified" error on MacOS X.
72239         * gnulib-tool (func_modules_add_dummy): New function.
72240         (func_import, func_create_testdir): Invoke it.
72241
72242 2006-01-11  Bruno Haible  <bruno@clisp.org>
72243
72244         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
72245         with $auxdir in AC_CONFIG_FILES statements.
72246
72247 2006-01-11  Bruno Haible  <bruno@clisp.org>
72248
72249         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72250         Initialize also noinst_HEADERS to empty.
72251
72252 2006-01-11  Bruno Haible  <bruno@clisp.org>
72253
72254         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
72255         variables.
72256         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
72257         autoreconf.
72258
72259 2006-01-11  Bruno Haible  <bruno@clisp.org>
72260
72261         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
72262         overridable by the user.
72263         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72264
72265 2006-01-10  Simon Josefsson  <jas@extundo.com>
72266
72267         * modules/sys_socket: New file.
72268
72269 2006-01-10  Simon Josefsson  <jas@extundo.com>
72270
72271         * m4/sys_socket_h.m4: New file.
72272
72273 2006-01-10  Simon Josefsson  <jas@extundo.com>
72274
72275         * lib/socket_.h: New file.
72276
72277 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72278
72279         * modules/readutmp (Maintainer): Add myself.
72280
72281 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72282
72283         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
72284         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
72285         People who are still concerned with buggy memcmp implementations
72286         can invoke gl_FUNC_MEMCMP themselves.
72287
72288 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72289
72290         * lib/regex_internal.h (BITSET_WORD_BITS):
72291         Work around a bug in 64-bit PGC (before version 6.1-2), where the
72292         preprocessor mishandles large unsigned values as if they were signed.
72293         Problem reported by Claudio Fontana in
72294         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
72295
72296 2006-01-10  Jim Meyering  <jim@meyering.net>
72297
72298         Avoid the double-free (first in fts_read, second in fts_close) that
72299         would occur when an `active' directory is made inaccessible (e.g.,
72300         via chmod a-x) during a traversal.
72301         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72302         before returning.  Reproduce this failure by
72303         mkdir -p a/b; cd a; chmod a-x . b
72304         Reported by Stavros Passas.
72305
72306         Sync from coreutils.
72307         * lib/sha1.c: Tweak grammar in a comment.
72308
72309 2006-01-10  Jim Meyering  <jim@meyering.net>
72310
72311         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
72312         Patch by Joerg Sonnenberger.
72313
72314 2006-01-10  Bruno Haible  <bruno@clisp.org>
72315
72316         * modules/readutmp: Depend on module free.
72317         * modules/strtok_r: Depend on module restrict.
72318
72319 2006-01-10  Bruno Haible  <bruno@clisp.org>
72320
72321         * modules/gettext (configure.ac): Add an invocation of
72322         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
72323
72324 2006-01-10  Bruno Haible  <bruno@clisp.org>
72325
72326         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
72327         Reported by Werner Lemberg <wl@gnu.org>.
72328
72329 2006-01-10  Bruno Haible  <bruno@clisp.org>
72330
72331         * lib/localcharset.c: Update from GNU gettext.
72332
72333 2006-01-10  Bruno Haible  <bruno@clisp.org>
72334
72335         * lib/argp.h (__const): Remove macro. Use const instead.
72336         * lib/argp-fmtstream.h (__const): Likewise.
72337         * lib/glob_.h (__const): Remove macro.
72338         * lib/glob-libc.h: Use const instead of __const.
72339
72340 2006-01-10  Bruno Haible  <bruno@clisp.org>
72341
72342         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
72343         variable.
72344         Needed to avoid an automake error regarding the 'gettext' module.
72345
72346 2006-01-09  Simon Josefsson  <jas@extundo.com>
72347
72348         * modules/inet_ntop (Depends-on): Add restrict.
72349
72350 2006-01-09  Simon Josefsson  <jas@extundo.com>
72351
72352         * modules/gc-rijndael-tests (License): Put under LGPL.
72353
72354         * modules/gc-des-tests (License): Likewise.
72355
72356         * modules/gc-arcfour-tests (License): Likewise.
72357
72358         * modules/gc-arctwo-tests (License): Likewise.
72359
72360         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
72361
72362         * modules/gc-hmac-sha1-tests (Files): Likewise.
72363
72364         * modules/gc-hmac-md5-tests (License): Likewise.
72365
72366         * modules/gc-sha1-tests (License): Likewise.
72367
72368         * modules/gc-md5-tests (License): Likewise.
72369
72370         * modules/gc-md4-tests (License): Likewise.
72371
72372         * modules/gc-md2-tests (License): Likewise.
72373
72374         * modules/gc-tests (License): Likewise.
72375
72376         * modules/des-tests (License): Likewise.
72377
72378         * modules/md4-tests (License): Likewise.
72379
72380         * modules/md2-tests (License): Likewise.
72381
72382 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72383
72384         Sync from coreutils:
72385
72386         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
72387         * modules/lib-ignore: New file.
72388         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
72389         chdir-safer.m4, lchmod.m4.
72390         * modules/openat: Add mkdirat.c, openat-priv.h.
72391
72392 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72393
72394         Sync from coreutils.
72395         * m4/lib-ignore.m4: New file.
72396         * m4/lchmod.m4: New file.
72397
72398 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72399
72400         Sync from coreutils.
72401         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
72402         for write access: POSIX says that must fail.
72403         * lib/fts.c (diropen): Likewise.
72404         * lib/save-cwd.c (save_cwd): Likewise.
72405         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
72406         well, for minor improvements on hosts that lack O_DIRECTORY.
72407         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
72408         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
72409         Fall back on chown if open failed with EACCES.
72410
72411         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
72412         Report an error at compile-time if only a 1-second nominal clock
72413         resolution is found.
72414
72415         * lib/lchmod.h: New file.
72416         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
72417         (make_dir_parents): Use lchown rather than chown, and
72418         lchmod rather than chmod.
72419
72420         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
72421         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
72422         "proc" reported by n0dalus.
72423
72424         * lib/mountlist.c: Include <limits.h>.
72425         (dev_from_mount_options)
72426         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
72427         New function.  It no longer assumes "dev=" has the System V meaning
72428         on Linux (since it doesn't).  It also parses "dev=" more carefully.
72429         (read_file_system_list)
72430         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
72431         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
72432         dev= in that case.
72433
72434         * lib/posixtm.h (PDS_PRE_2000): New macro.
72435         * lib/posixtm.c (year): Arg is now syntax_bits rather than
72436         allow_century.  All usages changed.  Reject dates outside the range
72437         1969-1999 if PDS_PRE_2000 is used.
72438
72439 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72440
72441         Sync from coreutils.
72442         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
72443         (Time of day items): Mention the possibility of leap seconds.
72444         Problem reported by Dr. David Alan Gilbert.
72445
72446 2006-01-09  Jim Meyering  <jim@meyering.net>
72447
72448         Sync from coreutils.
72449
72450         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
72451
72452         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
72453
72454         * lib/modechange.c (mode_compile): Reject an invalid mode string
72455         that starts with an octal digit.  From Andreas Gruenbacher.
72456
72457         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
72458         and dup to open_safer and dup_safer, respectively.
72459         (openat_permissive): Fix typo in comment.
72460
72461         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
72462         "gettext.h"; either no longer needed or are guaranteed by openat.h.
72463         (_): Remove; no longer needed.
72464         (openat): Renamed from rpl_openat; no need for rpl_openat
72465         since openat.h renames openat for us.
72466         Replace most of the body with a call to openat_permissive,
72467         to avoid duplicate code.
72468         Port to (probably hypothetical) environments were mode_t is
72469         wider than int.
72470         (openat_permissive): Require mode arg, so that we can check
72471         types better.  Put it just after flags.  Change cwd failure
72472         indicator from pointer-to-bool to pointer-to-errno-value.
72473         All callers changed.
72474         Invoke openat_save_fail and/or openat_restore_fail if
72475         cwd_errno is null, so that openat can call us.
72476         (openat_permissive, fdopendir, fstatat, unlinkat):
72477         Simplify errno handling to avoid some duplicate code,
72478         as it's OK to set errno on success.
72479         * lib/openat.h: Revamp code so that function macros depend on
72480         __OPENAT_PREFIX only, not also on AT_FDCWD.
72481         (openat_ro): Remove.  Caller changed to use openat_permissive.
72482         (openat_permissive): Now a macro, if not a function.
72483         (openat_restore_fail, openat_save_fail): Now always functions,
72484         since mkdirat needs them even if __OPENAT_PREFIX is defined.
72485
72486         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
72487         and openat.c.
72488         * lib/mkdirat.c: Include openat-priv.h.
72489         Remove definitions of macros defined therein.
72490         * lib/openat.c: Likewise.
72491
72492         * lib/mkdirat.c (mkdirat): New file and function.
72493         * lib/openat.h (mkdirat): Declare.
72494
72495         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
72496
72497         * lib/openat.h (openat_permissive): Declare.
72498         (openat_ro): Define.
72499
72500         * lib/openat.c (EXPECTED_ERRNO): New macro.
72501         (openat_permissive): New function -- used in remove.c rewrite.
72502         (all functions): Set errno just before returning, only if there
72503         was an actual failure.
72504         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
72505
72506         Emulate openat-family functions using Linux's procfs, if possible.
72507         Idea and some code based on Ulrich Drepper's glibc changes.
72508
72509         * lib/openat.c: (BUILD_PROC_NAME): New macro.
72510         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
72511         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
72512         before falling back on save_cwd and restore_cwd.
72513         (fdopendir, fstatat, unlinkat): Likewise.
72514
72515         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
72516         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
72517
72518         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
72519         as second argument to va_arg.  Otherwise, some versions of gcc
72520         warn that `if this code is reached, the program will abort'.
72521
72522 2006-01-09  Jim Meyering  <jim@meyering.net>
72523
72524         Sync from coreutils.
72525         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
72526         Require openat-priv.h.
72527
72528 2006-01-09  Bruno Haible  <bruno@clisp.org>
72529
72530         * modules/strnlen (Include): Use strnlen.h.
72531
72532 2006-01-09  Bruno Haible  <bruno@clisp.org>
72533
72534         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
72535
72536 2006-01-09  Bruno Haible  <bruno@clisp.org>
72537
72538         * lib/sysexit_.h (EX_OK): New macro.
72539         Suggested by Martin Lambers <marlam@marlam.de>.
72540
72541 2006-01-09  Bruno Haible  <bruno@clisp.org>
72542
72543         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
72544         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
72545
72546 2006-01-09  Bruno Haible  <bruno@clisp.org>
72547
72548         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
72549         numbers.
72550
72551 2006-01-09  Bruno Haible  <bruno@clisp.org>
72552
72553         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
72554         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
72555         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
72556         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
72557
72558 2006-01-09  Bruno Haible  <bruno@clisp.org>
72559
72560         * build-aux/javacomp.sh.in: New file, moved from lib/.
72561         * modules/javacomp-script (Files): Update.
72562         (configure.ac): Add AC_CONFIG_FILES invocation.
72563         (EXTRA_DIST): Remove variable.
72564
72565         * build-aux/javaexec.sh.in: New file, moved from lib/.
72566         * modules/javaexec (Files): Update.
72567         (configure.ac): Add AC_CONFIG_FILES invocation.
72568         (EXTRA_DIST): Remove javaexec.sh.in.
72569
72570         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
72571         * modules/csharpcomp-script (Files): Update.
72572         (configure.ac): Add AC_CONFIG_FILES invocation.
72573         (EXTRA_DIST): Remove variable.
72574
72575         * build-aux/csharpexec.sh.in: New file, moved from lib/.
72576         * modules/csharpexec (Files): Update.
72577         (configure.ac): Add AC_CONFIG_FILES invocation.
72578         (EXTRA_DIST): Remove csharpexec.sh.in.
72579
72580 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
72581
72582         Sync from coreutils.
72583
72584         Add POSIX ACL support
72585         * lib/acl.h (copy_acl, set_acl): Add declarations.
72586         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
72587         systems other than Linux.
72588         (chmod_or_fchmod): New function: use fchmod when possible,
72589         and chmod otherwise.
72590         (file_has_acl): Add a POSIX ACL implementation, with a
72591         Linux-specific subcase.
72592         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
72593         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
72594         acls are unsupported.
72595         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
72596         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
72597         are unsupported.
72598
72599 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
72600
72601         Sync from coreutils.
72602         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
72603
72604 2006-01-07  Bruno Haible  <bruno@clisp.org>
72605
72606         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
72607         gl_EARLY.
72608
72609 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72610
72611         * lib/strftime.c (tzname): Don't declare if it is already #defined.
72612         Problem reported for Mingw by Mark Junker.
72613
72614 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72615
72616         * README: Gnulib normally doesn't generate a tarball.
72617
72618 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
72619
72620         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
72621         long int, not int, for nanosecond counts, so that people who are
72622         used to POSIX struct timespec won't be surprised.  Reported by Jim
72623         Meyering.
72624
72625 2005-12-28  Bruno Haible  <bruno@clisp.org>
72626
72627         * build-aux/config.rpath: Update from GNU gettext.
72628
72629 2005-12-16  Jim Meyering  <jim@meyering.net>
72630
72631         * modules/fprintftime: New module.
72632         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
72633
72634 2005-12-16  Jim Meyering  <jim@meyering.net>
72635
72636         * m4/fprintftime.m4: New file.
72637
72638 2005-12-16  Jim Meyering  <jim@meyering.net>
72639
72640         * lib/fprintftime.c, lib/fprintftime.h: New files.
72641
72642 2005-12-15  Simon Josefsson  <jas@extundo.com>
72643
72644         * modules/socklen (configure.ac): Fix M4 macro name, to align with
72645         new m4/socklen.m4.
72646
72647 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72648
72649         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
72650         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
72651
72652 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72653
72654         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
72655         * lib/argp-help.c (fill_in_uparams): Check if the constructed
72656         struct uparams is valid. Fall back to the default values if it is
72657         not.
72658
72659 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72660
72661         * modules/argp (Files): Add argp-pin.c
72662         (Depends-on): dirname
72663         (lib_SOURCES): Add argp-pin.c
72664
72665 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72666
72667         * m4/argp.m4:  Check if program_invocation_name and
72668         program_invocation_short_name are declared and define appropriate
72669         macros if they are not.
72670
72671 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72672
72673         * lib/argp-help.c (__argp_base_name): New function
72674         (__argp_short_program_name): Rewrite using __argp_base_name
72675         * lib/argp-namefrob.h: Define program_invocation_name and
72676         program_invocation_short_name if requested
72677         (__argp_base_name): Add prototype
72678         * lib/argp-parse.c (argp_def): Use gettext wrappers
72679         (argp_default_parser): Use __argp_base_name
72680         * lib/argp-pin.c: New file. Defines program_invocation_name and
72681         program_invocation_short_name on systems that lack them.
72682
72683 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
72684
72685         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
72686         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
72687         porting problem reported by Georg Schwarz in
72688         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
72689
72690 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
72691
72692         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
72693         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
72694         porting problem reported by Georg Schwarz in
72695         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
72696
72697 2005-12-05  Bruno Haible  <bruno@clisp.org>
72698
72699         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
72700         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
72701         Reported by Mark Junker <mjscod@gmx.de>.
72702
72703 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
72704
72705         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
72706         Use implementation from Albert Chin, with some
72707         comments/corrections by Stepan Kasal and myself.
72708
72709 2005-12-02  Bruno Haible  <bruno@clisp.org>
72710
72711         * gnulib-tool (func_import): Accept GPLed build tool modules when
72712         --lgpl is given.
72713         * modules/csharpcomp-script: New file.
72714         * modules/csharpcomp: Depend on it.
72715         * modules/javacomp-script: New file.
72716         * modules/javacomp: Depend on it.
72717         Suggested by Simon Josefsson.
72718
72719 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
72720
72721         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
72722         statement, to work around an HP-UX 10.20 compiler bug reported by
72723         Peter O'Gorman.
72724
72725 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
72726
72727         * modules/savedir (Depends-on): Add openat.
72728
72729 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
72730
72731         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
72732         (uintmax_t) [defined uintmax_t]: Do not declare.
72733         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
72734         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
72735         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
72736         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
72737         sake of portability to weird hosts that C allows (though we don't
72738         know of any practical examples).
72739
72740         * lib/savedir.h (fdsavedir): New decl.
72741         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
72742         contains most of the former guts of savedir.
72743         (savedir): Use savedirstream.
72744         Include "openat.h".
72745
72746 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
72747
72748         * modules/obstack (Files): Add m4/ulonglong.m4.
72749         Problem reported by Davide Angelocola.
72750
72751 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
72752
72753         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
72754         coreutils no longer futzes with rounding modes.
72755
72756 2005-11-14  Jim Meyering  <jim@meyering.net>
72757
72758         * lib/mkstemp-safer.c: Include <config.h>, required for possible
72759         replacement of mkstemp.
72760
72761 2005-11-10  Simon Josefsson  <jas@extundo.com>
72762
72763         * lib/readline.c: Remove EOL.
72764
72765 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72766
72767         * modules/gethrxtime (Depends-on): Add gettime.
72768
72769 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72770
72771         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
72772         or gettimeofday; no longer needed.
72773
72774 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72775
72776         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
72777         time business.
72778         (gethrxtime) [! (HAVE_NANOUPTIME
72779         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
72780         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
72781         our own approximation.
72782
72783 2005-11-08  Eric Blake  <ebb9@byu.net>
72784
72785         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
72786
72787 2005-11-08  Eric Blake  <ebb9@byu.net>
72788
72789         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
72790
72791 2005-11-04  Bruno Haible  <bruno@clisp.org>
72792
72793         * gnulib-tool: Implement --update mode.
72794
72795 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
72796
72797         Fix porting problem reported by Theodoros V. Kalamatianos.
72798         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
72799         Don't assume that futimes failing means we must fail.
72800
72801 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
72802
72803         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
72804         variables to suggest the intended function of the PATH_MAX check.
72805
72806 2005-10-30  Kean Johnston  <jkj@sco.com>
72807
72808         Trivial changes to support SCO systems.
72809         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
72810         as PATH_MAX.
72811         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
72812         where __ptr is null when no I/O is pending.
72813
72814 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
72815
72816         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
72817         leave errno alone.  Problem reported by Dmitry V. Levin.
72818
72819 2005-10-28  Simon Josefsson  <jas@extundo.com>
72820
72821         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
72822         Test more.
72823
72824         * tests/test-gc-md2.c, tests/test-md2.c: New files.
72825
72826         * modules/md2, modules/md2-tests: New files.
72827
72828 2005-10-28  Simon Josefsson  <jas@extundo.com>
72829
72830         * m4/inet_ntop.m4: More tests.
72831
72832         * m4/gc-md2.m4, md2.m4: New file.
72833
72834 2005-10-28  Simon Josefsson  <jas@extundo.com>
72835
72836         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
72837         "restrict" keywords, as per POSIX.  Protect the function
72838         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
72839         Don't use K&R prototypes.  Check the sprintf return values.
72840         Re-define EAFNOSUPPORT if not present.  Indent.
72841
72842         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
72843         suggested by Bruno Haible <bruno@clisp.org>.
72844
72845         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
72846
72847         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
72848
72849         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
72850         libgcrypt).
72851
72852         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
72853
72854         * lib/md2.h, lib/md2.c: New files.
72855
72856 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
72857
72858         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
72859         errno alone.  Problem reported by Frederic Jolliton.
72860
72861 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
72862
72863         * modules/verify (License): Change from GPL to LGPL.  This is a
72864         tiny module and there are apparently near-equivalents that are
72865         under the BSD license.
72866
72867 2005-10-24  Simon Josefsson  <jas@extundo.com>
72868
72869         * modules/sha1: Relicense to LGPL.
72870
72871 2005-10-24  Simon Josefsson  <jas@extundo.com>
72872
72873         * lib/md4.h: Shrink buffer size, now that we changed the type.
72874
72875 2005-10-23  Simon Josefsson  <jas@extundo.com>
72876
72877         * gnulib-tool (func_import): Fix --tests-base.
72878
72879 2005-10-22  Simon Josefsson  <jas@extundo.com>
72880
72881         * modules/arcfour (Depends-on): Need stdint.
72882
72883 2005-10-22  Simon Josefsson  <jas@extundo.com>
72884
72885         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
72886         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
72887
72888 2005-10-22  Simon Josefsson  <jas@extundo.com>
72889
72890         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
72891         suggested by Bruno Haible <bruno@clisp.org>.
72892
72893 2005-10-22  Simon Josefsson  <jas@extundo.com>
72894
72895         * lib/crc.h: Include stddef.h, for size_t.
72896
72897 2005-10-22  Simon Josefsson  <jas@extundo.com>
72898
72899         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
72900         arcfour_context struct (simplify test vector testing in GNU
72901         Shishi).
72902
72903 2005-10-21  Simon Josefsson  <jas@extundo.com>
72904
72905         * modules/des, modules/des-tests: New files.
72906
72907         * modules/gc-des, modules/gc-des-tests: New files.
72908
72909         * tests/test-des.c, tests/test-gc-des.c: New file.
72910
72911 2005-10-21  Simon Josefsson  <jas@extundo.com>
72912
72913         * modules/arctwo, modules/arctwo-tests: New files.
72914
72915         * tests/test-arctwo.c: New file.
72916
72917         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
72918
72919         * tests/test-gc-arctwo.c: New file.
72920
72921 2005-10-21  Simon Josefsson  <jas@extundo.com>
72922
72923         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
72924         Bruno Haible <bruno@clisp.org>.
72925
72926         * m4/gc-des.m4: New file.
72927
72928 2005-10-21  Simon Josefsson  <jas@extundo.com>
72929
72930         * m4/arctwo.m4: New file.
72931
72932         * m4/gc-arctwo.m4: New file.
72933
72934 2005-10-21  Simon Josefsson  <jas@extundo.com>
72935
72936         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
72937         block.
72938
72939 2005-10-21  Simon Josefsson  <jas@extundo.com>
72940
72941         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
72942         <bruno@clisp.org>.
72943
72944         * lib/hmac-sha1.c (hmac_sha1): Likewise.
72945
72946         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
72947         Bruno Haible <bruno@clisp.org>.
72948
72949         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
72950         <bruno@clisp.org>.
72951
72952 2005-10-21  Simon Josefsson  <jas@extundo.com>
72953
72954         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
72955
72956 2005-10-21  Simon Josefsson  <jas@extundo.com>
72957
72958         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
72959
72960 2005-10-21  Simon Josefsson  <jas@extundo.com>
72961
72962         * lib/des.h, lib/des.c: New files.
72963
72964         * lib/gc-gnulib.c: Support DES.c
72965
72966 2005-10-21  Simon Josefsson  <jas@extundo.com>
72967
72968         * lib/arctwo.h, lib/arctwo.c: New files.
72969
72970         * lib/gc-gnulib.c: Support ARCTWO.
72971
72972 2005-10-21  Simon Josefsson  <jas@extundo.com>
72973
72974         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
72975         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72976
72977 2005-10-21  Simon Josefsson  <jas@extundo.com>
72978
72979         * gnulib-tool (func_import, func_create_testdir): Define automake
72980         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
72981         Makefile.am snippet),
72982         suggested by Bruno Haible <bruno@clisp.org>.
72983
72984         * modules/gc (Makefile.am): Use it.
72985
72986 2005-10-21  Bruno Haible  <bruno@clisp.org>
72987
72988         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
72989         patch.
72990
72991 2005-10-19  Simon Josefsson  <jas@extundo.com>
72992
72993         * tests/test-gc-rijndael.c: New file.
72994
72995         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
72996
72997 2005-10-19  Simon Josefsson  <jas@extundo.com>
72998
72999         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
73000         interface too.
73001
73002 2005-10-19  Simon Josefsson  <jas@extundo.com>
73003
73004         * tests/test-gc-arcfour.c: New file.
73005
73006         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
73007
73008 2005-10-19  Simon Josefsson  <jas@extundo.com>
73009
73010         * modules/gc-md4, modules/gc-md4-tests: New file.
73011
73012         * tests/test-gc-md4.c: New file.
73013
73014 2005-10-19  Simon Josefsson  <jas@extundo.com>
73015
73016         * m4/gc-md4.m4: New file.
73017
73018 2005-10-19  Simon Josefsson  <jas@extundo.com>
73019
73020         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
73021         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
73022         <kasal@ucw.cz>.
73023
73024 2005-10-19  Simon Josefsson  <jas@extundo.com>
73025
73026         * m4/gc-arcfour.m4: New file.
73027
73028         * m4/gc-rijndael.m4: New file.
73029
73030 2005-10-19  Simon Josefsson  <jas@extundo.com>
73031
73032         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
73033
73034 2005-10-19  Simon Josefsson  <jas@extundo.com>
73035
73036         * lib/gc-gnulib.c: Support ARCFOUR.
73037
73038 2005-10-19  Simon Josefsson  <jas@extundo.com>
73039
73040         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
73041         support.
73042
73043         * lib/gc.h: Add ECB enum type.
73044
73045         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
73046
73047 2005-10-18  Simon Josefsson  <jas@extundo.com>
73048
73049         * tests/test-md5.c: New file.
73050
73051         * modules/md5-tests: New file.
73052
73053 2005-10-18  Simon Josefsson  <jas@extundo.com>
73054
73055         * tests/test-md4.c: New file.
73056
73057         * modules/md4, modules/md4-tests: New files.
73058
73059 2005-10-18  Simon Josefsson  <jas@extundo.com>
73060
73061         * m4/md4.m4: New file.
73062
73063 2005-10-18  Simon Josefsson  <jas@extundo.com>
73064
73065         * lib/md4.h, lib/md4.c: New files, based on md5.?.
73066
73067 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
73068
73069         * gnulib-tool (func_create_testdir): Omit the second check whether
73070         BUILT_SOURCES in nonempty.
73071
73072 2005-10-17  Simon Josefsson  <jas@extundo.com>
73073
73074         * tests/test-rijndael.c: New file.
73075
73076 2005-10-17  Simon Josefsson  <jas@extundo.com>
73077
73078         * modules/sha1: Depend on stdint instead of md5.
73079
73080         * modules/md5: Depend on stdint, remove uint32_t.
73081
73082 2005-10-17  Simon Josefsson  <jas@extundo.com>
73083
73084         * modules/gc-sha1-tests: New file.
73085
73086         * tests/test-gc-sha1.c: New file.
73087
73088 2005-10-17  Simon Josefsson  <jas@extundo.com>
73089
73090         * m4/md5.m4: Remove call to uint32_t.m4.
73091
73092 2005-10-17  Simon Josefsson  <jas@extundo.com>
73093
73094         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
73095
73096         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
73097         md5.h.
73098
73099         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
73100
73101         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
73102
73103 2005-10-17  Simon Josefsson  <jas@extundo.com>
73104
73105         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
73106
73107 2005-10-17  Simon Josefsson  <jas@extundo.com>
73108
73109         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
73110
73111 2005-10-17  Simon Josefsson  <jas@extundo.com>
73112
73113         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
73114
73115         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
73116
73117 2005-10-17  Bruno Haible  <bruno@clisp.org>
73118
73119         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
73120         that it can also be used in a test.
73121
73122 2005-10-16  Bruno Haible  <bruno@clisp.org>
73123
73124         * gnulib-tool (func_emit_tests_Makefile_am): Also define
73125         TESTS_ENVIRONMENT, so that individual tests can augment it.
73126
73127         * gnulib-tool (func_create_testdir): Use an intermediate target for
73128         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
73129         macros, like $(ALLOCA_H), which cannot be passed through the command
73130         line.
73131
73132 2005-10-15  Simon Josefsson  <jas@extundo.com>
73133
73134         * modules/rijndael-tests: New file.
73135
73136         * modules/rijndael: New file.
73137
73138 2005-10-15  Simon Josefsson  <jas@extundo.com>
73139
73140         * m4/rijndael.m4: New file.
73141
73142 2005-10-15  Simon Josefsson  <jas@extundo.com>
73143
73144         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
73145
73146         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
73147
73148 2005-10-14  Simon Josefsson  <jas@extundo.com>
73149
73150         * tests/test-arcfour.c: New file.
73151
73152         * modules/arcfour, modules/arcfour-tests: New files.
73153
73154 2005-10-14  Simon Josefsson  <jas@extundo.com>
73155
73156         * m4/arcfour.m4: New file.
73157
73158 2005-10-14  Simon Josefsson  <jas@extundo.com>
73159
73160         * lib/arcfour.h, lib/arcfour.c: New files.
73161
73162 2005-10-14  Roland McGrath  <roland@redhat.com>
73163
73164         Import from libc.  [BZ #1331]
73165         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
73166         macro argument.
73167         Reported by Matej Vela <vela@debian.org>.
73168
73169 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73170
73171         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
73172         include <wchar.h>; no longer needed.
73173
73174 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73175
73176         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
73177
73178 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
73179         and  Ulrich Drepper  <drepper@redhat.com>
73180
73181         Import from libc.
73182         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
73183         instead of inline stream orientation test and two separate
73184         function calls.  Pay no attention to USE_IN_LIBIO.
73185
73186 2005-10-13  Simon Josefsson  <jas@extundo.com>
73187
73188         * modules/gc-hmac-md5-tests: New file.
73189
73190         * tests/test-gc-hmac-sha1.c: New file.
73191
73192         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
73193
73194         * modules/gc-hmac-md5-tests: New file.
73195
73196         * tests/test-gc-md5.c: New file.
73197
73198         * modules/gc-md5-tests: New file.
73199
73200 2005-10-13  Simon Josefsson  <jas@extundo.com>
73201
73202         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
73203         Move memory allocation outside of loop.
73204
73205 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
73206
73207         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
73208         intermediate directory is in a read-only file system.  Problem
73209         reported by Eric Blake.
73210
73211 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
73212
73213         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
73214
73215 2005-10-12  Simon Josefsson  <jas@extundo.com>
73216
73217         * tests/test-hmac-sha1.c: New file.
73218
73219         * modules/hmac-sha1-tests: New file.
73220
73221         * modules/hmac-sha1: New file.
73222
73223 2005-10-12  Simon Josefsson  <jas@extundo.com>
73224
73225         * modules/gc-sha1: New file.
73226
73227 2005-10-12  Simon Josefsson  <jas@extundo.com>
73228
73229         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
73230
73231         * tests/test-gc-pbkdf2-sha1.c: New file.
73232
73233 2005-10-12  Simon Josefsson  <jas@extundo.com>
73234
73235         * modules/gc-md5, modules/gc-hmac-md5: New files.
73236
73237         * modules/gc (Files): Remove md5, memxor and hmac files.
73238
73239 2005-10-12  Simon Josefsson  <jas@extundo.com>
73240
73241         * m4/gc-pbkdf2-sha1.m4: New file.
73242
73243         * m4/gc-hmac-sha1.m4: New file.
73244
73245         * m4/gc-sha1: New file.
73246
73247         * m4/hmac-sha1.m4: New file.
73248
73249 2005-10-12  Simon Josefsson  <jas@extundo.com>
73250
73251         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
73252
73253         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
73254
73255 2005-10-12  Simon Josefsson  <jas@extundo.com>
73256
73257         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
73258         suggested by Bruno Haible <bruno@clisp.org>.
73259
73260 2005-10-12  Simon Josefsson  <jas@extundo.com>
73261
73262         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
73263
73264 2005-10-12  Simon Josefsson  <jas@extundo.com>
73265
73266         * lib/gc-pbkdf2-sha1.c: New file.
73267
73268         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
73269
73270 2005-10-12  Simon Josefsson  <jas@extundo.com>
73271
73272         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
73273
73274         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
73275
73276 2005-10-12  Simon Josefsson  <jas@extundo.com>
73277
73278         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
73279         GC_USE_HMAC_MD5, respectively.
73280
73281         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
73282         (gc_md5): Fix typo.
73283
73284         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
73285
73286         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
73287
73288         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
73289
73290 2005-10-12  Bruno Haible  <bruno@clisp.org>
73291
73292         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
73293         Reported by Stepan Kasal <kasal@ucw.cz>.
73294
73295 2005-10-11  Simon Josefsson  <jas@extundo.com>
73296
73297         * tests/test-crc.c: New file.
73298
73299         * modules/crc, modules/crc-tests: New files.
73300
73301 2005-10-11  Simon Josefsson  <jas@extundo.com>
73302
73303         * m4/crc.m4: New file.
73304
73305 2005-10-11  Simon Josefsson  <jas@extundo.com>
73306
73307         * lib/gc.h: Add gc_hash and gc_hash_buffer.
73308
73309         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
73310
73311         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
73312
73313 2005-10-11  Simon Josefsson  <jas@extundo.com>
73314
73315         * lib/crc.h, lib/crc.c: New files.
73316
73317         * lib/gc.h (gc_hash_buffer): Add doc.
73318
73319 2005-10-11  Bruno Haible  <bruno@clisp.org>
73320
73321         * modules/c-strcasestr: New file.
73322         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
73323
73324 2005-10-11  Bruno Haible  <bruno@clisp.org>
73325
73326         * modules/c-strcase: New file.
73327         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
73328
73329 2005-10-11  Bruno Haible  <bruno@clisp.org>
73330
73331         * lib/strcasecmp.c: Include limits.h.
73332         (strcasecmp): Avoid integer overflow on exotic platforms.
73333         * lib/strncasecmp.c: Include limits.h.
73334         (strncasecmp): Avoid integer overflow on exotic platforms.
73335         Reported by Paul Eggert.
73336
73337 2005-10-11  Bruno Haible  <bruno@clisp.org>
73338
73339         * lib/c-strcasestr.h: New file, from GNU gettext.
73340         * lib/c-strcasestr.c: New file, from GNU gettext.
73341
73342 2005-10-11  Bruno Haible  <bruno@clisp.org>
73343
73344         * lib/c-strcase.h: New file, from GNU gettext.
73345         * lib/c-strcasecmp.c: New file, from GNU gettext.
73346         * lib/c-strncasecmp.c: New file, from GNU gettext.
73347
73348 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73349
73350         * modules/mempcpy (License): GPL -> LGPL.
73351         * modules/strchrnul (License): Likewise.
73352         * modules/sysexits (License): Likewise.
73353
73354 2005-10-08  Simon Josefsson  <jas@extundo.com>
73355
73356         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
73357
73358 2005-10-07  Simon Josefsson  <jas@extundo.com>
73359
73360         * m4/memxor.m4: Remove gl_C_RESTRICT call.
73361
73362 2005-10-06  Simon Josefsson  <jas@extundo.com>
73363
73364         * tests/test-hmac-md5.c: New file.
73365
73366         * modules/hmac-md5-tests: New file.
73367
73368         * modules/hmac-md5: New file.
73369
73370 2005-10-06  Simon Josefsson  <jas@extundo.com>
73371
73372         * m4/hmac-md5.m4: New file.
73373
73374         * m4/memxor.m4: Require gl_C_RESTRICT.
73375
73376 2005-10-06  Simon Josefsson  <jas@extundo.com>
73377
73378         * lib/memxor.c (memxor): Avoid casts and warnings.
73379
73380 2005-10-06  Simon Josefsson  <jas@extundo.com>
73381
73382         * lib/hmac-md5.c: New file.
73383
73384         * lib/hmac.h: New file.
73385
73386 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73387
73388         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
73389         promotes to int, not unsigned int, to catch the AIX 5.3
73390         compiler bug.
73391
73392 2005-10-05  Simon Josefsson  <jas@extundo.com>
73393
73394         * modules/memxor: New file.
73395
73396         * modules/iconv (Files): Move config.rpath to havelib, it is used
73397         there.
73398
73399         * modules/havelib (Files): Add config.rpath.
73400
73401 2005-10-05  Simon Josefsson  <jas@extundo.com>
73402
73403         * m4/memxor.m4: New file.
73404
73405 2005-10-05  Simon Josefsson  <jas@extundo.com>
73406
73407         * lib/memxor.c (memxor): Fix compiler error.
73408
73409         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
73410         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
73411
73412         * lib/memxor.h, lib/memxor.c: New files.
73413
73414         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
73415         we assume all systems have it, suggested by Jim Meyering
73416         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
73417         any systems lack sys/socket.h; mingw32 is known to lack it, but we
73418         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
73419         same reasons.
73420
73421 2005-10-05  Simon Josefsson  <jas@extundo.com>
73422
73423         * config/srclist.txt: Add glibc bug 1423 for md5.h.
73424
73425 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73426
73427         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
73428         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
73429         needed, since the source code now assumes these .h files.
73430
73431 2005-10-05  Derek Price  <derek@ximbiot.com>
73432
73433         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
73434
73435 2005-10-05  Bruno Haible  <bruno@clisp.org>
73436
73437         * modules/stdint (License): Change to LGPL.
73438
73439 2005-10-04  Simon Josefsson  <jas@extundo.com>
73440
73441         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
73442         D. Baushke" <mdb@gnu.org>.
73443
73444 2005-10-04  Bruno Haible  <bruno@clisp.org>
73445
73446         * lib/verify.h (verify_true): Provide alternative definition for C++.
73447
73448 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
73449
73450         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
73451         (SSIZE_MAX): New macro, if not already defined.
73452         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
73453         than 2 GiB.
73454
73455 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73456
73457         Sync from coreutils.
73458         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
73459         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
73460         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
73461         ULLONG_MAX doesn't work with 2.7.2.1.
73462
73463 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73464
73465         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
73466         From Ben Pfaff.
73467
73468         * modules/exclude (Depends-on): Depend on verify.
73469         * modules/strtoimax (Depends-on): Likewise.
73470         * modules/utimecmp (Depends-on): Likewise.
73471
73472 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73473
73474         * lib/exclude.c: Include verify.h.
73475         (verify): Remove.  All callers changed to use verify.h's version.
73476         * lib/strtoimax.c: Likewise.
73477         * lib/utimecmp.c: Likewis.e
73478
73479         Sync from coreutils.
73480         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
73481         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
73482         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
73483         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
73484         bother returning ENOSYS if settimeofday or stime fails; just let
73485         them return whatever errno they want to return.
73486         * lib/utimens.c: Include unistd.h, for dup2.
73487         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
73488         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
73489
73490 2005-10-02  Jim Meyering  <jim@meyering.net>
73491
73492         Sync from coreutils.
73493         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
73494         from glibc-2.2.5 that fails for read-only files.
73495
73496 2005-10-02  Jim Meyering  <jim@meyering.net>
73497
73498         Sync from coreutils.
73499         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
73500         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
73501         `#if HAVE_CONFIG_H'.
73502         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
73503         Remove AT_FDCWD test.
73504         Do not consume the fd unless successful.
73505         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
73506         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
73507         block, so that we don't even try to compile it if settimeofday is
73508         available.  This works around a compilation failure on OSF1 V5.1,
73509         due to stime requiring a `long int*' while tv_sec is `int'.
73510
73511 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
73512
73513         Sync from coreutils.
73514         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
73515         against `yes', rather than just testing for nonempty.
73516
73517 2005-10-01  Simon Josefsson  <jas@extundo.com>
73518
73519         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
73520         and Darwin.
73521
73522         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
73523         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
73524         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
73525         freeaddrinfo and gai_strerror are declared by the POSIX headers.
73526         Check if struct addrinfo is declared.
73527
73528 2005-10-01  Simon Josefsson  <jas@extundo.com>
73529
73530         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
73531         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
73532         AI_* and EAI_* definitions.  Protect function declarations.
73533
73534 2005-10-01  Jim Meyering  <jim@meyering.net>
73535
73536         Sync from coreutils.
73537
73538         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
73539         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
73540         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
73541         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73542         in the inet and nsl libraries.  Required on Solaris 5.7.
73543
73544 2005-10-01  Jim Meyering  <jim@meyering.net>
73545
73546         Sync from coreutils.
73547         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73548         in the inet and nsl libraries.  Required on Solaris 5.7.
73549
73550 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
73551
73552         * lib/getdelim.c (getdelim): Remove unused variables.
73553
73554 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
73555
73556         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
73557         so that the code works even with ancient cpp.  Portability problem
73558         with GCC 2.7.2.1 reported by Thomas M.Ott.
73559
73560 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
73561
73562         * modules/regex (Depends-on): Add strcase.
73563
73564         * modules/gethostname (Licence): Change from GPL to LGPL, since
73565         gethostname.c is a trivial implementation of a standard library
73566         function.
73567         * modules/poll (License): Change from GPL to LGPL, since it's
73568         derived from LGPL code.
73569
73570 2005-09-27  Jim Meyering  <jim@meyering.net>
73571
73572         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
73573         HAVE_CONFIG_H.
73574
73575         * lib/intprops.h (signed_type_or_expr__): Define.
73576         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
73577         for unsigned types.
73578
73579 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
73580
73581         * lib/verify.h (verify_expr): Remove, replacing with:
73582         (verify_true): New macro that returns true instead of void.
73583         (verify_type__): Remove.
73584         (verify): Use verify_true rather than verify_type__.
73585
73586 2005-09-26  Bruno Haible  <bruno@clisp.org>
73587
73588         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
73589         is necessary.
73590         (lib_SOURCES): Remove mbchar.c.
73591         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
73592         (Files): Add m4/mbrtowc.m4.
73593         * modules/mbiter: Likewise.
73594         * modules/mbuiter: Likewise.
73595
73596 2005-09-26  Bruno Haible  <bruno@clisp.org>
73597
73598         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
73599         compile mbchar.c if they are not both present.
73600         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
73601         * m4/mbiter.m4 (gl_MBITER): Likewise.
73602         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
73603         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
73604         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
73605
73606 2005-09-25  Jim Meyering  <jim@meyering.net>
73607
73608         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
73609         also uses socklen_t.
73610
73611 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
73612
73613         * lib/utimens.c (ENOSYS): Define if not already defined.
73614         (futimens): Support having a null PATH if the file descriptor
73615         is nonnegative.
73616
73617         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
73618         Remove.
73619         (__attribute): Define to empty unless GCC 3.1 or later.
73620         This works around a core dump on OpenBSD 3.4, which has GCC
73621         2.95.3, which dumps core when given __attribute__(()).  It also
73622         simplifies other tests, since we really don't want to bother with
73623         worrying about which ancient version of GCC supported what.
73624         Original problem reported by Yoann Vandoorselaere, with part of
73625         the fix suggested by Derek Price.
73626
73627 2005-09-24  Jim Meyering  <jim@meyering.net>
73628
73629         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
73630         so we can once again use a positive bitfield width of 1 -- now we
73631         don't have to explain why we were using a bitfield width of 2.
73632
73633 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
73634
73635         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
73636         and similarly for the other external symbols.  Problem reported
73637         by James Gallager.
73638
73639         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
73640         bug reported by Jim Meyering.
73641
73642         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
73643         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
73644         not needed, since socklen is a prerequisite module.
73645
73646 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
73647
73648         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
73649         Problem reported by Eric Blake.
73650         (getaddrinfo): Initialize se so that it's not garbage.
73651         Redo internal storage allocation so that it doesn't make unportable
73652         assumptions about alignment.
73653         Fix a memory leak.
73654
73655         * lib/utimens.c (futimens): Use futimesat if available.
73656         Prefer it to futimes since it doesn't have the futimes bug.
73657
73658         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
73659         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
73660         Instead, declare a function that returns a pointer to an array,
73661         and use verify_type__ to declare the size of the array.
73662         Problem and germ of a solution reported by Bruno Haible.
73663         (verify_type__): Use 2, not 1, for bitfield size, to avoid
73664         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
73665
73666 2005-09-23  Jim Meyering  <jim@meyering.net>
73667
73668         Sync from coreutils.
73669         Correct build failure (socklen_t not defined) on at least
73670         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
73671         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
73672
73673 2005-09-23  Jim Meyering  <jim@meyering.net>
73674
73675         * modules/getaddrinfo (Depends-on): Add socklen.
73676
73677 2005-09-23  Bruno Haible  <bruno@clisp.org>
73678
73679         * tests/test-verify.c: New file.
73680
73681 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73682
73683         Sync from coreutils.
73684
73685         * modules/argmatch (Depends-on): Add verify.
73686         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
73687         unistd-safer.
73688         * modules/save-cwd (Depends-on): Likewise.
73689
73690         * modules/openat (Files): Add lib/openat-die.c.
73691         (Depends-on): Remove error, exitfail.
73692         Add dirname.
73693
73694         * modules/verify: New file.
73695         * MODULES.html.sh (Diagnostics <assert.h>): New section,
73696         with "verify" module.
73697
73698 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73699
73700         Sync from coreutils.
73701
73702         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
73703         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
73704         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
73705         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
73706         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
73707         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
73708         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
73709         Don't bother checking for string.h, stdlib.h, unistd.h.
73710         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
73711         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
73712         module's job.
73713         * m4/jm-macros.m4 (gl_MACROS): Likewise.
73714         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
73715
73716         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
73717         (gl_GETDATE): Use it.
73718
73719         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
73720
73721 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73722
73723         Sync from coreutils.
73724
73725         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
73726         stat-time.h.
73727         * lib/argmatch.h: Include verify.h
73728         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
73729         (ARGMATCH_ASSERT): Remove; unused.
73730         * lib/canonicalize.c: Assume STDC_HEADERS.
73731         * lib/exclude.c: Include "strcase.h".
73732         * lib/regex_internal.h [!defined _LIBC]: Likewise.
73733         * lib/getusershell.c: Include stdio--.h rather than stdio.h
73734         and stdio-safer.h.
73735         (getusershell): Call fopen, not fopen_safer.
73736         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
73737         Do not include unistd-safer.h.
73738         (save_cwd): Don't call fd_safer; no longer needed
73739         now that we include fcntl--.h.
73740
73741         * lib/getdate.y (relative_time): New type.
73742         (RELATIVE_TIME_0): New constant.
73743         (parser_control): Use relative_time instead of doing it ourselves.
73744         (%union): Add new relative_time rel member.
73745         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
73746         Now typeless.
73747         (relunit, relunit_snumber): Now of type rel.
73748         (zone, rel, relunit, get_date): Adjust to above changes.
73749
73750         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
73751         Do not include unistd-safer.h.
73752         (getloadavg): Don't call fd_safer; no longer needed
73753         now that we include fcntl--.h.
73754
73755         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
73756         (make_dir_parents): Treat ENOSYS like EEXIST.
73757
73758         Improve quality of diagnostics on restore_cwd failure.
73759         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
73760         (make_dir_parents): Last arg is now int * (for errno), not bool *.
73761         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
73762         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
73763         each time through the loop.  Do not diagnose restore_cwd failure;
73764         that is the caller's job (and perhaps the caller does not care).
73765
73766         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
73767         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
73768         If the file already exists but is not a directory, don't bother
73769         to try to make its parents.
73770         Close potential file descriptor leak if we can't chdir("/") (!).
73771         Don't always return true if chdir($PWD) fails; return true only
73772         if the requested action was done successfully (except for the
73773         chdir($PWD)).
73774         Don't log final directory unless we actually made it.
73775         Refactor to avoid duplicate code to fix up permissions.
73776         Don't attempt to fix up parent permissions if chdir($PWD) fails.
73777
73778         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
73779         to make it a bit faster and (I hope) clearer.
73780         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
73781         Fix bug in formats like %2N.
73782
73783         * lib/verify.h: New file.
73784
73785 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73786
73787         Sync from coreutils.
73788         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
73789
73790 2005-09-22  Jim Meyering  <jim@meyering.net>
73791
73792         Sync from coreutils.
73793
73794         * m4/lstat.m4 (gl_FUNC_LSTAT):
73795         Use AC_LIBSOURCES to require lstat.c and lstat.h.
73796         Remove obsolete comment.
73797         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
73798         * m4/xstrtod.m4: Likewise.
73799
73800         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
73801
73802 2005-09-22  Jim Meyering  <jim@meyering.net>
73803
73804         Sync from coreutils.
73805
73806         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
73807
73808         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
73809         the .tm_year member, since otherwise gcc-4.0 would now warn about
73810         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
73811
73812         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
73813         order to avoid an unsuppressible warning from gcc on 64-bit systems.
73814
73815         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
73816         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
73817         when run in a time zone for which daylight savings time is in effect
73818         for the starting date.
73819
73820         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
73821         stop us from restricting permissions of just-created absolute-named
73822         directories.
73823         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
73824         to restore initial working directory.
73825         * lib/mkdir-p.c (make_dir_parents): New parameter:
73826         different_working_dir, to tell caller if/when we change the working
73827         directory and are unable to return to the initial one.
73828         * lib/mkdir-p.h (make_dir_parents): Update prototype.
73829         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
73830         `return false'.  This fixes a bug introduced on 2004-07-30.
73831
73832         * lib/openat.c (fdopendir): Be sure to close the supplied
73833         file descriptor before returning.  This makes our replacement
73834         implementation a little closer to Solaris's, where fdopendir
73835         ties the file descriptor to the returned DIR* pointer.
73836         * lib/openat.c (unlinkat): New function.
73837         * lib/openat.h (unlinkat): Add prototype.
73838         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
73839         (openat_restore_fail): Rename from openat_restore_die.
73840         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
73841
73842         Provide an alternative to exiting immediately upon save_cwd or
73843         restore_cwd failure.  Now, an application can arrange e.g.,
73844         to perform a longjump in that case.
73845         * lib/openat.c: Include dirname.h.
73846         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
73847         (rpl_openat, fdopendir, fstatat): Call openat_save_die
73848         and openat_restore_die rather than calling error directly.
73849         Don't include "error.h" or "exitfail.h"; they're no longer needed.
73850
73851         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
73852         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
73853         define.
73854
73855         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
73856         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
73857                             int utc, int nanoseconds);
73858         Background:
73859         date should not have to allocate a megabyte of virtual memory to
73860         handle a format argument like +%1048575T.  When implemented with
73861         strftime, it must allocate such a buffer, use strftime to fill it
73862         in, print it, then free it.
73863         With fprintftime, it simply prints everything and exits.
73864         With no need for memory allocation, that's one fewer way to fail.
73865         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
73866         optional field width, not before, so we accept %9:z, not %:9z.
73867         (my_strftime): Be sure to use L_('x') for literals.
73868
73869         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
73870         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
73871         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
73872         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
73873         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
73874         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
73875         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
73876         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
73877         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
73878         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
73879         * lib/xgethostname.c, lib/xreadlink.c:
73880         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
73881
73882         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
73883         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
73884         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
73885         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
73886         and don't include <sys/file.h>).
73887
73888 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
73889
73890         Sync from coreutils.
73891
73892         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
73893         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
73894         [!LDAV_DONE]: Avoid unused variable warning.
73895
73896 2005-09-21  Bruno Haible  <bruno@clisp.org>
73897
73898         * lib/unicodeio.h (unicode_to_mb): New declaration.
73899
73900 2005-09-20  Derek Price  <derek@ximbiot.com>
73901
73902         * lib/getaddrinfo.c: Don't include <netdb.h> included from
73903         getaddrinfo.h.
73904
73905 2005-09-20  Bruno Haible  <bruno@clisp.org>
73906
73907         * gnulib-tool: Remove trailing slashes from the values specified for
73908         --source-base, --m4-base, --tests-base, --aux-dir.
73909         Suggested by Simon Josefsson <jas@extundo.com>.
73910
73911 2005-09-20  Bruno Haible  <bruno@clisp.org>
73912
73913         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
73914         func_modules_to_filelist, func_import, func_create_testdir): Make all
73915         sorting results locale-independent, so that gnulib-cache.m4 doesn't
73916         change when gnulib-tool is invoked in a different locale.
73917
73918 2005-09-19  Simon Josefsson  <jas@extundo.com>
73919
73920         * m4/socklen.m4: Fix typo.
73921
73922 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73923
73924         Use a consistent style for including <config.h>.
73925         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
73926         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
73927         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
73928         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
73929         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
73930         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
73931         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
73932         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
73933         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
73934         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
73935         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
73936         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
73937         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
73938         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
73939         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
73940         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
73941         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
73942         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
73943         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
73944         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
73945         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
73946         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
73947         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
73948         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
73949         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
73950         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
73951         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
73952         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
73953         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
73954         lib/xstrtoumax.c, lib/yesno.c:
73955         Standardize inclusion of config.h.
73956         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
73957         lib/inttostr.h:  Removed inclusion of config.h from header files.
73958         * lib/inttostr.c:  Adjusted in-tree users.
73959         * lib/timespec.h: Remove superfluous warning to include config.h.
73960         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
73961         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
73962         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
73963         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
73964         config.h with HAVE_CONFIG_H.
73965
73966 2005-09-19  Jim Meyering  <jim@meyering.net>
73967
73968         * modules/pathmax (License): Change to LGPL.
73969
73970 2005-09-19  Derek Price  <derek@ximbiot.com>
73971
73972         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
73973
73974 2005-09-19  Bruno Haible  <bruno@clisp.org>
73975
73976         * gnulib-tool (import): Provide default for --tests-base.
73977
73978 2005-09-19  Bruno Haible  <bruno@clisp.org>
73979
73980         * doc/quote.texi: New file, extracted from gnulib.texi.
73981         * doc/ctime.texi: New file, extracted from gnulib.texi.
73982         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
73983         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
73984         * doc/gnulib.texi: Include them.
73985
73986 2005-09-18  Bruno Haible  <bruno@clisp.org>
73987
73988         Portability fix.
73989         * gnulib-tool (func_readlink): New function.
73990         (func_ln_if_changed): Use it.
73991
73992 2005-09-18  Bruno Haible  <bruno@clisp.org>
73993
73994         * gnulib-tool: Support --with-tests also with --import.
73995         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
73996         (func_import): Use variables $testsbase and $inctests. Emit a
73997         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
73998         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
73999         SUBDIRS += $testsdir.
74000         (func_create_testdir): Update.
74001
74002 2005-09-18  Bruno Haible  <bruno@clisp.org>
74003
74004         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
74005         instead of $dry_run.
74006         (func_cp_if_changed, func_mv_if_changed): Remove functions.
74007         (func_ln_if_changed): Don't handle dry-run here.
74008         (func_import): In dry-run mode, detect more precisely which actions
74009         would be performed, and don't use "...ing" verbs.
74010
74011 2005-09-18  Bruno Haible  <bruno@clisp.org>
74012
74013         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
74014         (func_import): Use join on two temporary files instead of three nested
74015         loops, in order to determine which files are new or old.
74016
74017 2005-09-18  Bruno Haible  <bruno@clisp.org>
74018
74019         * gnulib-tool (func_import): Comment out code that spits out the
74020         new files with --dry-run.
74021
74022 2005-09-18  Bruno Haible  <bruno@clisp.org>
74023
74024         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
74025
74026 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74027
74028         * lib/stat-time.h: New file.
74029         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
74030         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
74031         in a different way.
74032         (timespec_cmp): New function.
74033         * lib/utimecmp.c: Include stat-time.h.
74034         (SYSCALL_RESOLUTION): Depend on whether various struct stat
74035         members exist, not on the obsolescent ST_MTIM_NSEC.
74036         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
74037
74038 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74039
74040         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
74041
74042 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74043
74044         * MODULES.html.sh (File system functions): Add stat-time.
74045         * modules/stat-time: New file.
74046         * modules/timespec (Files): Remove m4/st_mtim.m4; this
74047         is now done in a different way, by the stat-time module.
74048         * modules/utimecmp (Depends-on): Add stat-time.
74049
74050 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74051
74052         * m4/st_mtim.m4: Remove.  Superseded by...
74053         * m4/stat-time.m4: New file.
74054         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
74055         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
74056
74057 2005-09-15  Derek Price  <derek@ximbiot.com>
74058
74059         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
74060
74061 2005-09-15  Derek Price  <derek@ximbiot.com>
74062
74063         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
74064         * lib/regex_internal.c: Ditto, using this...
74065         (__GNUC_PREREQ): ...new macro.
74066         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
74067         using...
74068         (__GNUC_PREREQ): ...this new macro.
74069
74070         * lib/strstr.h: Include string.h. Define strstr as a macro here.
74071
74072 2005-09-15  Derek Price  <derek@ximbiot.com>
74073             Paul Eggert  <eggert@cs.ucla.edu>
74074
74075         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
74076         changes, consolidating in...
74077         * lib/regex_internal.h: ...this file.
74078
74079 2005-09-13  Jim Meyering  <jim@meyering.net>
74080
74081         * lib/canon-host.c: Filter through gnu indent and reword comments
74082         slightly.
74083         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
74084
74085 2005-09-13  Derek Price  <derek@ximbiot.com>
74086
74087         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
74088         failure.
74089         Reported by Jim Meyering  <jim@meyering.net>.
74090
74091 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74092
74093         * lib/base64.c: Typo.
74094         (base64_encode): Put b64str in initialized data section.
74095
74096 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
74097
74098         Merge glibc and coreutils changes into gnulib, plus a few
74099         extra fixes.
74100         * lib/md5.c: Use #error rather than a string.
74101         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
74102         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
74103         (__attribute__): Define to empty for non recent-GCC.
74104         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
74105         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
74106         Renamed from their non-__ counterparts, with new macros replacing
74107         them if not _LIBC.  Add __THROW attribute.
74108         (rol): Remove.
74109         (struct md5_ctx): Align buffer if using GCC.
74110         * lib/sha1.h (struct sha1_ctx): Likewise.
74111         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
74112         The old name was backwards.
74113         (NOTSWAP): Remove; not used.
74114         (rol): New macro, moved here from md5.h.
74115         (sha1_process_block): Remove a FIXME that doesn't make sense.
74116
74117 2005-09-12  Derek Price  <derek@ximbiot.com>
74118
74119         Return usable errors from canon-host.
74120         * lib/canon-host.h: New file.
74121         * lib/canon-host.c (canon_host): Wrap...
74122         (canon_host_r): ...this new function, which now relies exclusively on
74123         getaddrinfo.
74124         (ch_strerror): New function.
74125         (last_cherror): New global.
74126         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
74127         interface.
74128         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
74129         void *.
74130         (freeaddrinfo): Free ai->ai_canonname when set.
74131
74132 2005-09-12  Derek Price  <derek@ximbiot.com>
74133
74134         Make canon-host require getaddrinfo.
74135         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
74136         AC_LIBSOURCE canon-host.h.  Call...
74137         (gl_PREREQ_CANON_HOST): ...this new function, which requires
74138         gl_GETADDRINFO.
74139         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
74140
74141 2005-09-12  Derek Price  <derek@ximbiot.com>
74142
74143         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
74144         LGPL.
74145         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
74146
74147 2005-09-12  Derek Price  <derek@ximbiot.com>
74148
74149         * lib/gai_strerror.c: Include config.h when available.  Include
74150         getaddrinfo.h before other headers to test interface.
74151         Reported by Larry Jones <lawrence.jones@ugs.com>.
74152
74153 2005-09-12  Derek Price  <derek@ximbiot.com>
74154             Paul Eggert  <eggert@cs.ucla.edu>
74155
74156         * modules/glob (Files): Add glob-libc.h.
74157
74158 2005-09-12  Derek Price  <derek@ximbiot.com>
74159             Paul Eggert  <eggert@cs.ucla.edu>
74160
74161         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
74162         glob_.h, glob-libc.h.
74163         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
74164
74165 2005-09-12  Derek Price  <derek@ximbiot.com>
74166             Paul Eggert  <eggert@cs.ucla.edu>
74167
74168         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
74169         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
74170         protecting things that should be done only in gnulib contexts.
74171         * lib/glob_.h: New file, containing only the glob things needed for
74172         gnulib.
74173         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
74174         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
74175         (glob, globfree, glob_pattern_p): Now defined simply in terms of
74176         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
74177         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
74178         and to respect the namespace rules better.
74179
74180 2005-09-08  Simon Josefsson  <jas@extundo.com>
74181
74182         * modules/socklen: New file.
74183
74184 2005-09-08  Simon Josefsson  <jas@extundo.com>
74185
74186         * m4/socklen.m4: New file.
74187
74188 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74189
74190         * modules/utimens (Files): Add m4/utimbuf.m4, since
74191         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
74192         Reported by Sergey Poznyakoff.
74193
74194 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74195
74196         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
74197         definitions, since that's the preferred style in glibc.
74198         Fix a minor spacing issue, and update copyright notice to match
74199         glibc's.
74200
74201 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74202
74203         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
74204
74205 2005-09-06  Simon Josefsson  <jas@extundo.com>
74206
74207         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
74208         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
74209
74210 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74211
74212         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
74213         warning.
74214
74215 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74216
74217         * config/srclist.txt: Add glibc bug 1302.
74218
74219 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
74220
74221         Change bitset word type from unsigned int to unsigned long int,
74222         as this has better performance on typical 64-bit hosts.
74223         Port bitset code to hosts with unusual word sizes.
74224         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
74225         (build_collating_symbol):
74226         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
74227         argument is a bitset.  This is merely a style issue, but it makes
74228         it clearer that an entire array is expected.
74229         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
74230         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
74231         Port to the case where bitset_word is not the same as unsigned int.
74232         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74233         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
74234         Likewise.
74235         * lib/regexec.c (check_dst_limits_calc_pos_1,
74236         check_subexp_matching_top):
74237         (build_trtable, group_nodes_into_DFAstates):
74238         Likewise.
74239         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
74240         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
74241         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
74242         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
74243         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
74244         * lib/regcomp.c (optimize_subexps, lower_subexp):
74245         Work even if bitset_word has holes in its bitwise representation.
74246         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
74247         * lib/regexec.c (check_dst_limits_calc_pos_1,
74248         check_subexp_matching_top):
74249         Likewise.
74250         * lib/regex_internal.c (re_string_reconstruct):
74251         Don't assume UCHAR_MAX == 255.
74252         * lib/regex_internal.h (bitset_set_all): Likewise.
74253         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
74254         All uses changed.
74255         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
74256         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
74257         All uses changed.
74258         (BITSET_WORD_MAX): New macro.
74259         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
74260         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
74261         (bitset_empty, bitset_copy):
74262         Prefer sizeof (bitset) to multiplying it out ourselves.
74263         (bitset_not_merge): Remove; unused.
74264         (bitset_contain): Return bool, not unsigned int with one bit on.
74265         All callers changed.
74266         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
74267         alignment than re_node_set; do this by defining a new internal
74268         type struct dests_alloc and using it to allocate memory.
74269
74270 2005-09-05  Bruno Haible  <bruno@clisp.org>
74271
74272         * gnulib-tool (func_import): Fix comparison in handling of symbolic
74273         links.
74274
74275 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
74276
74277         * modules/size_max (Makefile.am): Add size_max.h
74278
74279 2005-09-04  Derek Price  <derek@ximbiot.com>
74280
74281         * gnulib-tool (func_import): Fix reversed $symbolic logic.
74282
74283 2005-09-03  Simon Josefsson  <jas@extundo.com>
74284
74285         * gnulib-tool: Fix typo.
74286
74287 2005-09-03  Simon Josefsson  <jas@extundo.com>
74288
74289         * config/srclist.txt: Add glibc bug 1293.
74290
74291 2005-09-03  Derek Price  <derek@ximbiot.com>
74292
74293         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
74294         From Larry Jones <lawrence.jones@ugs.com>.
74295
74296 2005-09-02  Simon Josefsson  <jas@extundo.com>
74297
74298         * modules/socklen: New file.
74299
74300 2005-09-02  Simon Josefsson  <jas@extundo.com>
74301
74302         * modules/havelib: New module.
74303
74304         * modules/gettext, modules/iconv, modules/lock, modules/readline:
74305         Use havelib.
74306
74307 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74308
74309         Check for arithmetic overflow when calculating sizes, to prevent
74310         some buffer-overflow issues.  These patches are conservative, in the
74311         sense that when I couldn't determine whether an overflow was possible,
74312         I inserted a run-time check.
74313         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
74314         macros.
74315         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
74316         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
74317         (re_xnrealloc, re_x2nrealloc): New inline functions.
74318         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
74319         parse_bracket_exp):
74320         (build_equiv_class, build_charclass): Check for arithmetic overflow
74321         in size expression calculations.
74322         * lib/regex_internal.c (re_string_realloc_buffers):
74323         (build_wcs_upper_buffer, re_node_set_add_intersect):
74324         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
74325         (re_dfa_add_node, register_state): Likewise.
74326         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
74327         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
74328         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
74329         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
74330
74331 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74332
74333         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
74334         m4/ulonglong.m4.  Problem reported by Martin Lambers.
74335
74336 2005-09-02  Bruno Haible  <bruno@clisp.org>
74337
74338         Support for lib vs. lib64 distinction on biarch platforms.
74339         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
74340         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
74341         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
74342
74343 2005-09-02  Bruno Haible  <bruno@clisp.org>
74344
74345         * gnulib-tool (import): In the other first-use case, provide defaults
74346         as well.
74347
74348 2005-09-02  Bruno Haible  <bruno@clisp.org>
74349
74350         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
74351         patches not yet found in the latest gettext release.
74352
74353 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74354
74355         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
74356         to avoid a collision with bits/local_lim.h in glibc.
74357         All uses changed.  Problem reported by Dmitry V. Levin in
74358         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
74359
74360         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
74361         bugs in int versus size_t comparisons.
74362         (re_string_context_at): Fix bug where the code assumed that
74363         Idx is signed.
74364
74365         Use bool where appropriate.
74366         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
74367         All callers changed.
74368         (calc_eclosure_iter): Likewise, for ROOT arg.
74369         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
74370         (build_charclass_op): Likewise, for NON_MATCH arg.
74371         * lib/regex_internal.c (re_string_allocate, re_string_construct):
74372         (re_string_construct_common): Likewise, for ICASE arg.
74373         * lib/regexec.c (re_search_2_stub, re_search_stub):
74374         Likewise, for RET_LEN arg.
74375         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
74376         (set_regs): Likewise, for FL_BACKTRACK arg.
74377         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
74378         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
74379         (calc_eclosure_iter, parse_bracket_exp):
74380         Use bool for internal variables that are booleans.
74381         * lib/regexec.c (re_search_internal, check_matching,
74382         proceed_next_node):
74383         (set_regs, build_sifted_states, sift_states_bkref):
74384         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
74385         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
74386         (find_collation_sequence_value):
74387         Likewise.
74388         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
74389         (re_node_set_compare):
74390         Return bool, not int. All callers changed.
74391         * lib/regexec.c (check_halt_node_context, check_dst_limits):
74392         (build_trtable, check_node_accept): Likewise.
74393         * lib/regex_internal.h: Include stdbool.h.
74394
74395         Fix bugs uncovered when converting to bool.
74396         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
74397         failure instead of charging ahead blindly.
74398         * lib/regex_internal.c (register_state): Likewise.
74399         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
74400         for freeing internal storage.
74401         (group_nodes_into_DFA_states): Use unsigned int, not int, for
74402         bitset pieces used as boolean, to avoid undefined behavior
74403         on hosts that do int overflow checking.
74404
74405 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74406
74407         * config/srclist.txt: Add glibc bugs 1285-1287.
74408
74409 2005-09-01  Jim Meyering  <jim@meyering.net>
74410
74411         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
74412         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
74413         Require gl_STAT_MACROS, too.
74414
74415 2005-09-01  Bruno Haible  <bruno@clisp.org>
74416
74417         * gnulib-tool (import): In the first-use case, provide defaults.
74418
74419 2005-09-01  Bruno Haible  <bruno@clisp.org>
74420
74421         * gnulib-tool (func_import): Remove the .tmp files.
74422
74423 2005-09-01  Bruno Haible  <bruno@clisp.org>
74424
74425         * gnulib-tool (func_import): Fix handling of symbolic links.
74426
74427 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74428
74429         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
74430         old glibc regex code mishandles strings longer than 2**31 bytes.
74431         This patch fixes this when the regex code is used in gnulib
74432         (i.e., outside glibc).
74433
74434         This patch should not affect the use of the regex code inside
74435         glibc.  No doubt this problem also needs to be handled for glibc
74436         as well, but the result will be an incompatible change to the
74437         glibc ABI, and the old ABI will have to be supported too.  That
74438         can be the the subject for another patch.
74439
74440         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
74441         governing whether the rest of this patch is active.  By default,
74442         the macro is disabled and the patch has no effect.
74443         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
74444         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
74445         (struct re_pattern_buffer, re_search, re_search_2, re_match):
74446         (re_match_2, re_set_registers): Use the new types.
74447         * lib/regex_internal.h (Idx, re_hashval_t): New types.
74448         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
74449         New macros.
74450         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
74451         (re_string_context_at, bin_tree_t, re_dfastate_t):
74452         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
74453         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
74454         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
74455         (re_string_char_size_at, re_string_wchar_at):
74456         (re_string_elem_size_at):
74457         Use the new types and macros to port to 64-bit hosts.
74458         Use unsigned types for internal values, so that the code
74459         mostly works even for arrays larger than SSIZE_MAX.
74460         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
74461         (search_duplicated_node, calc_eclosure_iter, fetch_number):
74462         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
74463         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
74464         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
74465         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
74466         (calc_inveclosure, parse_dup_op, build_range_exp):
74467         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
74468         (fetch_number, create_token_tree, mark_opt_subexp):
74469         Likewise.
74470         * lib/regex_internal.c (re_string_construct_common,
74471         create_ci_newstate):
74472         (create_cd_newstate, re_string_allocate, re_string_construct):
74473         (re_string_realloc_buffers, build_wcs_upper_buffer):
74474         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
74475         (re_string_reconstruct, re_string_peek_byte_case):
74476         (re_string_fetch_byte_case, re_string_context_at):
74477         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
74478         (re_node_set_init_copy, re_node_set_add_intersect):
74479         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
74480         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
74481         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
74482         (re_acquire_state, re_acquire_state_context, register_state):
74483         Likewise.
74484         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
74485         search_cur_bkref_entry):
74486         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
74487         (re_search_internal, re_search_2_stub, re_search_stub)
74488         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
74489         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
74490         (update_cur_sifted_state, check_dst_limits):
74491         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74492         (check_subexp_limits, sift_states_bkref, merge_state_array):
74493         (check_subexp_matching_top, get_subexp, get_subexp_sub):
74494         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
74495         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
74496         (expand_bkref_cache, check_node_accept_bytes):
74497         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
74498         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
74499         (acquire_init_state_context, check_halt_node_context):
74500         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
74501         (sift_states_backward, clean_state_log_if_needed):
74502         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
74503         (find_recover_state, transit_state_sb, transit_state_mb):
74504         (transit_state_bkref, build_trtable, match_ctx_clean):
74505         Likewise.
74506         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
74507         to work around an assumption that REG_MISSING is negative.
74508
74509         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
74510         (seek_collating_symbol_entry) [defined _LIBC]:
74511         (lookup_collation_sequence_value) [defined _LIBC]:
74512         (build_range_exp, build_collating_symbol) [defined _LIBC]:
74513         Use prototypes rather than old-style function definitions.
74514         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
74515         (transit_state_sb) [0]:
74516         (find_collation_sequence_value) [defined _LIBC]: Likewise.
74517
74518         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
74519         rm_eo.
74520
74521         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
74522         (optimize_subexps, lower_subexp):
74523         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
74524         since the signed shift might overflow.  Use 1u<<31 instead.
74525         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74526         Likewise.
74527         * lib/regexec.c (check_dst_limits_calc_pos_1,
74528         check_subexp_matching_top): Likewise.
74529
74530         * lib/regcomp.c (optimize_subexps, lower_subexp):
74531         Use CHAR_BIT rather than 8, for clarity.
74532         * lib/regexec.c (check_dst_limits_calc_pos_1):
74533         (check_subexp_matching_top): Likewise.
74534         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
74535         have to worry about portability issues when shifting it left.
74536         Remove no-longer-needed test for table_size > 0.
74537         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
74538         in a word, as the resulting behavior is undefined.
74539         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
74540         in one case, a <= should have been an <, and in another case the
74541         whole test was missing.
74542         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
74543         the standard name CHAR_BIT.
74544         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
74545         this is not true on one's complement and signed-magnitude hosts.
74546
74547         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
74548         next_last_offset.
74549         (struct re_dfa_t): Remove unused member states_alloc.
74550         * lib/regcomp.c (init_dfa): Don't initialize unused members.
74551
74552 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74553
74554         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
74555         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
74556         and large-file glibc and in 32-bit large-file Solaris.
74557
74558 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74559
74560         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
74561         lengths fit in regoff_t; this isn't true if regoff_t is the same
74562         width as size_t.
74563         * lib/regex.c (re_search_internal): 5th arg is LAST_START
74564         (= START + RANGE) instead of RANGE.  This avoids overflow
74565         problems when regoff_t is the same width as size_t.
74566         All callers changed.
74567         (re_search_2_stub): Check for overflow when adding the
74568         sizes of the two strings.
74569         (re_search_stub): Check for overflow when adding START
74570         to RANGE; if it occurs, substitute the extreme value.
74571
74572 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74573
74574         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
74575
74576 2005-08-31  Jim Meyering  <jim@meyering.net>
74577
74578         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
74579         a pointer-to-const.
74580         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
74581         (register_state): Likewise.
74582         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
74583         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74584         (group_nodes_into_DFAstates): Likewise.
74585
74586 2005-08-31  Jim Meyering  <jim@meyering.net>
74587
74588         * check-module: Add a FIXME comment.
74589
74590 2005-08-31  Eric Blake  <ebb9@byu.net>
74591
74592         * modules/unistd-safer (Files): Add unistd--.h.
74593         * modules/stdio-safer (Files): Add stdio--.h.
74594
74595 2005-08-31  Derek Price  <derek@ximbiot.com>
74596
74597         * lib/getdelim.c (getdelim): Return EOF on EOF.
74598         Reported by Larry Jones <lawrence.jones@ugs.com>.
74599
74600 2005-08-31  Bruno Haible  <bruno@clisp.org>
74601
74602         Avoid unnecessary diffs in the generated lib/Makefile.am.
74603         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
74604         the generated files.
74605         (func_import): Don't set cmd.
74606
74607 2005-08-31  Bruno Haible  <bruno@clisp.org>
74608
74609         * lib/strstr.c: Include <stddef.h>, for NULL.
74610         * lib/strcasestr.c: Likewise.
74611         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74612
74613 2005-08-31  Bruno Haible  <bruno@clisp.org>
74614
74615         * gnulib-tool: New option --macro-prefix.
74616         (func_import): Use macro_prefix.
74617         (import): Handle option --macro-prefix.
74618
74619 2005-08-31  Bruno Haible  <bruno@clisp.org>
74620
74621         * gnulib-tool (import): Rename most ac_* variables to cached_*.
74622         Also use new variables cached_lgpl, cached_libtool.
74623
74624 2005-08-31  Bruno Haible  <bruno@clisp.org>
74625
74626         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
74627         always instantiating them.
74628
74629 2005-08-31  Bruno Haible  <bruno@clisp.org>
74630
74631         * gnulib-tool (func_import): Read the previous cached settings
74632         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
74633         earlier added by gnulib but are now dropped. Warn when a gnulib file
74634         overwrites a non-gnulib file.
74635
74636 2005-08-31  Bruno Haible  <bruno@clisp.org>
74637
74638         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
74639         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
74640         projects that don't keep autogenerated files in CVS. Put into
74641         actioncmd only the specified modules, not the transitive closure.
74642
74643 2005-08-31  Bruno Haible  <bruno@clisp.org>
74644
74645         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
74646         Create directories that shall be filled.
74647         (import): Don't look for gl_* macros in configure.ac. Recurse across
74648         all directories containing a gnulib-cache.m4 files, if meaningful.
74649
74650 2005-08-31  Bruno Haible  <bruno@clisp.org>
74651
74652         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
74653         (import): Set seen_libtool when we see gl_LIBTOOL.
74654
74655 2005-08-31  Bruno Haible  <bruno@clisp.org>
74656
74657         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
74658         declaration macro definitions from generated gnulib.m4.
74659
74660 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
74661
74662         * lib/iconvme.h: Add prototype for iconv_alloc.
74663
74664 2005-08-29  Simon Josefsson  <jas@extundo.com>
74665
74666         * lib/iconvme.c: Fix errno.
74667
74668 2005-08-29  Bruno Haible  <bruno@clisp.org>
74669
74670         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
74671         that it works when the directory contains spaces.
74672
74673 2005-08-29  Bruno Haible  <bruno@clisp.org>
74674
74675         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
74676
74677 2005-08-29  Bruno Haible  <bruno@clisp.org>
74678
74679         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
74680         Emit more advice.
74681
74682 2005-08-29  Bruno Haible  <bruno@clisp.org>
74683         and Stepan Kasal  <kasal@ucw.cz>
74684
74685         * check-module: If more parameters are given, check each of them
74686         separately; add more exceptions, as noted by Jim Meyering.
74687         (check_module): New procedure.
74688         (%exempt_header): Now contains all exceptions.
74689
74690 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
74691
74692         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
74693
74694 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
74695
74696         * lib/iconvme.c: Split iconv_string into iconv_alloc.
74697
74698 2005-08-28  Bruno Haible  <bruno@clisp.org>
74699
74700         * m4/gnulib-tool.m4: New file.
74701
74702 2005-08-27  Jim Meyering  <jim@meyering.net>
74703
74704         * modules/unistd-safer (Files): Add pipe-safer.c.
74705         * modules/fcntl-safer (Files): Add creat-safer.c.
74706
74707 2005-08-27  Jim Meyering  <jim@meyering.net>
74708
74709         * m4/stdlib-safer.m4: New file.  From coreutils.
74710         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
74711         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
74712         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
74713         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
74714         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
74715
74716 2005-08-27  Jim Meyering  <jim@meyering.net>
74717
74718         * lib/fopen-safer.c: Merge minor changes from coreutils.
74719         * lib/dup-safer.c: Likewise.
74720         * lib/fd-safer.c: Likewise.
74721
74722         Merge from coreutils.
74723         * lib/stdio--.h: New file.
74724         * lib/stdlib--.h: New file.
74725         * lib/mkstemp-safer.c: New file.
74726
74727         GNU tar needs these.
74728         * lib/pipe-safer.c: New file.
74729         * lib/creat-safer.c: New file.
74730         * lib/fcntl--.h (creat): Define to creat_safer.
74731         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
74732         * lib/unistd--.h (pipe): Define to pipe_safer.
74733         * lib/unistd-safer.h: Declare pipe_safer.
74734
74735 2005-08-26  Simon Josefsson  <jas@extundo.com>
74736
74737         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
74738         Haible <bruno@clisp.org>.
74739
74740 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
74741
74742         * lib/regex_internal.h: Remove all references to
74743         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
74744         or better.
74745         (bitset_not, bitset_merge, bitset_not_merge):
74746         (bitset_mask, re_string_allocate, re_string_construct):
74747         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
74748         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
74749         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
74750         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
74751         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
74752         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
74753         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
74754         (re_acquire_state_context):
74755         Remove unnecessary forward decls.
74756         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
74757         Put __attribute at function definition,
74758         now that the function decl has been removed.
74759         * lib/regex_internal.c (re_string_peek_byte_case):
74760         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
74761         Likewise.
74762
74763 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
74764
74765         * m4/regex.m4: Add AC_PREREQ(2.50).
74766         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
74767
74768 2005-08-25  Simon Josefsson  <jas@extundo.com>
74769
74770         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
74771         __fsetlocking.
74772
74773 2005-08-25  Simon Josefsson  <jas@extundo.com>
74774
74775         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
74776         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
74777         GLIBC specific code.
74778
74779 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74780
74781         Make regex safe for g++.  This fixes one real bug (an "err"
74782         that should have been "*err").  g++ problem reported by
74783         Sam Steingold.
74784         * lib/regex_internal.h (re_calloc): New macro, consistent with
74785         re_malloc etc.  All callers of calloc changed to use re_calloc.
74786         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
74787         not int.  All callers changed.
74788         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
74789         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
74790         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
74791         (find_recover_state): Change "err" to "*err"; this fixes what
74792         appears to be a real bug.
74793         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
74794         versus int.
74795
74796 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74797
74798         * modules/regex (Depends-on): Add malloc, since the code
74799         assumes that !malloc(0) means failure.
74800
74801 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74802
74803         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
74804
74805         alloca modernization/simplification for regex.
74806         * lib/regex.c: Remove portability cruft for alloca.  This no longer
74807         needs to be at the start of the file, and can be moved into
74808         regex_internal.h and simplified.
74809         * lib/regex_internal.h: Include <alloca.h>.
74810         (__libc_use_alloca) [!defined _LIBC]: New macro.
74811         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
74812         now works outside glibc.
74813
74814 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74815
74816         * config/srclist.txt: Add glibc bugs 1241, 1245.
74817
74818 2005-08-25  Jim Meyering  <jim@meyering.net>
74819
74820         * lib/open-safer.c: Include <config.h>.
74821         Otherwise, we'd lose LARGEFILE support in any file using
74822         e.g. "fcntl--.h"
74823
74824 2005-08-25  Bruno Haible  <bruno@clisp.org>
74825
74826         * m4/minmax.m4: Require autoconf 2.52.
74827         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
74828         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
74829         alternatives of translit over the alphabet.
74830         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
74831
74832 2005-08-24  Simon Josefsson  <jas@extundo.com>
74833
74834         * tests/test-getpass.c: New file.
74835
74836 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74837
74838         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
74839         for GNU regex features.
74840
74841 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74842
74843         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
74844         * lib/regex.h (regerror): Likewise.
74845
74846         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
74847         requires this.  (The code never needed it.)
74848
74849         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
74850         All uses of recently-renamed identifiers changed to use the new,
74851         POSIX-compliant names.  The code will build and run just fine
74852         without these changes, but it's better to eat our own dog food
74853         and use the standard-conforming names.
74854
74855         * lib/regex.h: Fix a multitude of POSIX name space violations.
74856         These changes have an effect only for programs that define
74857         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
74858         do not change anything for programs compiled in the normal way.
74859         Also, there is no effect on the ABI.
74860
74861         (_REGEX_SOURCE): New macro.
74862         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
74863         defined and _GNU_SOURCE is not; this fixes a name space violation.
74864
74865         Rename the following macros to obey POSIX requirements.
74866         The old names are still visible as macros if _REGEX_SOURCE is defined.
74867         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
74868         RE_BACKSLASH_ESCAPE_IN_LISTS.
74869         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
74870         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
74871         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
74872         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
74873         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
74874         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
74875         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
74876         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
74877         (REG_INTERVALS): renamed from RE_INTERVALS.
74878         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
74879         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
74880         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
74881         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
74882         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
74883         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
74884         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
74885         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
74886         RE_UNMATCHED_RIGHT_PAREN_ORD.
74887         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
74888         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
74889         (REG_DEBUG): renamed from RE_DEBUG.
74890         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
74891         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
74892         unusual, since we can't clash with the POSIX REG_ICASE.
74893         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
74894         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
74895         (REG_NO_SUB): renamed from RE_NO_SUB.
74896         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
74897         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
74898         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
74899         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
74900         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
74901         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
74902         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
74903         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
74904         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
74905         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
74906         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
74907         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
74908         RE_SYNTAX_POSIX_MINIMAL_BASIC.
74909         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
74910         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
74911         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
74912         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
74913         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
74914         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
74915         (REG_FIXED): Renamed from REGS_FIXED.
74916         (REG_NREGS): Renamed from RE_NREGS.
74917
74918         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
74919         of other REG_* macros, since POSIX says the user is allowed to
74920         #undef these macros selectively.
74921
74922         (reg_errcode_t): Update comment stating what other tables need
74923         to be consistent.
74924
74925         Rename the following enum values to obey POSIX requirements.
74926         The old names are still visible as macros.
74927         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
74928         is not defined, since GNU is supposed to be a superset of POSIX as
74929         much as possible, and since we want reg_errcode_t to be a signed
74930         type for implementation consistency.
74931         (_REG_NOERROR): Renamed from REG_NOERROR.
74932         (_REG_NOMATCH): Renamed from REG_NOMATCH.
74933         (_REG_BADPAT): Renamed from REG_BADPAT.
74934         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
74935         (_REG_ECTYPE): Renamed from REG_ECTYPE.
74936         (_REG_EESCAPE): Renamed from REG_EESCAPE.
74937         (_REG_ESUBREG): Renamed from REG_ESUBREG.
74938         (_REG_EBRACK): Renamed from REG_EBRACK.
74939         (_REG_EPAREN): Renamed from REG_EPAREN.
74940         (_REG_EBRACE): Renamed from REG_EBRACE.
74941         (_REG_BADBR): Renamed from REG_BADBR.
74942         (_REG_ERANGE): Renamed from REG_ERANGE.
74943         (_REG_ESPACE): Renamed from REG_ESPACE.
74944         (_REG_BADRPT): Renamed from REG_BADRPT.
74945         (_REG_EEND): Renamed from REG_EEND.
74946         (_REG_ESIZE): Renamed from REG_ESIZE.
74947         (_REG_ERPAREN): Renamed from REG_ERPAREN.
74948         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
74949         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
74950         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
74951         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
74952
74953         (_REG_RE_NAME, _REG_RM_NAME): New macros.
74954         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
74955         changed.  But support the old name if the new one is not defined
74956         and if _REGEX_SOURCE.
74957
74958         Change the following member names in struct re_pattern_buffer.
74959         The old names are still supported if !_REGEX_SOURCE.
74960         The new names are always supported, regardless of _REGEX_SOURCE.
74961         (re_buffer): Renamed from buffer.
74962         (re_allocated): Renamed from allocated.
74963         (re_used): Renamed from used.
74964         (re_syntax): Renamed from syntax.
74965         (re_fastmap): Renamed from fastmap.
74966         (re_translate): Renamed from translate.
74967         (re_can_be_null): Renamed from can_be_null.
74968         (re_regs_allocated): Renamed from regs_allocated.
74969         (re_fastmap_accurate): Renamed from fastmap_accurate.
74970         (re_no_sub): Renamed from no_sub.
74971         (re_not_bol): Renamed from not_bol.
74972         (re_not_eol): Renamed from not_eol.
74973         (re_newline_anchor): Renamed from newline_anchor.
74974
74975         Change the following member names in struct re_registers.
74976         The old names are still supported if !_REGEX_SOURCE.
74977         The new names are always supported, regardless of _REGEX_SOURCE.
74978         (rm_num_regs): Renamed from num_regs.
74979         (rm_start): Renamed from start.
74980         (rm_end): Renamed from end.
74981
74982         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
74983         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
74984         Prepend __ to parameter names.
74985
74986         Undo yesterday's changes.
74987
74988 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74989
74990         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
74991         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
74992         lib/regex.c.
74993
74994 2005-08-24  Jim Meyering  <jim@meyering.net>
74995
74996         Sync from coreutils.
74997         * m4/fcntl-safer.m4: New file.
74998
74999         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
75000         and object files for this module.
75001
75002 2005-08-24  Jim Meyering  <jim@meyering.net>
75003
75004         Sync from coreutils.
75005         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
75006
75007 2005-08-24  Jim Meyering  <jim@meyering.net>
75008
75009         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
75010         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
75011
75012 2005-08-24  Jim Meyering  <jim@meyering.net>
75013
75014         * modules/fcntl-safer: New module.
75015         * modules/fts (Depends-on): Add fcntl-safer.
75016         * MODULES.html.sh (File descriptor based Input/Output):
75017         Add fcntl-safer.
75018
75019 2005-08-24  Bruno Haible  <bruno@clisp.org>
75020
75021         Support for unit test modules.
75022         * modules/README: Mention tests modules.
75023         * modules/TEMPLATE-TESTS: New file.
75024         * gnulib-tool: New options --extract-tests-module, --with-tests and
75025         --tests-base (unused for the moment).
75026         (testsbase, inctests): New variables.
75027         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
75028         (func_verify_module): Exclude TEMPLATE-TESTS.
75029         (func_verify_nontests_module, func_verify_tests_module): New functions.
75030         (func_get_dependencies): Add implicit dependency for tests modules.
75031         (func_get_tests_module): New function.
75032         (func_modules_transitive_closure): When --with-tests was specified,
75033         include the unit tests as well, unless explicitly avoided.
75034         (func_emit_lib_Makefile_am): Ignore the tests modules here.
75035         (func_emit_tests_Makefile_am): New function.
75036         (func_create_testdir): When --with-tests was specified, emit a
75037         tests/ directory.
75038         * MODULES.html.sh (Future developments): Update.
75039
75040 2005-08-24  Bruno Haible  <bruno@clisp.org>
75041
75042         * modules/tls-tests: New file.
75043         * tests/test-tls.c: New file, from GNU gettext.
75044
75045 2005-08-24  Bruno Haible  <bruno@clisp.org>
75046
75047         * modules/lock-tests: New file.
75048         * tests/test-lock.c: New file, from GNU gettext.
75049
75050 2005-08-24  Bruno Haible  <bruno@clisp.org>
75051
75052         * lib/lock.h: Add multiple inclusion guard.
75053         * lib/tls.h: Add multiple inclusion guard.
75054
75055 2005-08-24  Bruno Haible  <bruno@clisp.org>
75056
75057         * gnulib-tool: Add support for the --aux-dir option to
75058         --create-testdir, --create-megatestdir, --test, --megatest.
75059         (func_create_testdir, func_create_megatestdir): Optionally emit a
75060         AC_CONFIG_AUX_DIR directive.
75061         (create-testdir, create-megatestdir, test, megatest): Provide a
75062         default value for $auxdir.
75063
75064 2005-08-24  Bruno Haible  <bruno@clisp.org>
75065
75066         * gnulib-tool (import): Use compound statement instead of subshell
75067         where possible.
75068
75069 2005-08-24  Bruno Haible  <bruno@clisp.org>
75070
75071         * gnulib-tool (import): Change --aux-dir default to "build-aux".
75072
75073 2005-08-24  Bruno Haible  <bruno@clisp.org>
75074
75075         * gnulib-tool (func_version): Update.
75076
75077 2005-08-24  Bruno Haible  <bruno@clisp.org>
75078
75079         * gnulib-tool (func_import, func_create_testdir,
75080         func_create_megatestdir): Quote all autoconf macro arguments.
75081
75082 2005-08-24  Bruno Haible  <bruno@clisp.org>
75083
75084         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
75085         option --force, because --force causes the aclocal.m4 of each
75086         subdirectory to be newer than the corresponding config.h.in.
75087
75088 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75089
75090         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
75091         All contents moved to gl_REGEX.
75092         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
75093         assume that it does.
75094
75095 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75096
75097         * lib/regex.h (REG_NOSYS)
75098         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
75099         Define, since POSIX requires it as of 2001.
75100         (_REG_ENOSYS)
75101         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
75102         New private symbol, used to keep the enum signed in all cases.
75103         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
75104         Youngman in
75105         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
75106
75107         * lib/regex_internal.c (re_string_skip_chars, register_state):
75108         (calc_state_hash):
75109         Remove forward decls; no longer needed now that we use prototypes.
75110         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
75111         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
75112         (clean_state_log_if_needed): Likewise.
75113
75114 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75115
75116         * config/srclist.txt: Add glibc bugs 1231-1233.
75117
75118 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75119
75120         Fix problems reported by Sam Steingold in
75121         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
75122         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
75123         assumed that reg_errcode_t is a signed type, which is not
75124         necessarily true if _XOPEN_SOURCE is not defined.
75125         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
75126         since some compilers warn about it otherwise.
75127
75128 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75129
75130         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
75131         (init_word_char, create_initial_state, duplicate_node_closure):
75132         (fetch_token, peek_token_bracket, build_range_exp):
75133         (build_collating_symbol): Remove forward decls; no longer needed
75134         now that we use prototypes.
75135
75136         * lib/regcomp.c:
75137         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
75138         (re_compile_fastmap_iter, regcomp, regerror, regfree):
75139         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
75140         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
75141         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
75142         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
75143         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
75144         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
75145         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
75146         (build_range_exp, build_collating_symbol, parse_bracket_exp):
75147         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
75148         (build_charclass, build_charclass_op, fetch_number, create_tree):
75149         (create_token_tree, mark_opt_subexp, duplicate_tree):
75150         Use prototypes rather than old-style definitions.
75151
75152         * lib/regex_internal.c:
75153         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
75154         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
75155         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
75156         (re_string_reconstruct, re_string_peek_byte_case):
75157         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
75158         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
75159         (re_node_set_init_copy, re_node_set_add_intersect):
75160         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75161         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75162         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
75163         (re_acquire_state, re_acquire_state_context, register_state):
75164         (create_ci_newstate, create_cd_newstate, free_state):
75165         Likewise.
75166         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
75167         re_search_2):
75168         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
75169         (re_search_internal, prune_impossible_nodes):
75170         (acquire_init_state_context, check_matching, static):
75171         (check_halt_node_context, check_halt_state_context, proceed_next_node):
75172         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
75173         (update_regs, sift_states_backward, build_sifted_states):
75174         (clean_state_log_if_needed, merge_state_array):
75175         (update_cur_sifted_state, add_epsilon_src_nodes):
75176         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
75177         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
75178         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
75179         (find_recover_state, check_subexp_matching_top, transit_state_mb):
75180         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
75181         (check_arrival, check_arrival_add_next_nodes):
75182         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
75183         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
75184         (check_node_accept_bytes, check_node_accept, extend_buffers):
75185         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
75186         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
75187         (sift_ctx_init):
75188         Likewise.
75189
75190         * lib/regex_internal.h:
75191         (re_string_allocate, re_string_construct, re_string_reconstruct):
75192         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
75193         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
75194         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
75195         (re_string_context_at, re_string_peek_byte_case):
75196         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
75197         is defined, since we now use prototypes always.
75198
75199         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
75200         C89 or better.  All uses removed.
75201
75202 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75203
75204         * config/srclist.txt: Add glibc bugs 1220-1227.
75205
75206 2005-08-20  Jim Meyering  <jim@meyering.net>
75207
75208         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
75209         of unused local, dfa.
75210
75211 2005-08-20  Bruno Haible  <bruno@clisp.org>
75212
75213         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
75214
75215 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75216
75217         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
75218         (re_node_set_insert_last, re_dfa_add_node):
75219         Rename local variables to avoid GCC shadowing warnings.
75220
75221 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75222
75223         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
75224         [defined lint]: Suppress bogus uninitialized-variable warnings.
75225
75226         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
75227         and let the caller return REG_ESPACE if out of space.  This
75228         removes an uninitialied-variable warning with GCC 4.0.1, and also
75229         avoids taking the address of a local variable.  All callers
75230         changed.
75231
75232 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75233
75234         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
75235         $LIBCSRC/posix/regexec.c.
75236         Add glibc bug 1217 for regcomp.c.
75237
75238 2005-08-19  Jim Meyering  <jim@meyering.net>
75239
75240         * lib/regexec.c (proceed_next_node): Redo local variables to
75241         avoid GCC shadowing warnings.
75242
75243 2005-08-18  Bruno Haible  <bruno@clisp.org>
75244
75245         * lib/strstr.c (strstr): Fix return value in multibyte case.
75246         * lib/strcasestr.c (strcasestr): Likewise.
75247
75248 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75249
75250         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
75251
75252 2005-08-17  Jim Meyering  <jim@meyering.net>
75253
75254         Make the %s format (seconds since the epoch) work for a negative
75255         number and when used with a zero-padded field width, e.g. %015s.
75256
75257         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
75258         label so that it precedes the code to set `digits'.  Otherwise,
75259         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
75260         print `00-22'.  Now, it prints `-0022', as it should.
75261
75262 2005-08-17  Bruno Haible  <bruno@clisp.org>
75263
75264         * modules/strstr (Files): Add m4/mbrtowc.m4.
75265         (Depends-on): Add mbuiter.
75266
75267 2005-08-17  Bruno Haible  <bruno@clisp.org>
75268
75269         * modules/strcasestr: New file.
75270         * MODULES.html.sh (String handling, based on ANSI C 89): Add
75271         strcasestr.
75272
75273 2005-08-17  Bruno Haible  <bruno@clisp.org>
75274
75275         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
75276
75277 2005-08-17  Bruno Haible  <bruno@clisp.org>
75278
75279         * modules/mbuiter: New file.
75280         * MODULES.html.sh (Extended multibyte and wide character utilities):
75281         Add mbuiter.
75282
75283 2005-08-17  Bruno Haible  <bruno@clisp.org>
75284
75285         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
75286         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
75287
75288 2005-08-17  Bruno Haible  <bruno@clisp.org>
75289
75290         * m4/strcasestr.m4: New file.
75291
75292 2005-08-17  Bruno Haible  <bruno@clisp.org>
75293
75294         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
75295         * lib/strstr.c: Completely rewritten, with multibyte locale support.
75296
75297 2005-08-17  Bruno Haible  <bruno@clisp.org>
75298
75299         * lib/strcasestr.h: New file.
75300         * lib/strcasestr.c: New file.
75301
75302 2005-08-17  Bruno Haible  <bruno@clisp.org>
75303
75304         * lib/strcasecmp.c: Use mbuiter.h.
75305
75306 2005-08-17  Bruno Haible  <bruno@clisp.org>
75307
75308         * lib/mbuiter.h: New file.
75309
75310 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
75311
75312         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
75313         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
75314         and gl_GETOPT are both invoked via different paths (as happens
75315         with GNU tar CVS because it uses both argp and getopt), the former
75316         wins.
75317
75318 2005-08-16  Bruno Haible  <bruno@clisp.org>
75319
75320         * modules/tls: New file.
75321         * MODULES.html.sh (Multithreading): Add tls.
75322
75323 2005-08-16  Bruno Haible  <bruno@clisp.org>
75324
75325         * modules/strnlen1: New file.
75326         * MODULES.html.sh (String handling): Add strnlen1.
75327
75328 2005-08-16  Bruno Haible  <bruno@clisp.org>
75329
75330         * modules/strcase (Files): Add m4/mbrtowc.m4.
75331         (Depends-on): Add strnlen1, mbchar.
75332
75333 2005-08-16  Bruno Haible  <bruno@clisp.org>
75334
75335         * modules/mbiter: New file.
75336         * MODULES.html.sh (Extended multibyte and wide character utilities):
75337         Add mbiter.
75338
75339 2005-08-16  Bruno Haible  <bruno@clisp.org>
75340
75341         * modules/mbfile: New file.
75342         * MODULES.html.sh (Extended multibyte and wide character utilities):
75343         Add mbfile.
75344
75345 2005-08-16  Bruno Haible  <bruno@clisp.org>
75346
75347         * modules/mbchar: New file.
75348         * MODULES.html.sh (Extended multibyte and wide character utilities):
75349         New section.
75350
75351 2005-08-16  Bruno Haible  <bruno@clisp.org>
75352
75353         * m4/tls.m4: New file, from GNU gettext.
75354
75355 2005-08-16  Bruno Haible  <bruno@clisp.org>
75356
75357         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
75358         always.
75359         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
75360
75361 2005-08-16  Bruno Haible  <bruno@clisp.org>
75362
75363         * m4/mbiter.m4: New file.
75364
75365 2005-08-16  Bruno Haible  <bruno@clisp.org>
75366
75367         * m4/mbfile.m4: New file.
75368
75369 2005-08-16  Bruno Haible  <bruno@clisp.org>
75370
75371         * m4/mbchar.m4: New file.
75372
75373 2005-08-16  Bruno Haible  <bruno@clisp.org>
75374
75375         * lib/tls.h: New file, from GNU gettext.
75376         * lib/tls.c: New file, from GNU gettext.
75377
75378 2005-08-16  Bruno Haible  <bruno@clisp.org>
75379
75380         * lib/strnlen1.h: New file.
75381         * lib/strnlen1.c: New file.
75382
75383 2005-08-16  Bruno Haible  <bruno@clisp.org>
75384
75385         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
75386         (mbi_init): Update.
75387         (mbi_avail, mbi_advance): Let the iteration end before the terminating
75388         NUL byte, not after it.
75389
75390 2005-08-16  Bruno Haible  <bruno@clisp.org>
75391
75392         * lib/strcase.h (strcasecmp): Add note in comments.
75393         * lib/strncasecmp.c: Use code from strcasecmp.c.
75394         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
75395         (strcasecmp): Work correctly in multibyte locales.
75396
75397 2005-08-16  Bruno Haible  <bruno@clisp.org>
75398
75399         * lib/mbiter.h: New file.
75400
75401 2005-08-16  Bruno Haible  <bruno@clisp.org>
75402
75403         * lib/mbfile.h: New file.
75404
75405 2005-08-16  Bruno Haible  <bruno@clisp.org>
75406
75407         * lib/mbchar.h: New file.
75408         * lib/mbchar.c: New file.
75409
75410 2005-08-16  Bruno Haible  <bruno@clisp.org>
75411
75412         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
75413         the valid ones. Makes the comparison operations transitive:
75414         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
75415         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
75416
75417 2005-08-15  Simon Josefsson  <jas@extundo.com>
75418
75419         * modules/ssize_t (License): Change to 'unlimited'.
75420
75421         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
75422
75423 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75424
75425         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
75426         Add comments for each pending glibc patch.
75427
75428 2005-08-15  Bruno Haible  <bruno@clisp.org>
75429
75430         * lib/regex.h (__restrict_arr): Don't define to __restrict if
75431         __cplusplus is defined.
75432
75433 2005-08-14  Jim Meyering  <jim@meyering.net>
75434
75435         Sync from coreutils.
75436
75437         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
75438         Use the hash-table-based cycle-detection code not just when
75439         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
75440         Reported by James Youngman in
75441         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
75442         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
75443         FTS_TIGHT_CYCLE_CHECK.
75444         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
75445         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
75446         once again.
75447         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
75448         * lib/fts.c (fd_safer): Remove decl.
75449         Include fcntl--.h rather than unistd-safer.h
75450         (fts_safe_changedir): Don't call fd_safer; no longer needed
75451         now that we include fcntl--.h.
75452
75453 2005-08-12  Simon Josefsson  <jas@extundo.com>
75454
75455         * modules/getndelim2: Use ssize_t module.
75456         * modules/getnline: Likewise.
75457         * modules/safe-read: Likewise.
75458         * modules/xreadlink: Likewise.
75459
75460         * modules/ssize_t: New file.
75461
75462 2005-08-12  Simon Josefsson  <jas@extundo.com>
75463
75464         * m4/readline.m4: Look for termcap, curses or ncurses if required.
75465
75466 2005-08-12  Simon Josefsson  <jas@extundo.com>
75467
75468         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75469         ssize_t.
75470
75471 2005-08-12  Simon Josefsson  <jas@extundo.com>
75472
75473         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
75474         readline, getdelim and check_version.
75475         (Support for systems lacking ISO C 99: Sizes of integer types):
75476         Add size_max.
75477
75478 2005-08-12  Bruno Haible  <bruno@clisp.org>
75479
75480         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
75481
75482 2005-08-11  Simon Josefsson  <jas@extundo.com>
75483
75484         * modules/readline: New file.
75485
75486         * modules/strnlen (Files): Add strnlen.h.
75487
75488 2005-08-11  Simon Josefsson  <jas@extundo.com>
75489
75490         * m4/readline.m4: New file.
75491
75492 2005-08-11  Simon Josefsson  <jas@extundo.com>
75493
75494         * lib/readline.h, readline.c: New file.
75495
75496 2005-08-11  Simon Josefsson  <jas@extundo.com>
75497
75498         * doc/gnulib.texi (Initial import, Finishing touches): Mention
75499         gl_AVOID.
75500
75501 2005-08-11  Bruno Haible  <bruno@clisp.org>
75502
75503         * lib/strnlen.h (strnlen): Change parameter name to match comment.
75504
75505 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
75506
75507         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
75508
75509 2005-08-10  Simon Josefsson  <jas@extundo.com>
75510
75511         * tests/test-iconvme.c: New file.
75512
75513 2005-08-10  Simon Josefsson  <jas@extundo.com>
75514
75515         * m4/strnlen.m4: New file.
75516
75517         * m4/strndup.m4: Don't check for strnlen declaration, done in
75518         strnlen.m4.
75519
75520 2005-08-10  Simon Josefsson  <jas@extundo.com>
75521
75522         * lib/strndup.c: Use strnlen.h.
75523
75524         * lib/strnlen.h: New file.
75525
75526 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75527
75528         * README: Typos.
75529
75530 2005-08-02  Simon Josefsson  <jas@extundo.com>
75531
75532         * modules/readline: New file.
75533
75534 2005-08-02  Simon Josefsson  <jas@extundo.com>
75535
75536         * modules/getdelim: New file.
75537
75538         * modules/getline: Rewrite, don't use getndelim2.
75539
75540 2005-08-02  Simon Josefsson  <jas@extundo.com>
75541
75542         * m4/getline.m4: Separate out getdelim stuff into separate module.
75543
75544         * m4/getdelim.m4: New file.
75545
75546 2005-08-02  Simon Josefsson  <jas@extundo.com>
75547
75548         * lib/getline.h, getline.c: Rewrite.
75549
75550         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
75551
75552 2005-07-31  Bruno Haible  <bruno@clisp.org>
75553
75554         * lib/lock.h (gl_lock_initializer): New macro.
75555         (gl_lock_define_initialized): Use it.
75556         (gl_rwlock_initializer): New macro.
75557         (gl_rwlock_define_initialized): Use it.
75558         (gl_recursive_lock_initializer): New macro.
75559         (gl_recursive_lock_define_initialized): Use it.
75560
75561 2005-07-30  Karl Berry  <karl@gnu.org>
75562
75563         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
75564         Report from Ben Pfaff, regarding getopt.
75565
75566 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
75567
75568         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
75569         normal way.
75570         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
75571         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
75572         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
75573         (gl_GETOPT): Use the new macros.  Most of the implementation
75574         is moved to the new macros.  This is for programs like Emacs
75575         that don't want all the functionality of gl_GETOPT.
75576
75577 2005-07-26  Bruno Haible  <bruno@clisp.org>
75578
75579         * m4/lock.m4: Update from GNU gettext.
75580
75581 2005-07-26  Bruno Haible  <bruno@clisp.org>
75582
75583         * lib/lock.h: Update from GNU gettext.
75584         * lib/lock.c: Update from GNU gettext.
75585
75586 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
75587
75588         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
75589         obsolescent AC_TRY_RUN.  Include the default includes files, for
75590         'exit'.
75591
75592 2005-07-24  Bruno Haible  <bruno@clisp.org>
75593
75594         * modules/visibility: New file.
75595         * MODULES.html.sh (Misc): Add visibility.
75596
75597 2005-07-24  Bruno Haible  <bruno@clisp.org>
75598
75599         * m4/visibility.m4: New file.
75600
75601 2005-07-24  Bruno Haible  <bruno@clisp.org>
75602
75603         * doc/visibility.texi: New file.
75604
75605 2005-07-22  Bruno Haible  <bruno@clisp.org>
75606
75607         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
75608         $(ALLOCA_H), redundant through BUILT_SOURCES.
75609         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
75610         redundant through BUILT_SOURCES.
75611         * modules/byteswap (Makefile.am): Remove explicit dependency on
75612         $(BYTESWAP_H), redundant through BUILT_SOURCES.
75613         * modules/fnmatch (Makefile.am): Remove explicit dependency on
75614         $(FNMATCH_H), redundant through BUILT_SOURCES.
75615         * modules/getopt (Makefile.am): Remove explicit dependency on
75616         $(GETOPT_H), redundant through BUILT_SOURCES.
75617         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
75618         redundant through BUILT_SOURCES.
75619         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
75620         redundant through BUILT_SOURCES.
75621         * modules/stdbool (Makefile.am): Remove explicit dependency on
75622         $(STDBOOL_H), redundant through BUILT_SOURCES.
75623         * modules/stdint (Makefile.am): Remove explicit dependency on
75624         $(STDINT_H), redundant through BUILT_SOURCES.
75625         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
75626         Remove explicit dependency on $(SYSEXITS_H).
75627         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
75628
75629 2005-07-18  Simon Josefsson  <jas@extundo.com>
75630
75631         * lib/check-version.c (check_version): Accept identical versions too.
75632
75633 2005-07-18  Bruno Haible  <bruno@clisp.org>
75634
75635         * modules/lock: New file.
75636         * MODULES.html.sh (Multithreading): New section.
75637
75638 2005-07-18  Bruno Haible  <bruno@clisp.org>
75639
75640         * m4/lock.m4: New file, from GNU gettext.
75641
75642 2005-07-18  Bruno Haible  <bruno@clisp.org>
75643
75644         * lib/lock.h: New file, from GNU gettext.
75645         * lib/lock.c: New file, from GNU gettext.
75646
75647 2005-07-18  Bruno Haible  <bruno@clisp.org>
75648
75649         * lib/lock.h (gl_once_t): New type.
75650         (gl_once_define, gl_once): New macros.
75651         * lib/lock.c (fresh_once): New variable.
75652         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
75653         functions.
75654
75655 2005-07-16  Simon Josefsson  <jas@extundo.com>
75656
75657         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
75658         workaround, suggested by Bruno.
75659
75660 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
75661
75662         * modules/xalloc (Depends-on): Add xalloc-die.
75663         * modules/xvasprintf (Depends-on): Add xalloc-die.
75664
75665 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
75666
75667         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
75668         with a minor change.
75669
75670 2005-07-15  Bruno Haible  <bruno@clisp.org>
75671
75672         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
75673         When using lib/poll.c, define poll as rpl_poll.
75674
75675 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
75676
75677         * modules/argp (Depends-on): Remove unlocked-io.
75678
75679 2005-07-14  Derek Price  <derek@ximbiot.com>
75680
75681         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
75682         for glob symlink bug.
75683
75684 2005-07-14  Bruno Haible  <bruno@clisp.org>
75685
75686         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
75687         Instead, test for *_unlocked function declarations directly.
75688
75689 2005-07-11  Simon Josefsson  <jas@extundo.com>
75690
75691         * modules/size_max: New file.
75692
75693         * modules/xsize: Depend on size_max module for size_max.m4.
75694
75695 2005-07-11  Simon Josefsson  <jas@extundo.com>
75696
75697         * lib/size_max.h: New file.
75698
75699 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
75700
75701         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
75702         copyright symbol and the year.
75703         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
75704         (version_etc_va): Use parameterized copyright notice.
75705         Reword to conform to the current GNU coding standards.
75706
75707 2005-07-11  Karl Berry  <karl@gnu.org>
75708
75709         * doc/gnulib.texi (Quoting): new node.
75710         (Initial import): more info, from Patrice.
75711
75712 2005-07-11  Bruno Haible  <bruno@clisp.org>
75713
75714         * gnulib-tool (func_usage): Document option --avoid.
75715         (Command line options): Handle --avoid.
75716         (func_acceptable): New function.
75717         (func_modules_transitive_closure): Use it.
75718
75719 2005-07-11  Bruno Haible  <bruno@clisp.org>
75720
75721         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
75722         Reported by Jim Meyering.
75723
75724 2005-07-10  Bruno Haible  <bruno@clisp.org>
75725
75726         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
75727         Needed when size_t is smaller than 'unsigned int'.
75728         Reported by Paul Eggert.
75729
75730 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75731
75732         * modules/argp (Depends-on): Add unlocked-io
75733
75734 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75735
75736         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
75737         block of defines.
75738
75739 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
75740
75741         * config/srclist.txt: Comment out regcomp.c, since we have a porting
75742         fix now.
75743
75744 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
75745         and Paul Eggert  <eggert@cs.ucla.edu>
75746
75747         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
75748         in wint_t, not wchar_t.  Remove now-unnecessary cast.
75749
75750 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75751
75752         * modules/regex (Files): Add lib/regex_internal.c,
75753         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
75754         (Depends-on): Add extensions.
75755         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
75756
75757 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75758
75759         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
75760         pathconf.
75761         * m4/same.m4 (gl_SAME): Likewise.
75762         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
75763
75764         * m4/regex.m4: Adjust to new libc regex implementation.
75765         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
75766         all the .c and .h parts of (the new) regex.
75767         Quote the m4 stuff better.
75768         Check for RE_ICASE bug of old gnulib.
75769         Check for REG_STARTEND of recent libc.
75770         Rename local variables from jm_* to gl_*.
75771         Quote operand of "test -f".
75772         Say "recent enough" version of libc, not "version 2".
75773         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
75774         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
75775         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
75776         Remove check for btowc, isascii.
75777         Require AM_LANGINFO_CODESET.
75778
75779 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75780
75781         * lib/regex.c, regex.h: Sync from libc.
75782         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
75783         * lib/regexec.c:
75784         New files, synced from libc, except that regex_internal.h
75785         currently has a small porting fix.
75786
75787 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75788
75789         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
75790         regex_internal.c, regexec.c.
75791         Add regex_internal.h too, but as a comment, since the libc version
75792         is currently broken in gnulib mode.
75793
75794 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75795
75796         Support programs like Emacs that use gnulib but not gettext.
75797         * MODULES.html.sh (Internationalization functions): Add gettext-h.
75798         * modules/gettext-h: New file.
75799         * modules/gettext (Files): Remove lib/gettext.h.
75800         (Depends-on): Add gettext-h.
75801         (Makefile.am): Remove lib_SOURCES.
75802         * modules/argmatch, modules/c-stack, modules/closeout:
75803         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
75804         * modules/execute, modules/file-type, modules/getaddrinfo:
75805         * modules/getopt, modules/human, modules/javacomp:
75806         * modules/javaexec, modules/mkdir-p, modules/obstack:
75807         * modules/openat, modules/pagealign_alloc, modules/pipe:
75808         * modules/quotearg, modules/regex, modules/rpmatch:
75809         * modules/unicodeio, modules/userspec, modules/version-etc:
75810         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
75811         * modules/xsetenv:
75812         Depend on gettext-h, not gettext.
75813
75814 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75815
75816         * gnulib-tool (func_import): Add support for 'public domain' license.
75817         * modules/alloca, modules/atexit, modules/memmove:
75818         Now public domain, not GPL.
75819         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
75820         * modules/realloc, modules/strerror, modules/strtod:
75821         Now LGPL, not GPL.
75822
75823 2005-07-05  Bruno Haible  <bruno@clisp.org>
75824
75825         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
75826         autoconf CVS. Needed for mingw.
75827
75828 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75829
75830         Remove the dependency of the strftime module on the tzset module.
75831         * modules/strftime (Depends-on): Remove dependency on tzset.
75832
75833 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75834
75835         Remove the dependency of the strftime module on the tzset module.
75836         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
75837         gl_FUNC_TZSET_CLOBBER.
75838
75839 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75840
75841         Remove the dependency of the strftime module on the tzset module.
75842         * lib/strftime.c (my_strftime)
75843         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
75844         Copy the input structure, to work around some of the bug with
75845         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
75846         Solaris releases, you should also use the tzset module, but we won't
75847         require it as a dependency any more since we don't want LGPLed code
75848         to depend on GPLed code.
75849
75850 2005-07-02  Jim Meyering  <jim@meyering.net>
75851
75852         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
75853         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
75854         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
75855         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
75856
75857 2005-07-02  Jim Meyering  <jim@meyering.net>
75858
75859         * lib/backupfile.c (backup_args): Change a `0' to NULL.
75860
75861 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75862
75863         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
75864         declares only 'struct timespec;' (!).
75865
75866 2005-07-01  Jim Meyering  <jim@meyering.net>
75867
75868         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
75869         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
75870         * lib/save-cwd.c, tempname.c:
75871         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
75872         and don't include <sys/file.h>).
75873
75874 2005-06-29  Jim Meyering  <jim@meyering.net>
75875
75876         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
75877         type name.  Use the variable name instead.
75878         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
75879         Likewise.
75880
75881 2005-06-28  Simon Josefsson  <jas@extundo.com>
75882
75883         * modules/check-version (Files): Add check-version.m4.
75884
75885 2005-06-28  Simon Josefsson  <jas@extundo.com>
75886
75887         * m4/check-version.m4: New file, suggested by Jim Meyering
75888         <jim@meyering.net>.
75889
75890 2005-06-28  Simon Josefsson  <jas@extundo.com>
75891
75892         * lib/check-version.h, lib/check-version.c: New files.
75893
75894 2005-06-28  Simon Josefsson  <jas@extundo.com>
75895
75896         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
75897         collision with global variable.  Better indentation.  Don't
75898         increment buffer pointer beyond buffer end.  Based on comments
75899         from Paul Eggert <eggert@cs.ucla.edu>.
75900
75901         * lib/base64.h: Indent.
75902
75903 2005-06-28  Simon Josefsson  <jas@extundo.com>
75904
75905         * doc/gnulib.texi (Library version handling): New section.
75906
75907 2005-06-28  Jim Meyering  <jim@meyering.net>
75908
75909         * check-module (find_included_lib_files): Hard-code another
75910         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
75911         but modules/fts-lgpl (correctly) does not list those files.
75912
75913         * modules/canonicalize (Files): Add lib/pathmax.h.
75914
75915 2005-06-25  Simon Josefsson  <jas@extundo.com>
75916
75917         * modules/check-version: New file.
75918
75919 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
75920
75921         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
75922         initializer of struct addrinfo, as an indication that we don't
75923         care how many members the structure has.
75924
75925 2005-06-24  Derek Price  <derek@ximbiot.com>
75926         and Bruno Haible  <bruno@clisp.org>
75927
75928         Remove stat module & update lstat.
75929         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
75930         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
75931         * m4/stat.m4: Remove this file.
75932
75933 2005-06-24  Derek Price  <derek@ximbiot.com>
75934         and Bruno Haible  <bruno@clisp.org>
75935
75936         Remove stat module & update lstat.
75937         * lib/stat.c: Remove this file...
75938         (slash_aware_lstat): ...moving this content and its support...
75939         * lib/lstat.c (rpl_lstat): ...into here.
75940         * lib/lstat.h: New file.
75941
75942 2005-06-24  Derek Price  <derek@ximbiot.com>
75943         and Bruno Haible  <bruno@clisp.org>
75944
75945         Remove stat module & update lstat.
75946         * config/srclist.txt (libc sources): Remove stat.
75947
75948 2005-06-24  Derek Price  <derek@ximbiot.com>
75949         and Bruno Haible  <bruno@clisp.org>
75950
75951         Remove stat module & update lstat.
75952         * MODULES.html.sh (stat): Remove.
75953         * MODULES.html: Regenerated.
75954         * modules/lstat (Description): Correct function name.
75955         (Files): Add "lstat.h".
75956         (Depends-on): Remove stat, add xalloc, stat-macros.
75957         * modules/stat: Remove this file.
75958         (Include): Add "lstat.h", remove <sys/stat.h>.
75959
75960 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
75961
75962         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
75963         (ranged_convert): Don't save conversion in a temporary struct.
75964         This causes a warning with GCC 4.0.0, and anyway in the typical
75965         case it's not worth the extra 100 bytes or so of code.
75966         (ranged_convert, __mktime_internal): When calling a function via a
75967         pointer P, use P () rather than (*P) (), as we now assume C89 or
75968         better.
75969
75970 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75971
75972         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
75973         "who -r" failed to give output.  Problem reported by Tim Waugh.
75974
75975         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
75976         (xcalloc): Use it to avoid needless tests.
75977         Problem reported by Jim Meyering.
75978
75979 2005-06-20  Derek Price  <derek@ximbiot.com>
75980
75981         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
75982         unnecessary for Autoconfs > 2.59c.
75983
75984 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75985
75986         * lib/argp.h (__option_is_short): Check upper limit of
75987         __key. Isprint() requires its argument to have the value
75988         of an unsigned char or EOF.
75989
75990 2005-06-16  Jim Meyering  <jim@meyering.net>
75991
75992         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
75993         when either N or S is zero.
75994
75995 2005-06-16  Derek Price  <derek@ximbiot.com>
75996
75997         * m4/bison.m4: Declare YACC & YFLAGS precious.
75998
75999 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
76000
76001         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
76002         multibyte string or pattern, fall back on unibyte matching.
76003         Problem reported by James Youngman.
76004
76005 2005-06-08  Bruno Haible  <bruno@clisp.org>
76006
76007         * modules/csharpcomp: New file.
76008         * MODULES.html.sh (C#): Add csharpcomp.
76009
76010 2005-06-08  Bruno Haible  <bruno@clisp.org>
76011
76012         * m4/csharpcomp.m4: New file, from GNU gettext.
76013
76014 2005-06-08  Bruno Haible  <bruno@clisp.org>
76015
76016         * lib/csharpcomp.h: New file, from GNU gettext.
76017         * lib/csharpcomp.c: New file, from GNU gettext.
76018         * lib/csharpcomp.sh.in: New file, from GNU gettext.
76019
76020 2005-06-08  Bruno Haible  <bruno@clisp.org>
76021
76022         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
76023         warning on mingw.
76024
76025 2005-06-07  Derek Price  <derek@ximbiot.com>
76026
76027         Sync from CVS.
76028         * lib/glob_.h: Indent nested #ifdef.
76029
76030 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76031
76032         Sync from coreutils.
76033         Use "file name" when talking about file names, instead of "filename"
76034         or "path", as per the GNU coding standards.
76035         * lib/mkdir-p.c: Renamed from makepath.c.
76036         (make_dir_parents): Renamed from make_path.  All callers changed.
76037         * lib/mkdir-p.h: Likewise.  All includers changed.
76038         * lib/filenamecat.c: Renamed from path-concat.c.
76039         (file_name_concat): Renamed from path_concat.  All callers changed.
76040         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
76041         * lib/filenamecat.h: Likewise.  All includers changed.
76042         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
76043         in comments or local variable names.
76044         * lib/basename.c: Likewise.
76045         * lib/canonicalize.c, canonicalize.h: Likewise.
76046         * lib/dirname.c, dirname.h: Likewise.
76047         * lib/euidaccess.c: Likewise.
76048         * lib/exclude.c: Likewise
76049         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
76050         * lib/fsusage.c, fsuage.h: Likewise.
76051         * lib/fts.c, fts_.h: Likewise.
76052         * lib/getcwd.c: Likewise.
76053         * lib/getloadavg.c: Likewise.
76054         * lib/mkstemp.c: Likewise.
76055         * lib/mountlist.c, mountlist.h: Likewise.
76056         * lib/openat.c, openat.h: Likewise.
76057         * lib/readlink-stub.c: Likewise.
76058         * lib/readutmp.c, readutmp.h: Likewise.
76059         * lib/rename.c: Likewise.
76060         * lib/rmdir.c: Likewise.
76061         * lib/same.c: Likewise.
76062         * lib/savedir.c: Likewise.
76063         * lib/stripslash.c: Likewise.
76064         * lib/tempname.c: Likewise.
76065         * lib/xreadlink.c: Likewise.
76066         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
76067         All uses changed.
76068         * lib/exclude.h: Likewise.
76069
76070         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
76071         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76072         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
76073         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76074         * lib/pathmax.h: Include <limits.h> unconditionally, since other
76075         files have been getting away with it for years (MORE/BSD 4.3
76076         is extinct now).
76077         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
76078         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76079
76080         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
76081         Define to 256, not 255, as per modern POSIX.
76082
76083 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76084
76085         Sync from coreutils.
76086         Use "file name" when talking about file names, instead of "filename"
76087         or "path", as per the GNU coding standards.
76088         * MODULES.html.sh: mkdir-p renamed from makepath.
76089         filenamecat renamed from path-concat.
76090         * modules/filenamecat: Renamed from modules/path-concat.
76091         (Files): filenamecat.h and filenamecat.c renamed from
76092         path-concat.h and path-concat.c.
76093         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
76094         (Include): filenamecat.h, not path-concat.h.
76095         * modules/mkdir-p: Renamed from modules/makepath.
76096         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
76097         makepath.c.
76098         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
76099         (Include): mkdir-p.h, not makepath.h.
76100
76101 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76102
76103         Sync from coreutils.
76104         * m4/mkdir-p.m4: Renamed from makepath.m4.
76105         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
76106         Rename files from makepath.c to mkdir-p.c, and from
76107         makepath.h to mkdir-p.h.
76108         * m4/filenamecat.m4: Renamed from path-concat.m4.
76109         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
76110         Rename files from path-concat.c to filenamecat.c,
76111         and from path-concat.h to filenamecat.h.
76112         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
76113         "file name" in local variables or comments.
76114         * m4/rename.m4: Likewise.
76115
76116 2005-06-01  Bruno Haible  <bruno@clisp.org>
76117
76118         * modules/csharpexec: New file.
76119         * MODULES.html.sh (C#): New section.
76120
76121 2005-06-01  Bruno Haible  <bruno@clisp.org>
76122
76123         * m4/csharp.m4: New file, from GNU gettext.
76124         * m4/csharpexec.m4: New file, from GNU gettext.
76125
76126 2005-06-01  Bruno Haible  <bruno@clisp.org>
76127
76128         * lib/csharpexec.h: New file, from GNU gettext.
76129         * lib/csharpexec.c: New file, from GNU gettext.
76130         * lib/csharpexec.sh.in: New file, from GNU gettext.
76131
76132 2005-05-31  Derek Price  <derek@ximbiot.com>
76133             Paul Eggert  <eggert@cs.ucla.edu>
76134
76135         Sync from cvs.
76136         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76137
76138 2005-05-31  Derek Price  <derek@ximbiot.com>
76139             Paul Eggert  <eggert@cs.ucla.edu>
76140
76141         Sync from cvs.
76142         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76143
76144 2005-05-29  Derek Price  <derek@ximbiot.com>
76145
76146         * config/srclist.txt (glob_.h, glob.c): Add these files.
76147
76148 2005-05-29  Derek Price  <derek@ximbiot.com>
76149
76150         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
76151         * modules/glob: New file.
76152         * modules/getlogin_r: Add link to POSIX spec in description.
76153
76154 2005-05-29  Derek Price  <derek@ximbiot.com>
76155             Paul Eggert  <eggert@cs.ucla.edu>
76156
76157         * m4/glob.m4: New file.
76158
76159 2005-05-29  Derek Price  <derek@ximbiot.com>
76160             Paul Eggert  <eggert@cs.ucla.edu>
76161
76162         * lib/glob_.h, lib/glob.c: New files.
76163
76164 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76165
76166         * modules/fts (Files): Remove m4/inttypes-pri.m4.
76167         * modules/fts-lgpl (Depends-on): Remove gettext.
76168
76169 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76170
76171         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
76172         and don't require gt_INTTYPES_PRI.
76173
76174 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76175
76176         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
76177
76178         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
76179         the configuration hassle isn't worth it.
76180         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
76181         (LONGEST_MODIFIER, PRIuMAX): Remove.
76182
76183 2005-05-27  Bruno Haible  <bruno@clisp.org>
76184
76185         * lib/getlogin_r.h: Remove second include of <stddef.h>.
76186
76187 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
76188
76189         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
76190         _POSIX_PTHREAD_SEMANTICS for Solaris.
76191
76192 2005-05-25  Derek Price  <derek@ximbiot.com>
76193
76194         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
76195
76196 2005-05-25  Derek Price  <derek@ximbiot.com>
76197             Paul Eggert  <eggert@cs.ucla.edu>
76198
76199         * modules/getlogin_r, m4/getlogin_r.m4: New files.
76200         * lib/getlogin_r.c, getlogin_r.h: New files.
76201
76202 2005-05-25  Bruno Haible  <bruno@clisp.org>
76203             Derek Price  <derek@ximbiot.com>
76204
76205         * lib/getlogin_r.h: Simplify API documentation.
76206
76207 2005-05-23  Derek Price  <derek@ximbiot.com>
76208
76209         * modules/minmax (Files): Add m4/minmax.m4.
76210         (configure.ac): Add gl_MINMAX.
76211
76212 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76213
76214         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
76215         so that unistd-safer.h (GPL'ed code) need not be included.
76216
76217 2005-05-22  Bruno Haible  <bruno@clisp.org>
76218
76219         * m4/minmax.m4: New file.
76220         Based on a patch by Derek Price <derek@ximbiot.com>.
76221
76222 2005-05-22  Bruno Haible  <bruno@clisp.org>
76223
76224         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
76225         (INT64_MIN): Fix definition.
76226         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
76227
76228         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
76229         NEED_SIGNED_INT_TYPES.
76230
76231         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
76232         HAVE_SYSTEM_INTTYPES.
76233
76234 2005-05-22  Bruno Haible  <bruno@clisp.org>
76235
76236         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
76237         Also include <sys/param.h> if it defines MIN, MAX.
76238         Based on a patch by Derek Price <derek@ximbiot.com>.
76239
76240 2005-05-21  Jim Meyering  <jim@meyering.net>
76241
76242         * modules/fts (Files): Add m4/inttypes-pri.m4.
76243         (Depends-on): Add lstat and remove gettext.  Alphabetize.
76244
76245 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76246
76247         New fts module.
76248         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
76249         (setup_dir, free_dir): New functions.
76250         (enter_dir, leave_dir): Define trivial
76251         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
76252         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
76253         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
76254         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
76255         Move to fts-cycle.c.
76256         (fts_open): Use setup_dir.
76257         (fts_close): Use free_dir.
76258         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
76259         This adds a label and some gotos, but the alternatives were messier.
76260         Check for memory allocation failure when entering a dir.
76261         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
76262         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
76263         (FTS): New member fts_cycle, that is a union that contains the
76264         old active_dir_ht and cycle_state.  All uses changed to mention
76265         fts_cycle.ht and fts_cycle.state.
76266         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
76267         fts.c, with the following changes:
76268         (setup_dir, free_dir): New functions.
76269         (enter_dir): Now returns bool.  Return true if successful, false
76270         if memory exhausted.  All callers changed.
76271         Do not bother partly cleaning up on
76272         memory allocation failure; that is free_dir's job.
76273         However, free ad if hash_insert fails, to avoid memory leak.
76274         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
76275         fts->fts_options to see which union member to use.
76276
76277 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76278
76279         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
76280         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
76281
76282 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76283
76284         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
76285
76286 2005-05-20  Jim Meyering  <jim@meyering.net>
76287
76288         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
76289         Now a macro, to pacify GCC.
76290
76291 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76292
76293         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
76294         of -1.
76295
76296 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76297
76298         * lib/chown.c (rpl_chown): Return -1 on failure.
76299
76300 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76301
76302         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
76303         Don't check for stddef.h.
76304         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
76305         don't use its results.
76306         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
76307         since we include them unconditionally.  Don't require
76308         AM_STDBOOL_H, since stdbool is a prerequisite.
76309         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
76310         since we assume C89 or better.
76311         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
76312         as we don't use their results.
76313         Don't check for fchdir, memmove, memset, strrchr, as we use
76314         them unconditionally.
76315         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
76316         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
76317
76318 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76319
76320         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
76321         Include <stddef.h> unconditionally, since we assume C89 now.
76322         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
76323         * lib/fts.c: Include fts_.h first, to check interface.
76324         Do not include intprops.h; no longer needed.
76325         Include cycle-check.h and hash.h, since fts_.h no longer does.
76326         Remove unnecessary casts of closedir to void.
76327         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
76328         decide whether to decrement nlinks.
76329         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
76330         (FTS): Use struct hash_table * instead of Hash_table, so that
76331         we no longer need to include hash.h here.
76332
76333 2005-05-18  Jim Meyering  <jim@meyering.net>
76334
76335         * modules/dirfd (License): Change to LGPL.  Most of the code
76336         is already in the public domain.
76337
76338 2005-05-18  Jim Meyering  <jim@meyering.net>
76339
76340         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
76341         Reported by Yoann Vandoorselaere.
76342
76343 2005-05-17  Jim Meyering  <jim@meyering.net>
76344
76345         * m4/fts.m4: New file, from coreutils.
76346
76347 2005-05-17  Jim Meyering  <jim@meyering.net>
76348
76349         * lib/fts.c, lib/fts_.h: New files, from coreutils.
76350
76351 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76352
76353         Sync from coreutils.
76354         * m4/unlinkdir.m4: New file.
76355
76356 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76357
76358         Sync from coreutils.
76359         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
76360         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
76361         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
76362         White space changes only.
76363         * lib/makepath.c (make_path): Port to hosts where leading "//" is
76364         special.
76365         * lib/yesno.c: Include getline.h, not ctype.h.
76366         (yesno): Don't remove leading white space; POSIX doesn't allow it.
76367         Use getline to remove arbitrary restriction on response length.
76368
76369 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76370
76371         * config/srclist-update: Spell out "Street" in FSF postal
76372         mail address; this is the style the FSF seems to prefer.
76373
76374         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
76375         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
76376         this updates FSF postal mail address.
76377
76378         Sync from coreutils.
76379         * modules/unlinkdir: New file.
76380         * modules/yesno (Depends-on): Add getline.
76381         * MODULES.html.sh (File system functions): Add unlinkdir.
76382
76383 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76384
76385         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
76386         lib/strsep.h:
76387         Change the initial comment to refer to GPL, not LGPL.
76388         gnulib-tool will change it to LGPL as needed.
76389
76390         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
76391         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
76392         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
76393         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
76394         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
76395         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
76396         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
76397         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
76398         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
76399         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
76400         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
76401         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
76402         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
76403         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
76404         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
76405         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
76406         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
76407         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
76408         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
76409         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
76410         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
76411         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
76412         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
76413         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
76414         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
76415         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
76416         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
76417         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
76418         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
76419         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
76420         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
76421         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
76422         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
76423         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
76424         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
76425         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
76426         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
76427         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
76428         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
76429         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
76430         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
76431         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
76432         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
76433         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
76434         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
76435         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
76436         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
76437         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
76438         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
76439         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
76440         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
76441         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
76442         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
76443         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
76444         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
76445         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
76446         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
76447         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
76448         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
76449         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
76450         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
76451         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
76452         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
76453         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
76454         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
76455         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
76456         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
76457         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
76458         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
76459         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
76460         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
76461         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
76462         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
76463         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
76464         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
76465         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
76466         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
76467         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
76468         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
76469         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
76470         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
76471         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
76472         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
76473         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
76474         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
76475         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
76476         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
76477         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
76478         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
76479         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
76480         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
76481         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
76482         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
76483         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
76484         lib/yesno.c, lib/yesno.h:
76485         Update FSF postal mail address.
76486
76487 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76488
76489         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
76490         tests/test-memmem.c, tests/test-stpncpy.c:
76491         Update FSF postal mail address.
76492
76493 2005-05-13  Bruno Haible  <bruno@clisp.org>
76494
76495         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
76496         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
76497         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
76498         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
76499         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
76500         Add support for 64-bit integers in the MSVC compiler.
76501
76502 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76503
76504         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
76505
76506 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
76507
76508         * gnulib-tool (func_import): Sort and uniquify recommended includes.
76509
76510 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
76511
76512         * doc/getdate.texi (General date syntax): Don't say that date
76513         date --iso-8601=ns generates acceptable dates; it doesn't yet.
76514         Problem reported by Nic Ferrier.
76515
76516 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76517
76518         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
76519         specified in ai_socktype. Fix invalid ai_protocol
76520         check. ai_protocol is usually set to 0 or depending on
76521         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
76522         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
76523         ai_socktype / ai_protocol in the returned addrinfo structure.
76524
76525 2005-05-10  Simon Josefsson  <jas@extundo.com>
76526
76527         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
76528         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
76529
76530 2005-05-10  Karl Berry  <karl@gnu.org>
76531
76532         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
76533         (from http://www.gnu.org/licenses).
76534         * doc/COPYING.LIB: also rename to COPYING.LESSER.
76535         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
76536         fdl.texi suffices.
76537
76538 2005-05-10  Karl Berry  <karl@gnu.org>
76539
76540         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
76541         (COPYING.DOC): remove.
76542
76543         * config/srclist-update: new FSF address.
76544
76545 2005-05-10  Derek Price  <derek@ximbiot.com>
76546
76547         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
76548         possible.
76549
76550 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76551             Bruno Haible  <bruno@clisp.org>
76552
76553         * modules/inet_ntop: New file.
76554         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76555         inet_ntop.
76556
76557 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76558             Bruno Haible  <bruno@clisp.org>
76559
76560         * m4/inet_ntop.m4: New file.
76561
76562 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76563             Bruno Haible  <bruno@clisp.org>
76564
76565         * lib/inet_ntop.h: New file.
76566         * lib/inet_ntop.c: New file, from glibc with modifications.
76567
76568 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
76569
76570         * modules/time_r (License): Change to LGPL.
76571         * modules/extensions (License): Change to LGPL.  Actually,
76572         the license is more permissive than that, but currently gnulib-tool
76573         doesn't know how to handle more-permissive licenses.
76574
76575         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
76576         Problem reported by Dave Love.
76577
76578 2005-05-08  Jim Meyering  <jim@meyering.net>
76579
76580         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
76581         blank.
76582
76583 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
76584
76585         * modules/argmatch (Depends-on): Add stdbool.
76586         * modules/backupfile (Depends-on): Likewise.
76587         * modules/chdir-long (Depends-on): Likewise.
76588         * modules/closeout (Depends-on): Likewise.
76589         * modules/cycle-check (Depends-on): Likewise.
76590         * modules/dirname (Depends-on): Likewise.
76591         * modules/fnmatch (Depends-on): Likewise.
76592         * modules/fsusage (Depends-on): Likewise.
76593         * modules/fwriteerror (Depends-on): Likewise.
76594         * modules/getcwd (Depends-on): Likewise.
76595         * modules/getloadavg (Depends-on): Likewise.
76596         * modules/hard-locale (Depends-on): Likewise.
76597         * modules/makepath (Depends-on): Likewise.
76598         * modules/mountlist (Depends-on): Likewise.
76599         * modules/nanosleep (Depends-on): Likewise.
76600         * modules/posixtm (Depends-on): Likewise.
76601         * modules/quotearg (Depends-on): Likewise.
76602         * modules/readtokens (Depends-on): Likewise.
76603         * modules/readtokens0 (Depends-on): Likewise.
76604         * modules/readutmp (Depends-on): Likewise.
76605         * modules/save-cwd (Depends-on): Likewise.
76606         * modules/strftime (Depends-on): Likewise.
76607         * modules/userspec (Depends-on): Likewise.
76608         * modules/utimecmp (Depends-on): Likewise.
76609         * modules/xgetcwd (Depends-on): Likewise.
76610         * modules/xnanosleep (Depends-on): Likewise.
76611         * modules/xstrtod (Depends-on): Likewise.
76612         * modules/yesno (Depends-on): Likewise.
76613
76614 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
76615
76616         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
76617         needless checks.
76618
76619 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76620
76621         Merge from coreutils.  Among other things,
76622         add bulletproofing for cases where stdin, stdout, or stderr are closed.
76623         * lib/fd-safer.c: New file.
76624         * lib/fcntl-safer.h, open-safer.c: Remove.
76625         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
76626         * lib/dup-safer.c: Include unistd-safer.h first.
76627         Don't include errno.h.
76628         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
76629         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
76630         * lib/file-type.c: Rely on file-type.h change.
76631         * lib/getloadavg.c: Include unistd-safer.h.
76632         (getloadavg): Use safer open.
76633         * lib/getusershell.c: Include "stdio-safer.h".
76634         (getusershell): Use safer fopen.
76635         * lib/long-options.c (long_options): Use NULL rather than 0.
76636         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
76637         'free'.
76638         * lib/modechange.c: Likewise.
76639         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
76640         (MODE_DONE): New constant.
76641         (struct mode_change): Remove 'next' member.
76642         (make_node_op_equals): New function; like the old one of the
76643         same name, except it allocates an array.
76644         (mode_compile, mode_create_from_ref): Use it.
76645         (mode_compile): Allocate result as an array, not a linked list.
76646         Parse octal string ourself, so that we catch mistakes like "+0".
76647         (mode_adjust): Arg is an array, not a linked list.
76648         * lib/modechange.c: Include stat-macros.h, xalloc.h.
76649         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
76650         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
76651         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
76652         Remove.  This is now stat-macros.h's job.
76653         (talloc): Remove.  All callers replaced by xalloc, so that
76654         our invokers don't have to worry about reporting memory failures.
76655         (make_node_op_equals): Remove.
76656         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
76657         New constants.
76658         (struct mode_change): Moved here from modechange.h.
76659         (mode_append_entry): Remove.
76660         (mode_compile): Remove MASKED_OPS arg, since it encouraged
76661         apps to have incorrect behavior.  Use simpler algorithm for head
76662         and tail.  Don't futz with umask; that's now the job of mode_adjust.
76663         Detect more invalid usages rather than having somewhat-random behavior.
76664         Don't insert an "a=" action, as that leads to incorrect behavior.
76665         (mode_compile, mode_create_from_ref): Return NULL on error instead
76666         of an enum, since now there's only one way to have an error.  All
76667         callers changed.
76668         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
76669         at the correct time.  Simplify calculation of "+u" and its ilk.
76670         Don't mishandle "+X".
76671         (mode_free): Remove "register" and localize decls.
76672         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
76673         (struct mode_change): Move to modechange.c; callers don't
76674         need to see this stuff.
76675         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
76676         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
76677         (mode_change, mode_adjust): Reflect the new signatures noted above.
76678         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
76679         that might redefine system include files.
76680         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
76681         (my_usleep): Use NULL rather than (void *) 0.
76682         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
76683         Use siginterrupt to specify that system calls should be interrupted.
76684         (rpl_nanosleep): Move initialization of suspended closer to call of
76685         my_usleep.
76686         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
76687         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
76688         (desirable_utmp_entry): New function.
76689         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
76690         using x2nrealloc, to simplify logic.
76691         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
76692         size calculation.  Do not assume utmp file is a regular file.
76693         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
76694         (READ_UTMP_CHECK_PIDS): New constant.
76695         * lib/save-cwd.c: Include unistd-safer.h.
76696         (save_cwd): Use fd_safer.
76697         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
76698         [!_LIBC] Include "stat-macros.h" instead.
76699         * lib/unistd-safer.h (fd_safer): New decl.
76700
76701 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76702
76703         * modules/getloadavg (Depends-on): Add unistd-safer.
76704         * modules/getusershell (Depends-on): Add stdio-safer.
76705         * modules/lstat (Depends-on): Remove xalloc.
76706         * modules/mkstemp (Depends-on): Add stat-macros.
76707         * modules/modechange (Depends-on): Remove xstrtol.
76708         Add stat-macros, xalloc.
76709         * modules/save-cwd (Depends-on): Add unistd-safer.
76710         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
76711         * modules/unistd-safer (Files): Add lib/fd-safer.c
76712         (Makefile.am): Remove lib_SOURCES.
76713
76714         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
76715         Remove fcntl-safer; unistd-safer supersedes it.
76716
76717 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76718
76719         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
76720         AC_HEADER_STAT.
76721         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
76722         (gl_PREREQ_CHOWN): Remove.
76723         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
76724         it.  Don't require AC_HEADER_STAT.
76725         (gl_PREREQ_LSTAT): Remove.
76726         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
76727         Don't require AC_HEADER_STAT.
76728         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
76729         (gl_PREREQ_RMDIR): Remove.
76730         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
76731         mention stat-macros.h or AC_HEADER_STAT, since we'll make
76732         the stat-macros module a prerequisite.
76733         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
76734         * m4/filemode.m4 (gl_FILEMODE): Likewise.
76735         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
76736         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
76737         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
76738         variable names.
76739         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
76740         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
76741         variable prefixes.
76742         * m4/fcntl-safer.m4: Remove.
76743         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
76744         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
76745         Invoke gl_PREREQ_FD_SAFER.
76746         (gl_PREREQ_FD_SAFER): New macro.
76747         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
76748         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
76749         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
76750         Remove duplicate call to AC_LIBOBJ(readutmp).
76751         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
76752
76753         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
76754         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
76755
76756 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76757
76758         * MODULES.html.sh (Misc): Add byteswap.
76759
76760 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76761
76762         * modules/getcwd (Depends-on): Add extensions.
76763         * modules/openat (Depends-on): Likewise.
76764
76765 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76766
76767         * modules/byteswap: New file.
76768
76769 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76770
76771         * m4/byteswap.m4: New file.
76772
76773 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76774
76775         * lib/byteswap_.h: New file.
76776
76777 2005-04-25  Karl Berry  <karl@gnu.org>
76778
76779         * m4/gettext.m4: Update from GNU gettext 0.14.4.
76780
76781 2005-04-25  Albert Chin  <china@thewrittenword.com>
76782
76783         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
76784         Toolkit C bug.
76785
76786 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
76787
76788         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
76789         (func_ln_if_changed): Remove forcibly for no error message
76790         in case file does not exist.
76791
76792 2005-04-19  Simon Josefsson  <jas@extundo.com>
76793
76794         * gnulib-tool (Options): Make --symlink mean --symbolic.
76795
76796 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
76797
76798         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
76799
76800 2005-04-16  Simon Josefsson  <jas@extundo.com>
76801
76802         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
76803
76804 2005-04-15  Simon Josefsson  <jas@extundo.com>
76805
76806         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
76807
76808 2005-04-15  Simon Josefsson  <jas@extundo.com>
76809
76810         * gnulib-tool: Rename --symlink to --symbolic.
76811
76812 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
76813
76814         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
76815         symbolic links to files instead of copying/moving.  Add --aux-dir,
76816         specifying directory relative --dir where auxiliary build tools
76817         are placed.
76818
76819 2005-04-14  Bruno Haible  <bruno@clisp.org>
76820
76821         * modules/allocsa (License): Change to LGPL.
76822         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
76823
76824 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
76825
76826         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
76827         that "UTC +1 second" continues to work.  Problem reported
76828         by Dmitry V. Levin.
76829         (relunit_snumber): New rule.
76830         (relunit): Use it.
76831
76832 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
76833
76834         * lib/getdate.y (universal_time_zone_table): New constant.
76835         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
76836         universal_time_zone_table.
76837         (lookup_zone): Prefer universal_time_zone_table to
76838         local_time_zone_table, so that "GMT" time stamps are allowed in
76839         London during the summer.  Problem reported by Ian Abbott.
76840
76841 2005-04-12  Jim Meyering  <jim@meyering.net>
76842
76843         * lib/human.c (humblock): Set *options even when returning due to
76844         xstrtoumax conversion failure.  Thanks to a used-uninitialized
76845         warning from gcc-4.
76846
76847 2005-04-09  Jim Meyering  <jim@meyering.net>
76848
76849         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
76850         -Wuninitialized: initialize tm0.tm_year.
76851
76852 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
76853
76854         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
76855         count, since there's no maximum.  All uses changed.
76856         Add member dsts_seen.
76857         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
76858         not being INT_MAX.
76859         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
76860         Use pc_rels_seen to decide whther a date is absolute.
76861
76862         * lib/getdate.y (number): Don't overwrite year.
76863         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
76864         check.
76865
76866 2005-04-02  Simon Josefsson  <jas@extundo.com>
76867
76868         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
76869         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
76870
76871 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
76872
76873         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
76874         where no absolute path name can be longer than PATH_MAX.
76875
76876 2005-03-27  Jim Meyering  <jim@meyering.net>
76877
76878         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
76879
76880 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
76881
76882         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
76883         "one's complement" -> "ones' complement" in comment, as per Knuth.
76884         "value of type" -> "type or expression" in comment.
76885         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
76886
76887 2005-03-26  Jim Meyering  <jim@meyering.net>
76888
76889         Comment nits.
76890         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
76891         Correct typos: s/or/of/.
76892
76893 2005-03-26  Jim Meyering  <jim@meyering.net>
76894
76895         * modules/check-include-files: Move to ../ and rename to...
76896         * check-module: ...this.
76897
76898 2005-03-25  Jim Meyering  <jim@meyering.net>
76899
76900         * modules/xvasprintf (Files): Add xalloc.h.
76901
76902 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
76903
76904         * modules/gettext (Files): config/config.rpath ->
76905         build-aux/config.rpath
76906         * modules/iconv (Files): Likewise.
76907         Problem reported by Oskar Liljeblad.
76908
76909 2005-03-23  Jim Meyering  <jim@meyering.net>
76910
76911         * modules/check-include-files: New script to check for
76912         missing dependencies, multiple includes, etc.
76913
76914         * modules/c-strtold (Depends-on): Add xalloc.
76915         * modules/c-strtod (Depends-on): Add xalloc.
76916         * modules/hash (Depends-on): Add xalloc.
76917         (Files): Remove lib/xalloc.h.
76918
76919         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
76920         * modules/userspec (Files): Add lib/inttostr.h.
76921
76922 2005-03-23  Jim Meyering  <jim@meyering.net>
76923
76924         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
76925
76926 2005-03-22  Jim Meyering  <jim@meyering.net>
76927
76928         * modules/stat-macros: New module.
76929         * modules/canonicalize, modules/euidaccess, modules/file-type,
76930         * modules/filemode, modules/lchown, modules/makepath,
76931         * modules/rmdir, modules/stat: Depend on new stat-macros module
76932         rather than listing lib/stat-macros.h manually.
76933         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
76934
76935 2005-03-22  Jim Meyering  <jim@meyering.net>
76936
76937         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
76938
76939 2005-03-22  Bruno Haible  <bruno@clisp.org>
76940
76941         * config/srclist.txt: Replace target directory 'config' with
76942         'build-aux'.
76943         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
76944         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
76945         ../build-aux/.
76946
76947 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
76948
76949         * modules/chdir-long (Depends-on): Add mempcpy.
76950
76951         * modules/acl, modules/backupfile, modules/c-strtod,
76952         modules/c-strtold, modules/canon-host, modules/canonicalize,
76953         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
76954         modules/exclude, modules/exitfail, modules/file-type,
76955         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
76956         modules/getdate, modules/getline, modules/getpagesize,
76957         modules/getpass, modules/getugroups, modules/group-member,
76958         modules/hard-locale, modules/hash, modules/human, modules/idcache,
76959         modules/inttostr, modules/long-options, modules/makepath,
76960         modules/md5, modules/memcasecmp, modules/memcoll,
76961         modules/modechange, modules/mountlist, modules/path-concat,
76962         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
76963         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
76964         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
76965         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
76966         modules/strftime, modules/strndup, modules/strverscmp,
76967         modules/timespec, modules/unlocked-io, modules/userspec,
76968         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
76969         modules/yesno:
76970         Remove lib_SOURCES line from Makefile.am section, as this is now
76971         done automatically by the corresponding Autoconf macro.
76972
76973 2005-03-21  Jim Meyering  <jim@meyering.net>
76974
76975         Changes imported from coreutils.
76976
76977         * lib/cycle-check.c: Don't include xalloc.h.
76978
76979         * lib/path-concat.c: Don't include assert.h.
76980         (path_concat): Remove assertion that would have triggered
76981         for ABASE starting with more than one slash.
76982         Reported by Andreas Schwab.
76983
76984         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
76985         properly when ABASE is an absolute file name.
76986         Correct the description of this function.
76987         Include <assert.h>.
76988         Add an assertion and a test driver.
76989         This fixes a bug introduced on 2004-07-02.
76990         Andreas Schwab reported the resulting failure of cp --parents:
76991         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
76992
76993 2005-03-21  Jim Meyering  <jim@meyering.net>
76994
76995         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
76996         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
76997
76998 2005-03-21  Jim Meyering  <jim@meyering.net>
76999         and  Paul Eggert  <eggert@cs.ucla.edu>
77000
77001         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
77002         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
77003         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
77004         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
77005         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
77006         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
77007         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
77008         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
77009         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
77010         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
77011         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
77012         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
77013         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
77014         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
77015         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
77016         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
77017         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
77018         for these modules.
77019
77020 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
77021
77022         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
77023         (which shouldn't happen), generate nothing instead of returning 0
77024         immediately, so that nstrftime (NULL, ...) doesn't return 0.
77025
77026 2005-03-16  Bruno Haible  <bruno@clisp.org>
77027
77028         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
77029         HAVE_LONGLONG_64BIT.
77030
77031 2005-03-16  Bruno Haible  <bruno@clisp.org>
77032
77033         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
77034         HAVE_LONGLONG_64BIT.
77035
77036 2005-03-16  Bruno Haible  <bruno@clisp.org>
77037
77038         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
77039         HAVE_LONGLONG_64BIT.
77040
77041 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77042
77043         * lib/strftime.c (my_strftime): Prepend space to format so that we can
77044         reliably distinguish strftime failure from empty output on POSIX
77045         hosts.
77046
77047 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77048
77049         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
77050         (iconv_string): Don't guess a size-zero buffer, as that might cause
77051         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
77052         result would be 'too large', where 'too large' is (heuristically)
77053         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
77054         overflow concerns.  This will prevent some unwanted malloc failures
77055         when the inputs are very large.
77056
77057 2005-03-15  Karl Berry  <karl@gnu.org>
77058
77059         * config/srclist.txt (config.rpath): from gettext.
77060         * config/config.rpath: update.
77061
77062 2005-03-15  Bruno Haible  <bruno@clisp.org>
77063
77064         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
77065         to 'negate'.
77066
77067         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
77068         variable.
77069
77070         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
77071         results.
77072
77073 2005-03-14  Simon Josefsson  <jas@extundo.com>
77074
77075         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
77076         <fx@gnu.org>.
77077
77078 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
77079
77080         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
77081         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
77082         intprops.h.
77083         * lib/strtol.c: Likewise.
77084
77085 2005-03-14  Jim Meyering  <jim@meyering.net>
77086
77087         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
77088         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
77089         to be nonzero so that we (and caller) can detect the difference
77090         between a valid zero-length expansion and an error return, even
77091         when the underlying strftime fails before writing anything into
77092         that location.
77093
77094 2005-03-14  Bruno Haible  <bruno@clisp.org>
77095
77096         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
77097         Update from GNU gettext 0.14.3.
77098
77099 2005-03-10  Jim Meyering  <jim@meyering.net>
77100
77101         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
77102
77103 2005-03-10  Jim Meyering  <jim@meyering.net>
77104
77105         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
77106         so that this module works on systems without fchdir.
77107
77108 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
77109
77110         Factor int-properties macros into a single file, except for
77111         glibc-related files.
77112         * lib/intprops.h: New file.
77113         * lib/getloadavg.c: Include it instead of limits.h.
77114         (INT_STRLEN_BOUND): Remove.
77115         * lib/human.c: Include intprops.h.
77116         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
77117         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
77118         302/1000.
77119         * lib/inttostr.h: Include intprops.h instead of limits.h.
77120         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
77121         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
77122         for consistency with intprops.h.
77123         (time_t_is_integer, twos_complement_arithmetic): Use them.
77124         * lib/sig2str.h: Include <signal.h>, intprops.h.
77125         (INT_STRLEN_BOUND): Remove.
77126         * lib/strftime.c (TYPE_SIGNED): Remove.
77127         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
77128         * lib/strtol.c: Adjust comments to match intprops.h.
77129         * lib/userspec.c: Include intprops.h.
77130         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
77131         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
77132         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
77133         instead of rolling our own expressions.
77134         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
77135
77136         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
77137         instead of int.
77138         (my_strftime): Do not mishandle years close to INT_MAX, by doing
77139         the right thing even if adding 1900 would overflow.  Similarly
77140         for tm_mon + 1 and tm_yday + 1.
77141         Make %Y always equivalent to %C%y, and similarly for %G and %g.
77142         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
77143         (DO_SIGNED_NUMBER): New macro.
77144         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
77145
77146 2005-03-07  Bruno Haible  <bruno@clisp.org>
77147
77148         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
77149
77150 2005-03-07  Bruno Haible  <bruno@clisp.org>
77151
77152         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
77153
77154 2005-03-04  Derek R. Price  <derek@ximbiot.com>
77155
77156         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
77157         (func_import): Only replace files via --import when they have actually
77158         changed.
77159
77160 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77161
77162         * m4/mmap-anon.m4: New file.
77163         * m4/pagealign_alloc.m4: New file.
77164
77165 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77166             Bruno Haible  <bruno@clisp.org>
77167
77168         * modules/pagealign_alloc: New file.
77169         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
77170
77171 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77172             Bruno Haible  <bruno@clisp.org>
77173
77174         * lib/pagealign_alloc.h: New file.
77175         * lib/pagealign_alloc.c: New file.
77176
77177 2005-03-03  Bruno Haible  <bruno@clisp.org>
77178
77179         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
77180         Use an all-permissive copyright notice, recommended by RMS.
77181
77182 2005-03-02  Bruno Haible  <bruno@clisp.org>
77183
77184         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
77185         of AIX, the replacement has to be done only after <string.h> is
77186         included, therefore not in config.h. stpncpy.h does the replacement,
77187         and stpncpy.c uses it.
77188
77189 2005-03-02  Bruno Haible  <bruno@clisp.org>
77190
77191         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
77192         stpncpy.c uses it.
77193
77194 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77195
77196         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
77197         The workaround isn't strictly needed for POSIX conformance, and
77198         it's too much of a pain to configure and maintain.  We'll ask
77199         people to fix their kernels instead.
77200         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
77201         (NANOSLEEP_BUG_WORKAROUND): Remove.
77202         (xnanosleep): Remove the workaround.
77203
77204 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77205
77206         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
77207         Reported by Derek Price.
77208         (Include): Add "timespec.h".
77209
77210         * modules/xnanosleep (Depends-on): Remove gethrxtime.
77211
77212 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77213
77214         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
77215         to detect nanosleep bug.
77216
77217 2005-03-01  Bruno Haible  <bruno@clisp.org>
77218
77219         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
77220
77221 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
77222
77223         * modules/gethrxtime: New file.
77224         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
77225         (Depends-on): Add gethrxtime.
77226         (configure.ac): Add gl_XNANOSLEEP.
77227         (Makefile.am): Remove lib_SOURCES line.
77228
77229 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77230
77231         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
77232         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
77233
77234 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77235
77236         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
77237         * lib/timespec.h (gettime): Return void, since it always
77238         succeeds now.  All uses changed.
77239         * lib/gettime.c (gettime): Likewise.
77240         [HAVE_NANOTIME]: Prefer nanotime.
77241         Assume gettimeofday succeeds, as POSIX requires.
77242         Assime time () succeeds, since other code already does.
77243         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
77244         (timespec_subtract): Remove.
77245         (NANOSLEEP_BUG_WORKAROUND): New constant.
77246         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
77247         things considerably.  Use it only on GNU/Linux hosts, since the
77248         workaround shouldn't be needed elsewhere.
77249
77250 2005-02-24  Bruno Haible  <bruno@clisp.org>
77251
77252         * modules/gettext (Files): Add m4/glibc2.m4.
77253
77254 2005-02-24  Bruno Haible  <bruno@clisp.org>
77255
77256         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
77257         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
77258         * m4/progtest.m4:
77259         Update from GNU gettext 0.14.2.
77260         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
77261
77262 2005-02-24  Bruno Haible  <bruno@clisp.org>
77263
77264         * lib/localcharset.c: Update from GNU gettext 0.14.2.
77265         * lib/config.charset: Update from GNU gettext 0.14.2.
77266
77267 2005-02-24  Bruno Haible  <bruno@clisp.org>
77268
77269         * lib/gettext.h: Update from GNU gettext 0.14.2.
77270
77271 2005-02-23  Simon Josefsson  <jas@extundo.com>
77272
77273         * m4/iconvme.m4: New file.
77274
77275 2005-02-23  Jim Meyering  <jim@meyering.net>
77276
77277         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
77278         change.
77279         Thanks to Bruno Haible for catching it.
77280
77281 2005-02-22  Simon Josefsson  <jas@extundo.com>
77282
77283         * modules/iconvme: New file.
77284
77285         * MODULES.html.sh: Add iconvme.
77286
77287 2005-02-22  Simon Josefsson  <jas@extundo.com>
77288
77289         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
77290
77291 2005-02-22  Simon Josefsson  <jas@extundo.com>
77292
77293         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
77294
77295 2005-02-22  Jim Meyering  <jim@meyering.net>
77296
77297         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
77298         s/ifndef/ifdef/.
77299
77300 2005-02-20  Neil Conway  <neilc@samurai.com>
77301
77302         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
77303         returned by OSX/Darwin if the specified buffer is not large
77304         enough for the hostname.
77305
77306 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77307
77308         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
77309         pass it to _help, otherwise the latter coredumps trying to
77310         dereference state.root_argp.
77311
77312 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77313
77314         * modules/chdir-long (Depends-on): Add memrchr.
77315         * modules/memrchr (Files): Add lib/memrchr.h.
77316         (Include): "memrchr.h".
77317
77318 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77319
77320         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
77321
77322 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77323
77324         * lib/memrchr.h: New file.
77325         * lib/chdir-long.c: Include it.
77326         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
77327         Don't bother including stddef.h.
77328
77329 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
77330
77331         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
77332         inclusion.
77333         Include <sys/types.h>, for dev_t.
77334         (ME_DUMMY, ME_REMOTE): Move from here....
77335         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
77336         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
77337         Dmitry V. Levin.
77338         Include mountlist.h first, to test the interface.
77339
77340 2005-01-29  Bruno Haible  <bruno@clisp.org>
77341
77342         * lib/progname.c (program_name): Initialize.
77343         Needed when linking statically on MacOS X.
77344
77345 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77346
77347         Sync from coreutils.
77348         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
77349         (Depends-on): Add c-strtod.
77350         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
77351
77352 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77353
77354         Sync from coreutils.
77355         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
77356
77357         Remove files that are specific to coreutils.
77358         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
77359
77360 2005-01-28  Bruno Haible  <bruno@clisp.org>
77361
77362         * modules/javacomp: New file.
77363         * MODULES.html.sh (Java): Add javacomp.
77364
77365 2005-01-28  Bruno Haible  <bruno@clisp.org>
77366
77367         * m4/javacomp.m4: New file, from GNU gettext.
77368
77369 2005-01-28  Bruno Haible  <bruno@clisp.org>
77370
77371         * lib/javacomp.sh.in: New file, from GNU gettext.
77372         * lib/javacomp.h: New file, from GNU gettext.
77373         * lib/javacomp.c: New file, from GNU gettext.
77374
77375 2005-01-26  Simon Josefsson  <jas@extundo.com>
77376
77377         * lib/gai_strerror.c: Use GPL in header.
77378
77379 2005-01-26  Bruno Haible  <bruno@clisp.org>
77380
77381         * modules/javaexec: New file.
77382         * MODULES.html.sh (Java): Add javaexec.
77383
77384 2005-01-26  Bruno Haible  <bruno@clisp.org>
77385
77386         * m4/javaexec.m4: New file, from GNU gettext.
77387
77388 2005-01-26  Bruno Haible  <bruno@clisp.org>
77389
77390         * lib/javaexec.sh.in: New file, from GNU gettext.
77391         * lib/javaexec.h: New file, from GNU gettext.
77392         * lib/javaexec.c: New file, from GNU gettext.
77393
77394 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77395
77396         * modules/lchown (Depends-on): Remove lchown.h
77397
77398 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77399
77400         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
77401         must be defined if the header file was not found, in order
77402         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
77403
77404 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77405
77406         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
77407         initializers for struct pentry_state.
77408         (__argp_error): Check return value of __asprintf
77409         (__argp_failure): Translate error message
77410
77411         * lib/argp-parse.c: Removed braces around the expansion of N_()
77412
77413 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77414
77415         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
77416         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
77417         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
77418         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
77419         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
77420         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
77421         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
77422         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
77423         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
77424         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
77425         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
77426         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
77427         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
77428         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
77429         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
77430         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
77431         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
77432         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
77433         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
77434         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
77435         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
77436         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
77437         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
77438         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
77439         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
77440         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
77441         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
77442         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
77443         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
77444         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
77445         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
77446         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
77447         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
77448         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
77449         xstrtol.m4, xstrtoumax.m4, yesno.m4:
77450         Use an all-permissive copyright notice, recommended by RMS.
77451
77452 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
77453
77454         * modules/chdir-long (Depends-on): Remove mempcpy.
77455
77456 2005-01-21  Jim Meyering  <jim@meyering.net>
77457
77458         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
77459         same value as for Solaris 9.
77460
77461         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
77462         component length.  This included changing the parameter to be
77463         of type `char *' rather than `char const *'.
77464         * lib/chdir-long.h (chdir_long): Update prototype.
77465
77466         * lib/openat.c (fdopendir, fstatat): New functions.
77467         * lib/openat.h: Include headers required for use of DIR and struct
77468         stat.
77469         [AT_SYMLINK_NOFOLLOW]: Define.
77470         (fdopendir, fstatat): Add prototypes.
77471
77472 2005-01-21  Bruno Haible  <bruno@clisp.org>
77473
77474         * modules/classpath: New file.
77475         * MODULES.html.sh (Java): Add classpath.
77476
77477 2005-01-21  Bruno Haible  <bruno@clisp.org>
77478
77479         * lib/classpath.h: New file, from GNU gettext.
77480         * lib/classpath.c: New file, from GNU gettext.
77481
77482 2005-01-20  Simon Josefsson  <jas@extundo.com>
77483
77484         * modules/version-etc-fsf: New file.
77485
77486 2005-01-20  Simon Josefsson  <jas@extundo.com>
77487
77488         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
77489         * lib/version-etc.c: Remove version_etc_copyright.
77490         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
77491         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
77492
77493 2005-01-20  Simon Josefsson  <jas@extundo.com>
77494
77495         * lib/base64.h (isbase64): Add.
77496
77497         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
77498         using a unsigned prototype, don't inline.
77499         (base64_decode): Use it.
77500
77501 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77502
77503         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
77504         it.
77505
77506 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77507
77508         * lib/save-cwd.c (save_cwd): Remove code to support the case
77509         where fchdir is missing or flaky.
77510
77511 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77512
77513         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
77514
77515 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
77516
77517         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
77518         AC_LIBSOURCES now does this.
77519         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
77520         with new ullong_max module.
77521
77522 2005-01-19  Bruno Haible  <bruno@clisp.org>
77523
77524         * modules/sh-quote: New file.
77525         * MODULES.html.sh (Executing programs): Add sh-quote.
77526
77527 2005-01-19  Bruno Haible  <bruno@clisp.org>
77528
77529         * lib/sh-quote.h: New file, from GNU gettext.
77530         * lib/sh-quote.c: New file, from GNU gettext.
77531
77532 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77533
77534         Merge from coreutils.
77535         * m4/ullong_max.m4: New file.
77536         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
77537         (gl_MACROS): Assume localeconv exists.
77538
77539 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77540
77541         Merge changes from coreutils, as described below in several
77542         changelogs dated today.
77543
77544         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
77545         (O_DIRECTORY): Remove; not needed here, since "." must be
77546         a directory.  All uses removed.
77547         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
77548         universal on Suns, and we also need to test for IRIX.
77549         Revamp code to use 'if' rather than '#if'.
77550         Avoid unnecessary comparison of cwd->desc to 0.
77551
77552         * lib/utimens.c (futimens): Robustify the previous patch, by checking
77553         for known valid error numbers rather than observed invalid ones.
77554
77555 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77556
77557         * modules/ullong_max: New file.
77558
77559         * modules/chdir-long, modules/openat: New files.
77560         * modules/save-cwd (Depends-on): Depend on chdir-long.
77561         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
77562
77563 2005-01-18  Jim Meyering  <jim@meyering.net>
77564
77565         Merge from coreutils.
77566         * m4/chdir-long.m4, m4/openat.m4: New files.
77567         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
77568         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
77569         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
77570         is sane and DOES follow symlinks.  Besides, testing 20 different
77571         systems found no broken chown implementations.
77572         Prompted by a change in rsync's copy of this macro.
77573         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
77574
77575         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
77576
77577         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
77578         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
77579         NULL-means-set-to-current-time semantics.
77580         Remove temporary file immediately, rather than waiting
77581         for configure's at-exit trap code to do it.
77582
77583 2005-01-18  Jim Meyering  <jim@meyering.net>
77584
77585         * lib/version-etc.c (version_etc_copyright): Update copyright date.
77586
77587         * lib/utimens.c (futimens): Account for the fact that futimes
77588         can also fail with errno == ENOSYS or errno == ENOENT.
77589         Patch from Dmitry V. Levin.
77590
77591         Change the name of the robust chdir function from chdir to chdir_long.
77592         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
77593         (restore_cwd): Use chdir_long, not chdir.
77594         * lib/chdir-long.c: Renamed from chdir.c.
77595         * lib/chdir-long.h: Renamed from chdir.h.
77596         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
77597         Hurd.
77598
77599 2005-01-18  Bruno Haible  <bruno@clisp.org>
77600
77601         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
77602         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
77603         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
77604         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
77605         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
77606         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
77607         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
77608         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
77609         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
77610         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
77611         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
77612         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
77613         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
77614         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
77615         Use an all-permissive copyright notice, recommended by RMS.
77616
77617 2005-01-18  Bob Proulx  <bob@proulx.com>
77618
77619         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
77620         simplify offsetof() macro construct to avoid compile failure with
77621         native HP-UX 11.0 ANSI C compiler.
77622
77623 2005-01-17  Bruno Haible  <bruno@clisp.org>
77624
77625         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
77626         redundant because stpncpy.m4 takes care of it.
77627
77628 2005-01-17  Bruno Haible  <bruno@clisp.org>
77629
77630         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
77631
77632 2005-01-17  Bruno Haible  <bruno@clisp.org>
77633
77634         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
77635         used.
77636
77637 2005-01-17  Bruno Haible  <bruno@clisp.org>
77638
77639         * lib/fwriteerror.h (fwriteerror): Change specification to include
77640         fclose.
77641         * lib/fwriteerror.c: Include <stdbool.h>.
77642         (fwriteerror): At the end, close the file stream. Record whether
77643         stdout was already closed.
77644
77645 2005-01-17  Bruno Haible  <bruno@clisp.org>
77646
77647         * lib/execute.c (environ): Declare if needed.
77648         * lib/pipe.c (environ): Likewise.
77649         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
77650
77651 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77652
77653         * modules/argp: Depend on vsnprintf
77654
77655 2005-01-10  Jim Meyering  <jim@meyering.net>
77656
77657         * modules/closeout (Depends-on): Add atexit.
77658
77659 2005-01-06  Bruno Haible  <bruno@clisp.org>
77660
77661         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
77662
77663 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77664
77665         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
77666         definitions to be after all include files, to avoid collisions.
77667         Problem reported by Bob Proulx.
77668
77669 2005-01-04  Jim Meyering  <jim@meyering.net>
77670
77671         Changes imported from coreutils.
77672         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
77673         as the mkstemp template, use a temporary directory and an
77674         8.3-friendly template to avoid trouble on systems like DJGPP.
77675         Reported by Juan M. Guerrero via Stepan Kasal.
77676         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
77677         close. Remove the temporary directory right away, rather than waiting
77678         for configure's at-exit trap code to do it.
77679         Suggestion from Stepan Kasal.
77680
77681 2005-01-01  Simon Josefsson  <jas@extundo.com>
77682
77683         * gnulib-tool: Print #include directives when --import'ing.
77684
77685 2004-12-28  Simon Josefsson  <jas@extundo.com>
77686
77687         * tests/test-base64.c: Include required header files.  Remove
77688         unused variables.
77689
77690 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
77691
77692         * modules/error (Depends-on): Remove gettext.
77693
77694 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
77695
77696         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
77697         not needed.  This removes a dependency on the gettext module.
77698         [defined _LIBC]: Do not include <libintl.h>; not needed.
77699
77700 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
77701
77702         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
77703         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
77704
77705 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
77706
77707         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
77708         HAVE_DECL_STRTOLD.
77709
77710 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77711
77712         * modules/getdate (Depends-on): Remove alloca-opt.
77713
77714 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77715
77716         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
77717
77718 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77719
77720         * lib/argp-parse.c: Include <stddef.h>.
77721         (alignof, alignto): New macros.
77722         (parser_init): Don't assume that void * is aligned sufficiently
77723         for struct option.
77724
77725         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
77726         need to extend the stack.
77727         (YYINITDEPTH): New macro, so that the initial stack isn't overly
77728         large.
77729
77730 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77731
77732         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
77733
77734 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
77735
77736         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
77737         (2004-10-24) change.  Apparently this was a false alarm.
77738
77739         * modules/getdate: Depend on alloca-opt, not alloca.
77740
77741 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
77742
77743         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
77744         Remove now-obsolete comment about AIX.
77745         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
77746         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
77747         (YYMAXDEPTH): New macro.
77748
77749 2004-12-18  Simon Josefsson  <jas@extundo.com>
77750
77751         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
77752
77753 2004-12-18  Bruno Haible  <bruno@clisp.org>
77754
77755         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
77756
77757 2004-12-18  Bruno Haible  <bruno@clisp.org>
77758
77759         * lib/fatal-signal.c (fatal_signals): Make non-const.
77760         (init_fatal_signals): New function.
77761         (uninstall_handlers, install_handlers): Ignore signals that were set to
77762         SIG_IGN.
77763         (at_fatal_signal): Call init_fatal_signals.
77764         (init_fatal_signal_set): Likewise. Ignore signals that were set to
77765         SIG_IGN.
77766         Reported by Paul Eggert.
77767
77768 2004-12-18  Bruno Haible  <bruno@clisp.org>
77769
77770         * doc/alloca.texi: New file.
77771         * doc/alloca-opt.texi: New file.
77772
77773 2004-12-17  Jim Meyering  <jim@meyering.net>
77774
77775         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
77776         Otherwise, install-sh could exit with improper exit status when
77777         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
77778
77779 2004-12-16  Simon Josefsson  <jas@extundo.com>
77780
77781         * tests/test-base64.c: Add license.
77782
77783 2004-12-15  Stepan Kasal  <address@hidden>
77784
77785         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
77786
77787 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
77788
77789         * modules/getcwd (Files): Add m4/d-ino.m4.
77790         Suggested by Mark D. Baushke.
77791
77792 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
77793
77794         * lib/getdate.y (textint): New member "negative".
77795         (time_zone_hhmm): New function.
77796         Expect 14 shift-reduce conflicts, not 13.
77797         (o_colon_minutes): New rule.
77798         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
77799         (yylex): Set the "negative" member of signed numbers.
77800
77801 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
77802
77803         * doc/getdate.texi (Time of day items, Time zone items):
77804         Describe new formats +00:00, UTC+00:00.
77805
77806 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77807
77808         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
77809         spurious "-l"s.  Problem reported by Stepan Kasal.
77810
77811 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
77812
77813         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
77814         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
77815
77816 2004-12-04  Simon Josefsson  <jas@extundo.com>
77817
77818         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
77819         Vandoorselaere <yoann@prelude-ids.org>.
77820
77821 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
77822
77823         Changes imported from coreutils.
77824         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
77825         exist.
77826         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
77827
77828 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
77829
77830         Changes imported from coreutils.
77831         * lib/hard-locale.c: Assume <locale.h> exists.
77832         Include "strdup.h".
77833         (GLIBC_VERSION): New macro.
77834         (hard_locale): Assume setlocale exists.
77835         Rewrite to avoid #ifdef.
77836         Use strdup rather than malloc + strcpy.
77837         * lib/human.c: Assume <locale.h> exists.
77838         (human_readable): Assume localeconv exists.
77839
77840 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
77841
77842         * modules/hard-locale (Depends-on): Add strdup.
77843
77844 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
77845
77846         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
77847         convert T2, not T.  (Imported from libc.)
77848
77849 2004-11-30  Simon Josefsson  <jas@extundo.com>
77850
77851         * modules/restrict (License): Change to LGPL.
77852
77853 2004-11-30  Simon Josefsson  <jas@extundo.com>
77854
77855         * m4/restrict.m4: Add copyright and copying conditions.
77856
77857 2004-11-30  Simon Josefsson  <jas@extundo.com>
77858
77859         * m4/base64.m4: New file.
77860
77861 2004-11-30  Simon Josefsson  <jas@extundo.com>
77862
77863         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
77864         base64.
77865
77866         * tests/test-base64.c: New file.
77867
77868         * modules/base64: New file.
77869
77870 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
77871
77872         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
77873         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
77874
77875         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
77876
77877 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
77878
77879         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
77880         (__getcwd.c): Don't restore errno; glibc doesn't.
77881         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
77882         first, falling back to our code only if its results look suspicious.
77883         Ensure that the resulting buffer is only as large as necessary.
77884
77885         * lib/readutmp.c: Include readutmp.h first.
77886         Include <errno.h>, since readutmp.h no longer does that.
77887         * lib/readutmp.h: Don't include <errno.h>,
77888         <sys/param.h>, <time.h>; not needed to establish interface.
77889         (errno): Remove decl.
77890         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
77891         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
77892         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
77893
77894 2004-11-28  Simon Josefsson  <jas@extundo.com>
77895
77896         * lib/base64.h, base64.c: New file.
77897
77898 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
77899
77900         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
77901
77902 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
77903
77904         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
77905         (Depends-on): Remove pathmax, same.  Add mempcpy.
77906         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
77907         (Makefile.am): Append getcwd.h to lib_SOURCES.
77908         (Include): Add getcwd.h.
77909         (Maintainer): Change from Jim Meyering to "all, glibc",
77910         since getdate now uses intended-for-glibc code.
77911         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
77912         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
77913
77914 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
77915
77916         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
77917         HP's ANSI C compiler.
77918         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
77919         Declaring int functions causes warnings on some modern systems and
77920         shouldn't be needed to compile on ancient ones.
77921         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
77922         defined.
77923
77924         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
77925         with the following changes.
77926         (__set_errno): Parenthesize properly.
77927         Include <stdbool.h>.
77928         (MIN, MAX, MATCHING_INO): New macros.
77929         (__getcwd): Define with prototype, not K&R form.
77930         Use heuristics to allocate default buffer on stack if possible.
77931         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
77932         behavior, and to avoid the PATH_MAX limit when computing
77933         ../../../../...
77934         Use MATCHING_INO to compare inode number to file.
77935         Check for arithmetic overflow in size calculations.
77936         Fix bug in reallocation of dot array that caused getcwd to fail
77937         on directories nested deeper than 75.
77938         Be more careful about saving errno on error.
77939         Do not use realloc; use only free+malloc, as this is a bit
77940         more flexible and avoids a needless copy operation.
77941         Do not inspect st_dev and st_ino for symbolic links; POSIX
77942         doesn't specify the latter.
77943         Check for closedir errors.
77944         Avoid needless casts.
77945         Use "#ifdef weak_alias" around weak_alias, to be like other
77946         glibc code.
77947         The following changes to getcwd.c have effect only when used in
77948         gnulib; they have no effect inside glibc proper.
77949         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
77950         as alloca isn't used.
77951         (alloca, __alloca): Likewise.
77952         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
77953         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
77954         unconditionally, as gnulib assumes C89 or better.
77955         Do not include <sys/param.h>.
77956         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
77957         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
77958         better.
77959         (NULL) [!defined NULL]: Remove; we assume C89 or better.
77960         Include <dirent.h> in a way that is compatible with modern Autoconf.
77961         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
77962         New macros, if not already defined.
77963         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
77964         Use "_LIBC", not "defined _LIBC", for consistency.
77965         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
77966         a mempcpy module.
77967         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
77968         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
77969         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
77970         credit only to Jim Meyering and adjust the copyright dates.
77971         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
77972         <stdlib.h>, <unistd.h>, "pathmax.h".
77973         Instead, include "xgetcwd.h" (first) and "getcwd.h".
77974         (INITIAL_BUFFER_SIZE): Remove.
77975         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
77976
77977 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
77978
77979         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
77980         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
77981         Use the _ONCE methods, for efficiency.
77982         Check for fcntl.h.  In test program, include <errno.h>
77983         and <fcntl.h> if available.  Remove old K&R cruft from
77984         test program.  Check for common errors in GNU/Linux,
77985         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
77986         don't do AC_LIBOBJ, as that's getcwd.m4's job.
77987         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
77988         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
77989         name accordingly.
77990         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
77991         accommodate new getcwd.c.
77992         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
77993         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
77994         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
77995         that's all we need now.
77996
77997 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77998
77999         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
78000         argp-parse.c depends on getopt internals, that means we should
78001         always use our getopt, to be on the safe side.
78002         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
78003         order not to spoil the result of an eventual previous invocation
78004         of gl_GETOPT_SUBSTITUTE.
78005
78006 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78007
78008         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
78009         redefinition warnings. To avoid them, include the defines
78010         in `#if !defined __need_getopt ... #endif'. The only place
78011         where __getopt_argv_const is used is in definitions
78012         of getopt_long and getopt_long_only below, which are as well
78013         protected by `#ifndef __need_getopt'.
78014         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
78015         __need_getopt after including <stdio.h> and <unistd.h> These
78016         headers might have defined it.
78017
78018 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78019
78020         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
78021
78022 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78023
78024         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
78025         (futimens): New function, which uses futimes if available.
78026         (futimens, utimens): Support timespec==NULL, with same semantics
78027         as utime and utimens.
78028         * lib/utimens.h (futimens): New decl.
78029
78030 2004-11-23  Jim Meyering  <jim@meyering.net>
78031
78032         * lib/getopt_.h: Remove trailing blanks.
78033
78034 2004-11-23  Jim Meyering  <jim@meyering.net>
78035
78036         * lib/__fpending.c: Add comment.
78037
78038 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
78039
78040         * modules/canonicalize (Depends-on): Add xreadlink.
78041         Problem reported by James Youngman.
78042
78043 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
78044
78045         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
78046         New macros.
78047         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
78048         optopt): Use them instead of invoking ## directly; otherwise, the
78049         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
78050
78051 2004-11-19  Bruno Haible  <bruno@clisp.org>
78052
78053         * lib/strtok_r.c: Move comments from here...
78054         * lib/strtok_r.h: ... to here.
78055
78056 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78057
78058         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
78059         implementations that mishandle size_t overflow.
78060
78061 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78062
78063         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
78064         might fail.  Problem reported by Yoann Vandoorselaere.
78065         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
78066         implementations that mishandle size_t overflow.
78067
78068 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78069
78070         * modules/canon-host (Depends-on): Add strdup.
78071
78072 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78073
78074         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
78075
78076 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78077
78078         * lib/canon-host.c: Include "strdup.h".
78079         (canon_host): Use getaddrinfo if available, so that IPv6 works.
78080         Use strdup instead of malloc/strcpy to duplicate strings.
78081
78082         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
78083         (human_space_before_unit): New constant.
78084         * lib/human.c (human_readable): Support it.
78085
78086         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
78087         (xgetcwd): Set errno correctly when failing.
78088         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
78089         the failure is actually due to a PATH_MAX problem.
78090
78091         Further getopt changes to make it more likely that glibc will
78092         buy the changes back.
78093         * lib/getopt.c (POSIXLY_CORRECT): New constant.
78094         (getopt): Use it, so to preserve glibc semantic
78095         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
78096         when compiling for libc.
78097         * lib/getopt_.h (__getopt_argv_const): Bring it back.
78098         (getopt_long, getopt_long_only): Use it.
78099
78100         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78101         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
78102         (getopt): Argv is now char * const *, as per standard.
78103         (_getopt_internal_r, _getopt_internal): Argv is now char **,
78104         not char *__getopt_argv_const *.
78105         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78106         _getopt_long_only_r): Likewise.
78107         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
78108         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78109         _getopt_long_r, _getopt_long_only_r): Likewise.
78110         * lib/getopt_.h (__getopt_argv_const): Remove.
78111         (getopt): Argv is now char * const *, as per standard.
78112
78113         * lib/getdate.y (tORDINAL): New token.
78114         (day, relunit): Allow it for relative times.
78115         (relative_time_table): Use tORDINAL for ordinals.
78116
78117 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78118
78119         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
78120         Document that "second" isn't allowed as an ordinal number.
78121
78122 2004-11-16  Jim Meyering  <jim@meyering.net>
78123
78124         * modules/closeout (Depends-on): Add fpending.
78125
78126 2004-11-15  Jim Meyering  <jim@meyering.net>
78127
78128         * lib/closeout.c: Include "__fpending.h" once again.
78129         Include <stdbool.h>.
78130         (close_stdout): Don't fail just because stdout was closed initially,
78131         since some programs don't write to stdout in the normal course of
78132         operation (other than --version and --help), and we don't want this
78133         function to make e.g. `touch file >&-' fail.
78134         But do fail if it was closed and someone has tried to write to it.
78135         E.g., `printf foo >&-' must fail.
78136
78137 2004-11-13  Jim Meyering  <jim@meyering.net>
78138
78139         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
78140
78141 2004-11-12  Simon Josefsson  <jas@extundo.com>
78142
78143         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
78144         small doc fix is still pending.
78145
78146 2004-11-11  Simon Josefsson  <jas@extundo.com>
78147
78148         * modules/strtok_r: New file.
78149
78150         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78151         strtok_r.
78152
78153 2004-11-11  Simon Josefsson  <jas@extundo.com>
78154
78155         * m4/strtok_r.m4: New file.
78156
78157         * m4/getopt.m4: Replace opterr.
78158
78159 2004-11-11  Simon Josefsson  <jas@extundo.com>
78160
78161         * lib/strtok_r.h, strtok_r.c: New file.
78162
78163 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78164
78165         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
78166         of replacing opterr, getopt, etc.  This should handle the
78167         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
78168
78169 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78170
78171         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
78172         we can stop lying to compilers about the constness of argv when we
78173         are compiled outside glibc.
78174         (getopt, getopt_long, getopt_long_only): Use it.
78175         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78176         _getopt_internal, getopt): Likewise.
78177         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78178         _getopt_long_only_r): Likewise.
78179         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78180         _getopt_long_r, _getopt_long_only_r): Likewise.
78181
78182         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
78183         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
78184         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
78185         the other external symbols.
78186         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
78187         declaration, since the above renaming now works around collisions.
78188
78189 2004-11-11  Jim Meyering  <jim@meyering.net>
78190
78191         * lib/linebreak.c: Remove trailing blanks.
78192         * lib/alloca_.h: Likewise.
78193         * lib/acosl.c: Likewise.
78194         * lib/euidaccess.c: Likewise.
78195         * lib/allocsa.h: Likewise.
78196
78197 2004-11-10  Simon Josefsson  <jas@extundo.com>
78198
78199         * m4/getaddrinfo.m4: New file.
78200
78201 2004-11-10  Simon Josefsson  <jas@extundo.com>
78202
78203         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
78204
78205 2004-11-10  Simon Josefsson  <jas@extundo.com>
78206
78207         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78208         getaddrinfo.
78209
78210         * modules/getaddrinfo: New file.
78211
78212 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78213
78214         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
78215
78216 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78217
78218         * lib/mktime.c (SHR): New macro, which is a portable
78219         substitute for >> that should work even on Crays.
78220         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
78221         Problem reported by Mark D. Baushke in
78222         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
78223         * lib/getdate.y (SHR): Likewise.
78224         (tm_diff): Use it.
78225         * lib/strftime.c (SHR): Likewise.
78226         (tm_diff): Use it.
78227         * lib/quotearg.c (struct quoting_options): Use unsigned int for
78228         quote_these_too, so that right shifts are well defined.  All uses
78229         changed.
78230
78231 2004-11-10  Jim Meyering  <jim@meyering.net>
78232
78233         Ensure that no close failure goes unreported.
78234         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
78235         return early when it seems there's nothing to flush.
78236         Don't include __fpending.h.
78237
78238 2004-11-10  Jim Meyering  <jim@meyering.net>
78239
78240         * modules/closeout (Depends-on): Remove fpending.
78241
78242 2004-11-10  Jim Meyering  <jim@meyering.net>
78243
78244         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
78245
78246 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78247
78248         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
78249         gl_FUNC_STRFTIME.
78250         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
78251         and AC_REQUIRE when possible, to avoid duplicate checks.
78252         Check for <wchar.h>.
78253
78254 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78255
78256         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
78257
78258 2004-11-09  Bruno Haible  <bruno@clisp.org>
78259
78260         * m4/sockpfaf.m4: New file.
78261
78262 2004-11-05  Bruno Haible  <bruno@clisp.org>
78263
78264         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
78265         Reported by Mark D. Baushke <mdb@cvshome.org>.
78266
78267 2004-11-04  Bruno Haible  <bruno@clisp.org>
78268
78269         2004-09-11  Bruno Haible  <bruno@clisp.org>
78270                 * allocsa.valgrind: New file.
78271         2004-02-06  Bruno Haible  <bruno@clisp.org>
78272                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
78273                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
78274                 Reported by Christopher Seip <chris.seip@hp.com>.
78275
78276 2004-11-04  Bruno Haible  <bruno@clisp.org>
78277
78278         * modules/allocsa (Files): Add lib/allocsa.valgrind.
78279         (Makefile.am): Distribute it.
78280
78281 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
78282
78283         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
78284         with errno == ERANGE if the buffer is too small.
78285         Problem reported by Mark D. Baushke.
78286
78287 2004-11-03  Albert Chin  <china@thewrittenword.com>
78288             Paul Eggert  <eggert@cs.ucla.edu>
78289
78290         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
78291         equivalent, substitute $ac_type for equivalent type rather than
78292         blindly using uint32_t *always* which won't work if uint32_t is not
78293         available.  Define _UINT32_T to work around typedef of uint32_t if
78294         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
78295         2.5.1.
78296
78297 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78298
78299         * m4/jm-macros.m4: Sync from coreutils.
78300         (gl_MACROS): Check for mbrlen, for pathchk.
78301         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
78302
78303 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78304
78305         * lib/xreadlink.c (MAXSIZE): New macro.
78306         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
78307         size does not exceed MAXSIZE.  Avoid cast.
78308         As suggested by Mark D. Baushke in
78309         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
78310         if readlink fails with buffer size just under MAXSIZE, try again
78311         with MAXSIZE.
78312
78313 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78314
78315         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
78316
78317 2004-11-02  Derek R. Price  <derek@ximbiot.com>
78318         and  Paul Eggert  <eggert@cs.ucla.edu>
78319
78320         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
78321         (get_date): Overparenthesize to avoid GCC warning.
78322
78323 2004-11-02  Bruno Haible  <bruno@clisp.org>
78324
78325         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
78326         returns void.
78327
78328 2004-11-02  Bruno Haible  <bruno@clisp.org>
78329
78330         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
78331         function returns void.
78332
78333 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78334
78335         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
78336         fflush_unlocked, flockfile, funlockfile, funlockfile,
78337         fputs_unlocked, putc_unlocked.
78338
78339 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78340
78341         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78342         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
78343         already declared.
78344
78345 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78346
78347         * modules/getdate (Files): Add doc/getdate.texi.
78348         (Depends-on): Add setenv, xalloc.
78349
78350 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78351
78352         * lib/getdate.y: Add support for TZ="foo" within a date string.
78353         Fix some bugs near time_t boundaries.  Reject dates with
78354         out-of-range components, e.g., "Sept 31".
78355         Include <stdlib.h>, "setenv.h", "xalloc.h".
78356         (ISDIGIT_LOCALE): Remove; unused.
78357         Note that the TZ and time functions used here are not reentrant.
78358         (mktime_ok, get_tz): New functions.
78359         (TZBUFSIZE): New constant.
78360         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
78361         This requires that we sometimes generate our own TZ="XXX..." setting.
78362
78363 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78364
78365         * doc/getdate.texi: New file, from coreutils with modifications for
78366         the new TZ parsing.
78367
78368 2004-10-27  Derek R. Price  <derek@ximbiot.com>
78369
78370         * lib/mktime.c (not_equal_tm): Remove redundant check.
78371
78372 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78373
78374         * modules/regex (lib_SOURCES): Add regex.c.
78375         Reported by James Youngman in
78376         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
78377
78378 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78379
78380         * lib/getdate.y: Use Bison 1.875 features, and some minor
78381         code cleanups.  This change does not affect semantics.
78382         Don't include <stdlib.h>; no longer needed.
78383         Don't include unlocked-io.h; only the "#if TEST" code uses
78384         stdio, and performance isn't crucial there.
78385         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
78386         Bison 1.875 features as described below.
78387         All uses of "PC." replaced by "pc->".
78388         (YYSTYPE): Add a forward declaration.
78389         (yylex, yyerror): Use full prototypes in forward decls.
78390         Use "%pure-parser" rather than obsolescent "%pure_parser".
78391         Use %parse-param and %lex-param instead of obsolescent
78392         YYPARSE_PARAM and YYLEX_PARAM.
78393         (meridian_table, month_and_day_table, time_units_table,
78394         relative_time_table, time_zone_table, military_table,
78395         lookup_zone, lookup_word, get_date):
78396         Use NULL instead of 0 where appropriate.
78397         (to_hour): Avoid abort (), to avoid a dependency on
78398         stdlib.h.
78399         (yyerror, yylex): Now accepts parser_control * arg.
78400         (main) [TEST]: Use '\0' rather than 0 for char.
78401
78402 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78403
78404         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
78405
78406 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78407
78408         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
78409         It's now the caller's responsibility to handle the case where
78410         !HAVE_GETPAGESIZE && !defined getpagesize.
78411
78412         * lib/mktime.c (leapyear): Arg is long int, not int.
78413
78414 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
78415
78416         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
78417
78418 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
78419
78420         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
78421         missing.  Problem reported by James Youngman.
78422
78423 2004-10-16  Simon Josefsson  <jas@extundo.com>
78424
78425         * gnulib-tool: Fix comments.  Fix parse problem.
78426         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
78427
78428 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
78429
78430         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
78431         implementation of getopt_long.  Problem reported by Alexander Taler in:
78432         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
78433
78434 2004-10-15  Bruno Haible  <bruno@clisp.org>
78435
78436         * gnulib-tool: Untabify. Initialize supplied_libname.
78437         (func_usage): More homogenous output.
78438         (func_modules_transitive_closure, func_modules_to_filelist,
78439         func_emit_lib_Makefile_am): New functions.
78440         (func_import): New function, extracted from big case statement. Use
78441         func_get_license, func_modules_transitive_closure,
78442         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
78443         opt_lgpl. Don't use test -a, as it's not portable.
78444         (func_create_testdir): Use func_modules_transitive_closure,
78445         func_modules_to_filelist, func_emit_lib_Makefile_am.
78446
78447 2004-10-15  Bruno Haible  <bruno@clisp.org>
78448
78449         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
78450
78451 2004-10-15  Bruno Haible  <bruno@clisp.org>
78452
78453         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
78454         the portions belonging to each module.
78455         Suggested by Derek Robert Price <derek@ximbiot.com>.
78456
78457 2004-10-12  Simon Josefsson  <jas@extundo.com>
78458
78459         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78460         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
78461         to real functions.
78462
78463 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78464
78465         * modules/vsnprintf: New file.
78466
78467 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78468
78469         * m4/vsnprintf.m4: New file.
78470
78471 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78472
78473         * lib/vsnprintf.h: New file.
78474         * lib/vsnprintf.c: New file.
78475
78476 2004-10-11  Bruno Haible  <bruno@clisp.org>
78477
78478         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
78479         vsnprintf.
78480
78481 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78482
78483         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
78484
78485 2004-10-07  Bruno Haible  <bruno@clisp.org>
78486
78487         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
78488         fits into the provided buffer.
78489
78490 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78491
78492         * lib/diacrit.c, diacrit.h: Add GPL notice.
78493
78494         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
78495         notice.
78496         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
78497         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
78498         This avoids a potential constant-folding bug.
78499
78500 2004-10-05  Bruno Haible  <bruno@clisp.org>
78501
78502         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
78503         for the declaration of strsep.
78504
78505 2004-10-05  Bruno Haible  <bruno@clisp.org>
78506
78507         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
78508
78509 2004-10-04  Simon Josefsson  <jas@extundo.com>
78510
78511         * modules/memmem: New file.
78512         * tests/test-memmem.c: New file.
78513         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
78514
78515 2004-10-04  Simon Josefsson  <jas@extundo.com>
78516
78517         * m4/memmem.m4: New file.
78518
78519 2004-10-04  Simon Josefsson  <jas@extundo.com>
78520
78521         * lib/memmem.h: New file.
78522         * lib/memmem.c: New file, taken from glibc.
78523
78524 2004-10-04  Simon Josefsson  <jas@extundo.com>
78525
78526         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
78527         '#ifdef USE_UNLOCKED_IO'.
78528
78529 2004-10-04  Simon Josefsson  <jas@extundo.com>
78530
78531         * config/srclist.txt: Add memmem from glibc.
78532
78533 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78534
78535         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
78536
78537         * modules/argmatch, modules/argp, modules/closeout, modules/error,
78538         modules/exclude, modules/getdate, modules/getline,
78539         modules/getndelim2, modules/getpass, modules/getpass-gnu,
78540         modules/getusershell, modules/linebuffer, modules/md5,
78541         modules/mountlist, modules/posixtm, modules/readtokens,
78542         modules/readutmp, modules/regex, modules/sha1,
78543         modules/version-etc, modules/yesno:
78544         Remove dependency on unlocked-io.
78545
78546 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78547
78548         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
78549
78550         * m4/unlocked-io.m4: Add copyright notice.
78551         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
78552
78553 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78554
78555         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
78556         * lib/xmalloc.c (xmemdup): Likewise.
78557         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
78558         XFREE): Remove these long-obsolescent macros.
78559         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
78560         * lib/xstrdup.c: Remove.
78561
78562         * lib/regex.c (re_comp): Cast gettext return value to char *,
78563         Problem reported by Martin Neitzel via Mark D. Baushke.
78564
78565 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78566
78567         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
78568         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
78569         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
78570         regex.c, sha1.c, version-etc.c, yesno.c:
78571         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
78572         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
78573         the includer's responsibility.
78574
78575         Sync from coreutils.
78576
78577         * lib/modechange.c (mode_compile): Don't decrement a pointer that
78578         points to the start of a string, as the C Standard says the
78579         resulting behavior is undefined.
78580
78581         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
78582         simple -> simple_backups, numbered_existing ->
78583         numbered_existing_backups, numbered -> numbered_backups
78584         to avoid shadowing problems.  All uses changed.
78585         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
78586         * lib/backupfile.c (check_extension, numbered_backup):
78587         Rename locals to avoid shadowing 'basename'.
78588         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
78589         once.
78590
78591         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
78592         * lib/.cvsignore: Add getopt.h.
78593
78594 2004-10-04  Bruno Haible  <bruno@clisp.org>
78595
78596         * modules/README: New file.
78597         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
78598         not a module.
78599
78600 2004-10-02  Jim Meyering  <jim@meyering.net>
78601
78602         * lib/dirfd.h, getpagesize.h: Add copyright notice.
78603
78604 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78605
78606         * modules/strsep: New file.
78607
78608 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78609
78610         * m4/strsep.m4: New file.
78611
78612 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78613
78614         * lib/strsep.h: New file.
78615         * lib/strsep.c: New file.
78616
78617 2004-10-01  Simon Josefsson  <jas@extundo.com>
78618
78619         * lib/snprintf.c (snprintf): Handle size==0.
78620
78621 2004-10-01  Simon Josefsson  <jas@extundo.com>
78622             Bruno Haible  <bruno@clisp.org>
78623
78624         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
78625         (snprintf): Declare 'args'.
78626
78627 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
78628
78629         * lib/snprintf.c: Remove comments as to why each header is needed.
78630
78631 2004-10-01  Bruno Haible  <bruno@clisp.org>
78632
78633         * MODULES.html.sh: Add strsep.
78634
78635 2004-09-30  Simon Josefsson  <jas@extundo.com>
78636
78637         * modules/snprintf: New file.
78638
78639 2004-09-30  Simon Josefsson  <jas@extundo.com>
78640
78641         * m4/snprintf.m4: New file.
78642
78643 2004-09-30  Simon Josefsson  <jas@extundo.com>
78644
78645         * lib/snprintf.h, lib/snprintf.c: New files.
78646
78647 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78648
78649         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
78650         (hol_entry_help): Never translate an empty string.
78651         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
78652         * lib/argp.h (OPTION_NO_TRANS): New option.
78653
78654 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78655
78656         * modules/argp (Maintainer): Replace Simon Josefsson
78657         by Sergey Poznyakoff.
78658
78659 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78660
78661         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
78662         changes merged back into glibc.
78663
78664 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78665
78666         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
78667
78668 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
78669
78670         * lib/xvasprintf.c: Include xalloc.h.
78671         (xvasprintf): Use xalloc_die, not xmalloc_die.
78672
78673 2004-09-29  Bruno Haible  <bruno@clisp.org>
78674
78675         * modules/alloca-opt: New file, derived from modules/alloca.
78676         * modules/allocsa: Depend on alloca-opt instead of alloca.
78677         * modules/setenv: Likewise.
78678         * modules/vasnprintf: Likewise.
78679         * MODULES.html.sh: Add alloca-opt.
78680
78681 2004-09-28  Simon Josefsson  <jas@extundo.com>
78682
78683         * gnulib-tool: New parameter --lgpl, to asseert that modules are
78684         LGPL, and to replace license template from GPL to LGPL.
78685
78686 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
78687
78688         * modules/dummy: Change license to LGPL.
78689
78690 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
78691
78692         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
78693
78694 2004-09-24  Simon Josefsson  <jas@extundo.com>
78695
78696         * modules/minmax (License): Change from GPL to LGPL.
78697
78698 2004-09-23  Simon Josefsson  <jas@extundo.com>
78699
78700         * gnulib-tool (--import): Typo.
78701
78702 2004-09-23  Simon Josefsson  <jas@extundo.com>
78703
78704         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
78705
78706 2004-09-22  Bruno Haible  <bruno@clisp.org>
78707
78708         * modules/*: Add 'License' field.
78709         * gnulib-tool: Accept --extract-license option.
78710         (func_get_license): New function.
78711
78712 2004-09-21  Bruno Haible  <bruno@clisp.org>
78713
78714         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
78715         Reported by Simon Josefsson.
78716
78717 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78718
78719         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
78720         gl_AC_TYPE_LONG_LONG.
78721
78722 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78723
78724         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
78725
78726 2004-09-18  Simon Josefsson  <jas@extundo.com>
78727         and  Paul Eggert  <eggert@cs.ucla.edu>
78728
78729         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
78730         calls with autoreconf.  Define GL_LIB.
78731
78732 2004-09-14  Karl Berry  <karl@gnu.org>
78733
78734         * config/srclist.txt: unsync setenv.c, sigh.
78735
78736 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78737
78738         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
78739         Problem reported by Bruno Haible in:
78740         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
78741
78742 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78743
78744         * config/srclist.txt: Comment out argp-pvh.c.
78745
78746 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
78747
78748         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
78749         in case some system header has #define'd it.  Problem reported by
78750         Soeren D. Schulze in
78751         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
78752
78753 2004-09-09  Karl Berry  <karl@gnu.org>
78754
78755         * regex.[ch]: delete from the root.  These were supposed to be
78756                 synced with emacs cvs, but this has not happened for about
78757                 a year, and anyway nothing else uses emacs regex.[ch].
78758                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
78759                 lib/regex[.ch] is untouched.
78760
78761 2004-09-09  Bruno Haible  <bruno@clisp.org>
78762
78763         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
78764
78765 2004-09-09  Bruno Haible  <bruno@clisp.org>
78766
78767         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
78768         modifications.
78769         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
78770
78771 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
78772
78773         * modules/xvasprintf: New file.
78774         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
78775
78776 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
78777
78778         * lib/xvasprintf.h: New file.
78779         * lib/xvasprintf.c: New file.
78780         * lib/xasprintf.c: New file.
78781
78782 2004-09-08  Bruno Haible  <bruno@clisp.org>
78783
78784         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
78785
78786 2004-09-08  Bruno Haible  <bruno@clisp.org>
78787
78788         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
78789         length is > INT_MAX.
78790         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
78791         more.
78792
78793 2004-09-08  Bruno Haible  <bruno@clisp.org>
78794
78795         * lib/stdint_.h: New file, taken from GNU clisp.
78796
78797 2004-09-08  Bruno Haible  <bruno@clisp.org>
78798             Oskar Liljeblad  <oskar@osk.mine.nu>
78799
78800         * modules/stdint: New file.
78801         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
78802
78803 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78804
78805         Import from coreutils.
78806         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
78807         strings on unbounded length.  alloca's performance benefits aren't
78808         that important here.
78809         (V_STRDUP): Remove.
78810         (parse_with_separator): New function, with most of the internals
78811         of the old parse_user_spec.  Allow user to omit both user and group,
78812         for compatibility with FreeBSD.
78813         Clone only the user name, not the entire spec.
78814         Do not set *uid, *gid unless entirely successful.
78815         Avoid memory leak in some failing cases.
78816         Fix regression for USER.GROUP reported by Dmitry V. Levin in
78817         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
78818         (parse_user_spec): Rewrite to use parse_with_separator.
78819
78820 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78821
78822         * modules/userspec: Don't depend on alloca.
78823
78824 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78825
78826         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
78827
78828 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
78829
78830         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
78831         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
78832         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
78833
78834 2004-08-16  Simon Josefsson  <jas@extundo.com>
78835
78836         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
78837         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
78838         Add --dry-run for --import.
78839         Let user provided command line parameters override configure.ac
78840         settings.
78841
78842 2004-08-12  Simon Josefsson  <jas@extundo.com>
78843
78844         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
78845         as discussed with Paul Eggert in threads rooted at
78846         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
78847         and
78848         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
78849         Before, the test was empty, and relied on ELIDE_CODE in source
78850         code.)
78851         (gl_PREREQ_GETOPT): New macro.
78852         (gl_GETOPT): Use them.
78853
78854 2004-08-12  Simon Josefsson  <jas@extundo.com>
78855
78856         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
78857         * lib/getopt_.h: Renamed from getopt.h.
78858
78859 2004-08-12  Simon Josefsson  <jas@extundo.com>
78860
78861         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
78862         Change default library name from libfoo to libgnu.
78863         Now, if you have a configure.ac that says:
78864                 gl_SOURCE_BASE(gl)
78865                 gl_M4_BASE(gl/m4)
78866                 gl_MODULES(error getopt etcetera)
78867                 gl_INIT
78868         you can import all you need by running:
78869                 ../gnulib/gnulib-tool --import
78870
78871         * modules/getopt (Files): Rename getopt.h to getopt_.h.
78872         (Makefile.am): Rewrite, use logic from argz.
78873         (Include): Use <getopt.h> instead of "getopt.h".
78874
78875 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
78876
78877         * modules/argp (Files): Add m4/unlocked-io.m4.
78878         (Depends-on): Add extensions.
78879
78880 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
78881
78882         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
78883         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
78884         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
78885         Check for program_invocation_name, program_invocation_short_name,
78886         flockfile, funlockfile, features.h, _getopt_long_only_r.
78887
78888 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
78889
78890         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
78891         its complicated substitute.
78892         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
78893         and program_invocation_name.
78894         (__argp_basename) [!_LIBC]: Remove; the only use was
78895         replaced by its body.
78896         (__argp_short_program_name): Change condition from
78897         !defined __argp_short_program_name to
78898         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
78899         to match argp-namefrob.h.
78900         (__argp_failure): Don't assume strerror_r returns char *.
78901         * lib/argp-parse.c (N_): Define unconditionally.
78902         (argp_default_options): Fill out initializers with 0 to avoid
78903         gcc warnings.
78904
78905 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
78906
78907         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
78908         getopt1.c.
78909
78910 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
78911
78912         Merge from coreutils.
78913
78914         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
78915
78916         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
78917         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
78918
78919 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
78920
78921         Merge from coreutils.
78922
78923         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
78924         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
78925         for Reliant Unix 5.43.
78926
78927         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
78928         (union fooround): Use uintmax_t, not long int.
78929         The rest is a merge from libc:
78930         [defined _LIBC]: Include <shlib-compat.h>.
78931         (_obstack) [defined _LIBC]: Remove after 2.3.4.
78932
78933         * lib/settime.c (settime): Recode to avoid warning with
78934         Sun Forte C 6U2.
78935
78936         * lib/strverscmp.c: Convert to UTF-8.
78937
78938 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
78939
78940         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
78941         m4/uintmax_t.m4.
78942
78943 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
78944
78945         * modules/xalloc-die: New file.
78946         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
78947
78948         * modules/md5 (Files): Add m4/uint32_t.m4.
78949         * modules/sha1: Renamed from modules/sha.
78950         (Files):
78951         Rename lib/sha.h to lib/sha1.h.
78952         Rename lib/sha.c to lib/sha1.c.
78953         Rename m4/sha.m4 to m4/sha1.m4.
78954         (lib_SOURCES): Likewise.
78955         (configure.ac): Rename gl_SHA to gl_SHA1.
78956         (Include): sha.h -> sha1.h.
78957
78958 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
78959
78960         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
78961         * m4/sha1.m4: Renamed from sha.m4.
78962         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
78963
78964 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
78965
78966         * lib/obstack.h (obstack_empty_p):
78967         Don't assume that chunk->contents is suitably aligned.
78968         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
78969         Likewise. Problem reported by Benno in
78970         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
78971
78972         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
78973         readable.  This could be improved further but it'd take some work.
78974
78975 2004-08-08  Simon Josefsson  <jas@extundo.com>
78976
78977         * modules/xgethostname (Depends-on): Remove exit and error (not
78978         used).
78979
78980         * modules/getpass-gnu: Add getpass.h.
78981         (Depends-on): Add stdbool.
78982         * modules/getpass: Add getpass.h.
78983
78984 2004-08-08  Simon Josefsson  <jas@extundo.com>
78985
78986         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
78987         Check getpass declaration.
78988
78989 2004-08-08  Simon Josefsson  <jas@extundo.com>
78990
78991         * lib/xgethostname.c: Don't include error.h (not used).
78992
78993         * lib/getpass.h: Add.
78994         * lib/getpass.c: Include getpass.h first.
78995
78996 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
78997
78998         * lib/xalloc-die.c: New file.
78999         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
79000         All uses removed.
79001         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
79002         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
79003         xalloc-die.c.
79004         (_, N_, xalloc_die): Move to xalloc-die.c.
79005         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
79006         so that we needn't mess with xalloc_msg_memory_exhausted.
79007
79008         * lib/sha1.h: Renamed from sha.h.
79009         (SHA1_H): Renamed from _SHA_H.
79010         (sha1_ctx): Renamed from sha_ctx.
79011         (sha1_init_ctx): Renamed from sha_init_ctx.
79012         (sha1_process_block): Renamed from sha_process_block.
79013         (sha1_process_bytes): Renamed from sha_process_bytes.
79014         (sha1_finish_ctx): Renamed from sha_finish_ctx.
79015         (sha1_read_ctx): Renamed from sha_read_ctx.
79016         (sha1_stream): Renamed from sha_stream.
79017         (sha1_buffer): Renamed from sha_buffer.
79018         * lib/sha1.c: Likewise; renamed from sha.c.
79019         Do not include <sys/types.h>.
79020         Include <stddef.h> rather than <stdlib.h>.
79021
79022 2004-08-08  Bruno Haible  <bruno@clisp.org>
79023
79024         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
79025         FILESYSTEM_PREFIX_LEN.
79026         * lib/progreloc.c: Likewise.
79027         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
79028
79029 2004-08-06  Simon Josefsson  <jas@extundo.com>
79030
79031         * modules/progname (Depends-on): Don't depend on stdbool.
79032
79033 2004-08-06  Simon Josefsson  <jas@extundo.com>
79034
79035         * modules/getsubopt: New file.
79036         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79037         getsubopt.
79038
79039 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79040
79041         More merge from coreutils.
79042
79043         * m4/utimens.m4, m4/utimecmp.m4: New files.
79044         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
79045         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
79046         prereq.m4, sha.m4: Import changes from coreutils.
79047
79048 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79049
79050         More merge from coreutils.
79051         * modules/raise, modules/readtokens0, modules/utimens:
79052         * modules/utimecmp, module/xnanosleep: New files.
79053         * modules/strftime: Add lib/strftime.h.
79054         Change include from <time.h> to "strftime.h".
79055         * modules/yesno: Add lib/yesno.h.
79056         * modules/backupfile: Remove lib/addext.c.
79057         * modules/euidaccess: Add stat-macros.h.
79058         * modules/canonicalize, modules/euidaccess,
79059         modules/filemode, modules/lchown, modules/makepath,
79060         modules/rmdir, modules/stat: Likewise.
79061
79062 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79063
79064         Merge from tar.
79065         * lib/argp-help.c (make_hol, hol_append): Don't assume that
79066         SIZE_MAX is a valid preprocessor constant.
79067         (__argp_basename): Change from "#ifndef _LIBC"
79068         to "#ifndef __argp_short_program_name", so that
79069         we don't compile these functions for tar.
79070
79071         More merges from coreutils.
79072         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
79073         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
79074         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
79075         * lib/addext.c: Remove; no longer needed.
79076         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
79077         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
79078         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
79079         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
79080         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
79081         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
79082         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
79083         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
79084         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
79085         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
79086         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
79087         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
79088         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
79089         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
79090         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
79091         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
79092         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
79093         Import changes from coreutils.
79094
79095 2004-08-05  Simon Josefsson  <jas@extundo.com>
79096
79097         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
79098
79099 2004-08-05  Simon Josefsson  <jas@extundo.com>
79100
79101         * m4/getsubopt.m4: New file.
79102
79103 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79104
79105         Merge from coreutils.
79106
79107         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
79108         * m4/getcwd-path-max.m4: New files.
79109
79110         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
79111         FILESYSTEM_PREFIX_LEN ->
79112         FILE_SYSTEM_PREFIX_LEN.
79113         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
79114         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
79115         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
79116         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
79117
79118         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
79119         prerequisite modules now handle the DOS stuff.
79120         Don't check for unistd.h.
79121
79122 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79123
79124         Merge from coreutils.
79125
79126         * lib/.gdb-history: Remove; this doesn't belong here.
79127
79128         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
79129         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
79130         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
79131         * lib/getcwd.c: New files.
79132
79133         * lib/dirname.h: Include <stdbool.h>.
79134         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
79135         for consistency with POSIX terminology.  All uses changed.
79136         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
79137         (strip_trailing_slashes): Use bool for booleans.
79138         * lib/stripslash.c (strip_trailing_slashes): Likewise.
79139
79140         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
79141         sometimes returns a positive errno value even when it succeeds.
79142         (print_errno_message) [!LIBC]: Fall back on strerror if
79143         __strerror_r fails.
79144
79145         * lib/path-concat.c (mempcpy): Don't define if a system header defines
79146         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
79147         (longest_relative_suffix): New function.
79148         (path_concat): Use it.  Assume first argument is not NULL.
79149         Port to DOS.  Omit redundant separators.
79150         Report an error instead of returning NULL.
79151         Use mempcpy instead of memcpy.
79152         (xpath_concat): Remove: not declared or used.
79153
79154         * lib/same.h: Include <stdbool.h>
79155         (same_name): Return bool, not int.
79156         * lib/same.c (same_name): Likewise.
79157         (errno): Don't declare; we assume C89 or better now.
79158
79159         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
79160         if not already defined.
79161
79162         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
79163         * lib/dup-safer.c (errno): Likewise.
79164
79165 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79166
79167         Merge from coreutils.
79168         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
79169         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
79170         * modules/path-concat: Don't depend on strdup.
79171
79172 2004-08-03  Simon Josefsson  <jas@extundo.com>
79173
79174         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
79175         * lib/progname.h: Don't include stdbool.h.
79176
79177 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79178
79179         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
79180         * MODULES.html.sh (func_all_modules): Remove fatal.
79181
79182 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79183
79184         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
79185
79186 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79187
79188         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
79189         working.
79190
79191 2004-08-02  Simon Josefsson  <jas@extundo.com>
79192
79193         * lib/getsubopt.h: New file, with comments from Bruno Haible.
79194         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
79195         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
79196
79197 2004-08-01  Simon Josefsson  <jas@extundo.com>
79198
79199         * lib/xgetdomainname.c: Include stdlib.h, for free().
79200
79201 2004-07-19  Bruno Haible  <bruno@clisp.org>
79202
79203         * MODULES.html.sh (func_all_modules): Add dummy.
79204
79205 2004-07-16  Simon Josefsson  <jas@extundo.com>
79206
79207         * modules/dummy: New file.
79208
79209 2004-07-16  Simon Josefsson  <jas@extundo.com>
79210
79211         * lib/dummy.c: New file.
79212
79213 2004-07-16  Bruno Haible  <bruno@clisp.org>
79214
79215         * lib/backupfile.h: Add extern "C" for C++.
79216         * lib/closeout.h: Likewise.
79217         * lib/copy-file.h: Likewise.
79218         * lib/findprog.h: Likewise.
79219         * lib/full-write.h: Likewise.
79220         * lib/pathname.h: Likewise.
79221         * lib/progname.h: Likewise.
79222         * lib/stpcpy.h: Likewise.
79223         * lib/stpncpy.h: Likewise.
79224         * lib/strcase.h: Likewise.
79225         * lib/strstr.h: Likewise.
79226         * lib/xalloc.h: Likewise.
79227
79228         * lib/mbswidth.h: Add extern "C" for C++.
79229         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
79230
79231 2004-07-13  Robert Millan  <robertmh@gnu.org>
79232
79233         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
79234
79235 2004-07-09  Simon Josefsson  <jas@extundo.com>
79236
79237         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
79238         failed without this.)
79239
79240 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79241
79242         * modules/chown (Files): Add lib/fchown-stub.c, since
79243         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
79244
79245 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79246
79247         * lib/fchown-stub.c: New file.
79248
79249 2004-06-24  Jim Meyering  <jim@meyering.net>
79250
79251         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
79252
79253 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79254
79255         * modules/argz: Omit "#include".
79256
79257         * MODULES.html.sh (func_all_modules): Add calloc, to match
79258         2004-06-01 addition of calloc module.
79259
79260 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79261
79262         * m4/argz.m4: New file, which is autoupdated from libtool.
79263
79264 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79265
79266         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
79267         libtool.
79268
79269 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79270
79271         * config/srclist-update: Don't insist on "USA." before the
79272         close-comment, as libtool omits the period and puts the */ on a
79273         separate line.
79274         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
79275         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
79276
79277 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
79278
79279         * modules/argz: New file.
79280         * MODULES.html.sh (func_all_modules): Add argz.
79281
79282 2004-06-12  Jim Meyering  <jim@meyering.net>
79283         and  Paul Eggert  <eggert@cs.ucla.edu>
79284
79285         * modules/hash (Files): Add lib/xalloc.h.
79286         * modules/pipe (Depends-on): Add wait-process.
79287         * modules/stat (Depends-on): Add xalloc.
79288         * modules/userspec (Files): Add lib/userspec.h.
79289         * modules/xstrto
79290
79291         Upgrade from gettext-0.13.
79292         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
79293         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
79294         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
79295
79296 2004-06-10  Jim Meyering  <jim@meyering.net>
79297
79298         * lib/calloc.c: New file.
79299
79300 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
79301
79302         * lib/getdate.y (yylex): Allow space between sign and number.
79303         Problem reported by Dan Jacobson.
79304
79305 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79306
79307         Merge from coreutils CVS.
79308
79309         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
79310         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
79311         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
79312         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
79313         xstrtol.m4: Fix copyright date and/or serial number.
79314
79315         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
79316         See if we need an fchown replacement.
79317         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
79318         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
79319         and use the replacement function if we detect either defect.
79320
79321         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
79322         gl_UTIMECMP.
79323
79324 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79325         and  Jim Meyering  <jim@meyering.net>
79326
79327         Merge from coreutils CVS.
79328
79329         * lib/stat-macros.h: New file, with contents from file-type.h
79330         and coreutils' system.h.
79331         * lib/file-type.c: Include "stat-macros.h".
79332         * lib/file-type.h (file_type): Move all macro definitions to new file,
79333         stat-macros.h.
79334
79335         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
79336         Wrap old code with this conditional.
79337         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
79338         function that does not dereference symlinks.
79339         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
79340
79341         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
79342         dependency problems.
79343         (xreadlink): Accept new arg SIZE, for efficiency.
79344         All decls and uses changed.
79345         * lib/xreadlink.h: Include <stddef.h>, for size_t.
79346
79347         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
79348         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
79349
79350         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
79351         sysexits.h.
79352
79353 2004-06-01  Jim Meyering  <jim@meyering.net>
79354
79355         * m4/calloc.m4: New file.
79356
79357 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
79358
79359         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
79360         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
79361         Also, fix a typo in a diagnostic.
79362
79363 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79364
79365         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
79366         or AC_FUNC_REALLOC.
79367
79368 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79369
79370         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
79371         macros to be defined.
79372         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
79373         the allocator returns NULL because the requested size is zero.
79374
79375 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79376
79377         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
79378         var.  Add comment explaining why libc still defines it.  This
79379         merges the following patch from glibc:
79380         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
79381
79382 2004-05-20  Andreas Schwab  <schwab@suse.de>
79383
79384         * m4/free.m4: Replace free if it not known to work, not the other
79385         way round.
79386
79387 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79388
79389         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
79390         present in glibc since revision 1.1 of this file.
79391         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
79392         obstack_alignment_mask, obstack_alloc, obstack_base,
79393         obstack_blank, obstack_blank_fast, obstack_chunk_size,
79394         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
79395         obstack_grow0, obstack_init, obstack_int_grow,
79396         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
79397         obstack_next_free, obstack_object_size, obstack_ptr_grow,
79398         obstack_ptr_grow_fast, obstack_room): Remove declarations of
79399         nonexistent functions.
79400
79401 2004-05-18  Karl Berry  <karl@gnu.org>
79402
79403         * config/srclist.txt: break link for vasnprintf.c.
79404
79405 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79406
79407         Port obstack to the AS/400, where pointers are 16 bytes wide and
79408         you cannot cast an integer to a valid pointer.  This patch is
79409         currently waiting to be integrated into glibc; see
79410         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
79411
79412         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
79413         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
79414         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
79415         (struct obstack): temp member is now a union of a pointer and
79416         an integer, instead of an integer.  All integer uses changed.
79417         This does not affect the physical layout of struct obstack,
79418         except on hosts (like the AS/400) where the size or alignment of
79419         void * is greater than that of ptrdiff_t.
79420         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
79421         __STDC__)]: Store temporary in pointer member of union, not
79422         integer member.
79423         * lib/obstack.c: Include <stddef.h>, for offsetof.
79424         (struct fooalign): Remove; it doesn't need a name.
79425         (union fooround): Change double to long double, and add void *.
79426         (DEFAULT_ALIGNMENT): Use offsetof to compute.
79427         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
79428         not a macro.  Hence the values are always int; so remove all
79429         casts-to-int in uses.
79430
79431 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79432
79433         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
79434         we can get this patch merged into glibc.
79435
79436 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79437             Paul Eggert  <eggert@cs.ucla.edu>
79438
79439         * m4/argp: Depend on alloca.
79440
79441 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79442             Paul Eggert  <eggert@cs.ucla.edu>
79443
79444         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
79445         freecoding.
79446
79447 2004-05-17  Bruno Haible  <bruno@clisp.org>
79448
79449         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
79450         precision that consists of a '.' followed by an empty digit string.
79451         Patch by Tor Lillqvist <tml@iki.fi>.
79452
79453 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79454
79455         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
79456         for backward compatibility with older code.  We need our own
79457         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
79458         it under some other name, and our alloca.h will define it.
79459
79460 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79461             Derek Price  <derek@ximbiot.com>
79462
79463         * lib/alloca.c: Include <alloca.h>, to get our interface.
79464         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
79465         include <alloca.h> first.  Use C89 prototype for alloca; this
79466         requires including <stddef.h> for size_t.  Use extern "C" if C++.
79467         Use #elif for simplicity, since we can assume C89 now.
79468         Don't try to source the system alloca.h since it will not be found
79469         and to prevent recursively including its replacement.
79470         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
79471         * lib/regex.c: Likewise.
79472
79473 2004-05-16  Derek Price  <derek@ximbiot.com>
79474             Paul Eggert  <eggert@cs.ucla.edu>
79475
79476         getline cleanup.  This changes the getndelim2 API: both order of
79477         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
79478         no delimiter).
79479
79480         * lib/getline.c: Don't include stddef.h or stdio.h, since our
79481         interface does that.
79482         (getline): Always use getdelim, so that we don't have two
79483         copies of this code.
79484         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
79485         if available.
79486         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
79487         (GETNDELIM2_MAXIMUM): New macro.
79488         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
79489         instead of the old practice of delim2==0.  All callers changed.
79490         Return -1 on overflow, instead of returning junk.
79491         Do not set *linesize unless allocation succeeds.
79492         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
79493         that we include sys/types.h.
79494         * lib/getnline.h: Likewise.
79495         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
79496         (getndelim2): Reorder arguments.
79497         * lib/getnline.c (getnline, getndelim):
79498         Don't discard the NMAX argument.
79499         (getnline): Invoke getndelim, to avoid code duplication.
79500         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
79501         of (size_t) -1 by callers of the getnline family.
79502
79503 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79504
79505         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
79506         Check for gettimeofday.
79507         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
79508         Check for settimeofday, stime.
79509
79510 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79511
79512         * lib/nanosleep.c (suspended): Change its type from int to
79513         sig_atomic_t volatile.
79514         (first_call): Make it private to rpl_nanosleep, and have it
79515         be zero initially as that's a bit faster.
79516         (my_usleep): Round up fractional times instead of truncating them,
79517         as this is the usual meaning for 'sleep'.
79518
79519         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
79520         doesn't work.
79521         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
79522         (ENOSYS): Define if not defined.
79523         (settime): Fall back on stime if it exists and settimeofday fails.
79524         But don't bother with fallbacks if a method fails with errno == EPERM.
79525
79526 2004-05-11  Jim Meyering  <jim@meyering.net>
79527
79528         Prior to this change, the save_cwd caller required read access to the
79529         current directory on most systems (ones with the fchdir function).
79530
79531         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
79532         fails, try write-only, and finally, resort to using xgetcwd.
79533
79534 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
79535
79536         * lib/obstack.c, obstack.h: Import changes from libc.
79537
79538 2004-04-28  Bruno Haible  <bruno@clisp.org>
79539
79540         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
79541         also implicitly appends .exe to executables.
79542         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
79543         accepts Windows pathnames.
79544         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79545         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79546         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79547         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79548         Reported by Derek Robert Price <derek@ximbiot.com>.
79549
79550 2004-04-21  Karl Berry  <karl@gnu.org>
79551
79552         * config/srclist.txt (localcharset.c): break sync.
79553
79554 2004-04-20  Paul Eggert  <eggert@twinsun.com>
79555
79556         * m4/host-os.m4: Add a copyright notice.
79557
79558 2004-04-20  Jim Meyering  <jim@meyering.net>
79559
79560         Change UTILS_ to gl_ in AC_DEFINE'd names.
79561         Change utils_- and jm_-prefixed variables, too.
79562         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
79563         UTILS_FUNC_MKDIR_TRAILING_SLASH.
79564         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
79565
79566         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
79567         Don't emit trailing blanks.
79568         Also rename jm_-prefixed variables to have gl_ prefix.
79569
79570         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
79571         Also rename jm_-prefixed variables to have gl_ prefix.
79572
79573         * m4/jm-macros.m4: Reflect the renamings.
79574         * m4/prereq.m4: Likewise.
79575
79576 2004-04-20  Jim Meyering  <jim@meyering.net>
79577
79578         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
79579         memory.
79580
79581 2004-04-20  Jim Meyering  <jim@meyering.net>
79582             Bruno Haible  <bruno@clisp.org>
79583
79584         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
79585         memory when realloc fails.
79586
79587 2004-04-19  Jim Meyering  <jim@meyering.net>
79588
79589         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
79590         now that readutmp.c may call `free (0)'.
79591
79592 2004-04-19  Bruno Haible  <bruno@clisp.org>
79593
79594         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
79595         * m4/inttypes_h.m4: Likewise.
79596         * m4/stdint_h.m4: Likewise.
79597         * m4/intmax_t.m4: Likewise.
79598         * m4/uintmax_t.m4: Likewise.
79599
79600 2004-04-18  Jim Meyering  <jim@meyering.net>
79601
79602         * m4/prereq.m4: Don't forbid jm_ prefix.
79603
79604         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
79605         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
79606         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
79607         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
79608         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
79609         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
79610         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
79611         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
79612         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
79613         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
79614         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
79615         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
79616         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
79617         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
79618         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
79619         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
79620         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
79621         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
79622         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
79623
79624 2004-04-18  Jim Meyering  <jim@meyering.net>
79625
79626         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
79627         failure, don't leak memory and do call END_UTMP_ENT.
79628
79629 2004-04-16  Jim Meyering  <jim@meyering.net>
79630
79631         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
79632         coreutils' stat program.
79633         (gl_PREREQ): Don't require jm_PREREQ_STAT.
79634
79635 2004-04-11  Paul Eggert  <eggert@twinsun.com>
79636
79637         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
79638         C89.
79639         (CHAR_BIT): Remove, since we assume C89.
79640         Include <stdint.h> if available, as per current Autoconf CVS advice.
79641
79642 2004-03-31  Jim Meyering  <jim@meyering.net>
79643
79644         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
79645         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
79646         * m4/xalloc.m4: Likewise.
79647
79648 2004-03-30  Paul Eggert  <eggert@twinsun.com>
79649
79650         Merge from coreutils.
79651
79652         * m4/inttostr.m4: New file.
79653         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
79654         Require AM_STDBOOL_H and gl_TIMESPEC instead.
79655         Require gl_CLOCK_TIME.
79656         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
79657
79658 2004-03-30  Paul Eggert  <eggert@twinsun.com>
79659
79660         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
79661         not bool, to be more consistent with Unix conventions.
79662         Suggested by Bruno Haible.
79663
79664         Merge from coreutils.
79665
79666         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
79667         * lib/umaxtostr.c: New files.
79668
79669         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
79670         the usual <time.h> dance.
79671         (get_date): Change signature to support fractional time stamps.
79672         All callers changed.
79673         * lib/getdate.y: Include "getdate.h" first, as we can now
79674         assume C89 and don't need to worry about 'const'.
79675         Similarly, include "unlocked-io.h" near start, not in middle.
79676         Include <limits.h>.
79677         (textint.value): Use long int rather than int.
79678         (textint.digits): Use size_t rather than int.
79679         (BILLION, LOG10_BILLION): New constants.
79680         (parser_control): New member rel_ns.  Members day_ordinal,
79681         time_zone, month, day, hour, minutes, rel_year, rel_month,
79682         rel_day, rel_hour, rel_minutes, rel_seconds
79683         are now long int, not int.  Member seconds is now struct timespec,
79684         not int.  New member timespec_seen.  Members dates_seen, days_seen,
79685         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
79686         not int.
79687         (%union.intval): Now long int, not int.
79688         New member timespec.
79689         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
79690         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
79691         (spec): Now is a timespec or an item list.
79692         (timespec, items): New nonterminals.
79693         (time, rel, relunit, number, get_date):
79694         Add support for fractional seconds.
79695         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
79696         (gmtime, localtime, mktime): Remove decls; not needed with C89.
79697         (to_hour): First arg is now long int, not int.
79698         (to_year): Returns long int, not int.
79699         Don't treat year -70 like 70.
79700         (tm_diff): Returns long int, not int.
79701         (lookup_word): Use bool instead of int when appropriate.
79702         (yylex): Use size_t for count, not int.
79703         Detect overflow when parsing large integer constants.
79704         Add support for fractions.
79705         (get_date): Make pointers 'const' if possible.
79706         Use more-portable code to detect integer overflow.
79707         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
79708         Don't use ctime; it's not reliable if the year has >4 digits.
79709
79710         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
79711         This is for compatibility with BSD.
79712
79713         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
79714         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
79715         From coreutils' system.h.
79716
79717         * lib/userspec.c: Don't include "posixver.h".
79718         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
79719         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
79720         compatible extension.  Simplify code by removing a boolean int
79721         that was always nonzero if a string was nonnull.
79722
79723 2004-03-30  Jim Meyering  <jim@meyering.net>
79724
79725         Merge from coreutils.
79726
79727         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
79728         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
79729         on some systems one must include <grp.h> before it.
79730         Reported by Christian Krackowizer.
79731
79732 2004-03-30  Jim Meyering  <jim@meyering.net>
79733
79734         Merge from coreutils.
79735
79736         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
79737
79738         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
79739         an empty input stream.
79740
79741         * lib/readtokens.c: Include <stdbool.h>.
79742         (readtoken): Use `size_t' rather than int/long.
79743         All callers adjusted.
79744         Use `bool' rather than `int' where appropriate.
79745         Use memset rather than an explicit loop.
79746         Use x2nrealloc rather than xrealloc.
79747         Allow the use of `\0' as a delimiter.
79748         (readtokens): Likewise.
79749         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
79750
79751 2004-03-30  Jim Meyering  <jim@meyering.net>
79752
79753         * m4/realloc.m4: Remove file, since now it does no more than
79754         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
79755         the `configure.ac' section of module/realloc.
79756         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
79757
79758 2004-03-30  Bruno Haible  <bruno@clisp.org>
79759
79760         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
79761         nonnull.
79762
79763 2004-03-29  Paul Eggert  <eggert@twinsun.com>
79764
79765         Merge changes to getloadavg.c from coreutils and Emacs.
79766
79767         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
79768         Define to an expression, not to the empty string.
79769         Include cloexec.h and xalloc.h.
79770         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
79771         Use set_cloexec_flag rather than rolling our own.
79772         * lib/cloexec.c, lib/cloexec.h: New files.
79773
79774 2004-03-29  Paul Eggert  <eggert@twinsun.com>
79775
79776         * m4/cloexec.m4: New file.
79777
79778 2004-03-18  Paul Eggert  <eggert@twinsun.com>
79779
79780         * lib/getopt.h: Sync with libc CVS.
79781
79782 2004-03-18  Paul Eggert  <eggert@twinsun.com>
79783             Bruno Haible  <bruno@clisp.org>
79784
79785         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
79786         mbswidth.
79787
79788 2004-03-18  Paul Eggert  <eggert@twinsun.com>
79789             Bruno Haible  <bruno@clisp.org>
79790
79791         * lib/mbswidth.h: Include <wchar.h> only if
79792         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
79793         <wchar.h>.
79794         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
79795
79796 2004-03-09  Paul Eggert  <eggert@twinsun.com>
79797
79798         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
79799         Sync with libc CVS.
79800         * lib/getopt_int.h: New file, also synced from libc.
79801
79802 2004-03-09  Paul Eggert  <eggert@twinsun.com>
79803
79804         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
79805         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
79806         Bring back getopt.c, getopt.h, getopt1.c.
79807
79808 2004-03-07  Paul Eggert  <eggert@twinsun.com>
79809
79810         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
79811         All uses changed.  Check for sa_sigaction member; this fixes
79812         a bug first reported by Jason Andrade in
79813         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
79814
79815 2004-03-07  Paul Eggert  <eggert@twinsun.com>
79816
79817         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
79818         '#if' expressions.  Unlike the code it replaces, it does not
79819         depend on (defined _SC_PAGESIZE).  However, it does depend on
79820         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
79821         first reported by Jason Andrade in
79822         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
79823
79824 2004-02-25  Simon Josefsson  <jas@extundo.com>
79825
79826         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
79827
79828 2004-02-25  Simon Josefsson  <jas@extundo.com>
79829
79830         * lib/strdup.h: New file.
79831         * lib/strdup.c: Include it.
79832         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
79833         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
79834
79835 2004-02-23  Karl Berry  <karl@gnu.org>
79836
79837         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
79838         (from fencepost.gnu.org:/gd/gnuorg).
79839
79840 2004-02-23  Karl Berry  <karl@gnu.org>
79841
79842         * config/srclistvars.sh (GNUORG) [karl]: redefine.
79843         * config/srclist.txt: add maintain/standards documents.
79844
79845 2004-02-18  Bruno Haible  <bruno@clisp.org>
79846
79847         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
79848         Reported by Derek Robert Price <derek@ximbiot.com>.
79849
79850 2004-02-16  Karl Berry  <karl@gnu.org>
79851
79852         * config/mkinstalldirs, install-sh: update from automake.
79853
79854 2004-02-06  Karl Berry  <karl@gnu.org>
79855
79856         * m4/po.m4: update from gettext 0.14.1.
79857
79858 2004-02-06  Karl Berry  <karl@gnu.org>
79859
79860         * lib/config.charset: update from gettext 0.14.1.
79861
79862 2004-02-05  Paul Eggert  <eggert@twinsun.com>
79863
79864         Add comments and code, prompted by suggestions from Bruno Haible
79865         for sh-quote.
79866         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
79867         describing the enum quoting_style values.
79868         * lib/quotearg.c (quotearg_alloc): New function.
79869         (quotearg_buffer_restyled): Treat lone { and } as special.
79870         Treat = as special.  Work around bug with older shells
79871         that "see" a '\' that is really the 2nd byte of a multibyte char.
79872         Quote empty string with shell_quoting_style.
79873
79874 2004-02-03  Bruno Haible  <bruno@clisp.org>
79875
79876         * m4/pipe.m4: New file, from GNU gettext.
79877
79878 2004-02-03  Bruno Haible  <bruno@clisp.org>
79879
79880         * lib/pipe.h: New file, from GNU gettext.
79881         * lib/pipe.c: New file, from GNU gettext.
79882
79883 2004-01-27  Bruno Haible  <bruno@clisp.org>
79884
79885         * m4/execute.m4: New file, from GNU gettext.
79886
79887 2004-01-27  Bruno Haible  <bruno@clisp.org>
79888
79889         * lib/execute.h: New file, from GNU gettext.
79890         * lib/execute.c: New file, from GNU gettext.
79891         * lib/w32spawn.h: New file, from GNU gettext.
79892
79893 2004-01-24  Paul Eggert  <eggert@twinsun.com>
79894
79895         Merge from diffutils.
79896
79897         * lib/file-type.c (file_type): Add typed memory objects.
79898         * lib/file-type.h (S_TYPEISTMO): New macro.
79899
79900         * lib/c-stack.h (c_stack_action): Remove argv argument.
79901         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
79902         (die): Don't calculate message unless segv_action returns.
79903         (get_stack_location, min_address_from_argv, max_address_from_argv,
79904         volatile stack_base, volatile_stack_size): Remove.
79905         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
79906         that every segmentation violation is a stack overflow.  (Ouch!)
79907         See Debian bug 136249 (still outstanding) for more info about why
79908         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
79909
79910 2004-01-24  Paul Eggert  <eggert@twinsun.com>
79911
79912         Exit-status fix from coreutils.
79913
79914         Use exit_failure consistently in place of EXIT_FAILURE,
79915         so that program exit statuses are consistent on failure.
79916
79917         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
79918         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
79919         * lib/argmatch.h: Comment fix to match the above.
79920         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
79921         Now a macro referring to exit_failure, instead of a separate
79922         variable.  Include "exitfail.h" to get it.
79923         * lib/xstrtol.h: Include "exitfail.h".
79924         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
79925
79926         * lib/long-options.c (parse_long_options): Use prototype
79927         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
79928         for clarity.
79929
79930 2004-01-21  Jim Meyering  <jim@meyering.net>
79931
79932         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
79933         so as not to conflict with a different-sized __mktime_internal
79934         function in GNU libc.
79935         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
79936         Problem building statically-linked `ls' reported by Michael Brunnbauer.
79937
79938 2004-01-20  Karl Berry  <karl@gnu.org>
79939
79940         * config/config.guess: update from config.
79941
79942         * config/srclistvars.sh: GNUWWWLICENSES for karl.
79943
79944 2004-01-20  Bruno Haible  <bruno@clisp.org>
79945
79946         Safer stack allocation.
79947         * lib/setenv.c: Include allocsa.h.
79948         (alloca): Remove fallback definition.
79949         (freea): Remove macro.
79950         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
79951         instead of freea.
79952
79953 2004-01-20  Bruno Haible  <bruno@clisp.org>
79954
79955         * m4/eealloc.m4: New file, from GNU gettext.
79956
79957 2004-01-20  Bruno Haible  <bruno@clisp.org>
79958
79959         * m4/allocsa.m4: New file, from GNU gettext.
79960
79961 2004-01-20  Bruno Haible  <bruno@clisp.org>
79962
79963         * lib/xallocsa.h: New file, from GNU gettext.
79964         * lib/xallocsa.c: New file, from GNU gettext.
79965
79966 2004-01-20  Bruno Haible  <bruno@clisp.org>
79967
79968         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
79969
79970 2004-01-20  Bruno Haible  <bruno@clisp.org>
79971
79972         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
79973         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
79974         specially.
79975
79976 2004-01-20  Bruno Haible  <bruno@clisp.org>
79977
79978         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
79979         patch.
79980
79981 2004-01-20  Bruno Haible  <bruno@clisp.org>
79982
79983         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
79984
79985 2004-01-20  Bruno Haible  <bruno@clisp.org>
79986
79987         * lib/eealloc.h: New file.
79988
79989 2004-01-20  Bruno Haible  <bruno@clisp.org>
79990
79991         * lib/binary-io.h: Avoid warnings on Cygwin.
79992
79993 2004-01-20  Bruno Haible  <bruno@clisp.org>
79994
79995         * lib/allocsa.h: New file, from GNU gettext.
79996         * lib/allocsa.c: New file, from GNU gettext.
79997
79998 2004-01-18  Karl Berry  <karl@gnu.org>
79999
80000         * doc/gpl.texi, doc/lgpl.texi: new files.
80001
80002 2004-01-18  Karl Berry  <karl@gnu.org>
80003
80004         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
80005         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
80006
80007 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80008
80009         Merge from coreutils.
80010
80011         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
80012         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
80013         (gl_DEFAULT_POSIX2_VERSION): Move
80014         the documentation from 'configure' into 'config.hin',
80015         so that 'configure --help' isn't burdened by it and
80016         we don't have to worry about its formatting there.
80017         Reword the documentation so that it's more succinct
80018         and can be run together into a single paragraph.
80019         * m4/same.m4 (gl_SAME): Check for pathconf.
80020
80021 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80022
80023         Merge from coreutils.
80024
80025         * lib/posixver.c: Include posixver.h.
80026
80027         * lib/same.c: Include <stdbool.h>, <limits.h>.
80028         (_POSIX_NAME_MAX): Define if not defined.
80029         (MIN): New macro.
80030         (same_name): If file names are silently truncated, report
80031         that the file names are the same if they are the same after
80032         the silent truncation.
80033
80034         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
80035         conversion function.
80036         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
80037         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
80038         longer needed.
80039
80040 2004-01-15  Jim Meyering  <jim@meyering.net>
80041
80042         Merge from coreutils.
80043
80044         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
80045         if no library is required.
80046         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
80047         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
80048         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
80049         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
80050         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
80051         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
80052         value, $ac_cv_search_crypt, if it's "none required".
80053         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
80054         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
80055         not gl_FUNC_GETLOADAVG.
80056         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
80057         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
80058
80059 2004-01-15  Jim Meyering  <jim@meyering.net>
80060
80061         Merge from coreutils.
80062
80063         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
80064         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
80065         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
80066
80067         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
80068         optional configure-time default.
80069
80070         * lib/version-etc.c (version_etc_copyright): Update copyright date.
80071
80072         * lib/xreadlink.c (xreadlink): Correct outdated comment.
80073
80074 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
80075
80076         Merge from coreutils.
80077
80078         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
80079         value, $ac_cv_search_nanosleep, if it's "none required".
80080
80081 2004-01-14  Paul Eggert  <eggert@twinsun.com>
80082
80083         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
80084         with like-named macro in fnmatch.c.
80085         (EXT): Use an internal constant instead.
80086
80087         Merge fnmatch patches from glibc.
80088         * lib/fnmatch.c (mbsinit): Remove define.
80089         Add libc_hidden_ver (__fnmatch, fnmatch).
80090         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
80091         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
80092
80093 2004-01-14  Karl Berry  <karl@gnu.org>
80094
80095         * config/install-sh: update from automake.
80096
80097 2004-01-13  Karl Berry  <karl@gnu.org>
80098
80099         * config/install-sh: update from automake.
80100
80101 2004-01-09  Karl Berry  <karl@gnu.org>
80102
80103         * config/install-sh: update from automake.
80104
80105 2004-01-05  Karl Berry  <karl@gnu.org>
80106
80107         * config/config.{sub,guess}: update from config.
80108
80109 2003-12-31  Karl Berry  <karl@gnu.org>
80110
80111         * config/depcomp: update from automake.
80112
80113 2003-12-14  Karl Berry  <karl@gnu.org>
80114
80115         * lib/config.charset: update from gettext-runtime.
80116
80117 2003-12-03  Paul Eggert  <eggert@twinsun.com>
80118
80119         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
80120         Bug reported by Alfred M. Szmidt.
80121
80122 2003-12-03  Bruno Haible  <bruno@clisp.org>
80123
80124         * m4/gettext.m4: Upgrade from gettext-0.13.
80125         * m4/po.m4: Upgrade from gettext-0.13.
80126         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
80127         * m4/intmax.m4: New file, from gettext-0.13.
80128         * m4/printf-posix.m4: New file, from gettext-0.13.
80129
80130 2003-11-29  Karl Berry  <karl@gnu.org>
80131
80132         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
80133
80134 2003-11-25  Paul Eggert  <eggert@twinsun.com>
80135             Bruno Haible  <bruno@clisp.org>
80136
80137         * lib/printf-parse.h: Don't include sys/types.h.
80138         (ARG_NONE): New macro.
80139         (char_directive): Change type of *arg_index fields to size_t.
80140         * lib/printf-parse.c: Don't include sys/types.h.
80141         (SSIZE_MAX): Remove macro.
80142         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
80143         Remove unnecessary overflow check.
80144         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
80145         fields.
80146
80147 2003-11-25  Bruno Haible  <bruno@clisp.org>
80148
80149         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
80150
80151 2003-11-25  Bruno Haible  <bruno@clisp.org>
80152
80153         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
80154         gt_TYPE_SSIZE_T.
80155
80156 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80157
80158         * modules/alloca: Remove dependency on xalloc.
80159
80160 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80161
80162         * lib/alloca.c: Remove dependency on xalloc module.
80163         (xalloc_die): Remove.
80164         (memory_full) [!defined emacs]: New macro.
80165         [!defined emacs]: Don't include xalloc.h.
80166         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
80167         address arithmetic overflows.  Change datatypes a bit to avoid
80168         unnecessary casts.
80169
80170 2003-11-22  Jim Meyering  <jim@meyering.net>
80171
80172         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
80173         s/size/size_t/.
80174
80175 2003-11-21  Karl Berry  <karl@gnu.org>
80176
80177         * config/config.{sub,guess}: update from config.
80178
80179 2003-11-18  Karl Berry  <karl@gnu.org>
80180
80181         * config/config.{sub,guess}: update from config.
80182
80183         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
80184
80185 2003-11-17  Paul Eggert  <eggert@twinsun.com>
80186
80187         * README: Mention that S+T cannot overflow if S is the size of
80188         an existing object and T is sufficiently small.
80189
80190 2003-11-17  Jim Meyering  <jim@meyering.net>
80191
80192         On systems without utime and without a utimes function capable of
80193         dealing with a NULL struct utimbuf* argument, this utime replacement
80194         could -- in unusual circumstances -- leak a file descriptor.
80195         * lib/utime.c: Include <unistd.h> and <errno.h>.
80196         (utime_null): Be sure to close `fd' and to preserve errno.
80197         Reported by Geoff Collyer via Arnold Robbins.
80198
80199 2003-11-17  Bruno Haible  <bruno@clisp.org>
80200
80201         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
80202         (Depends-on): Add xsize.
80203
80204 2003-11-17  Bruno Haible  <bruno@clisp.org>
80205
80206         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
80207
80208 2003-11-17  Bruno Haible  <bruno@clisp.org>
80209
80210         * lib/vasnprintf.c (alloca): Remove fallback definition.
80211         (freea): Remove definition.
80212         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
80213         Reported by Paul Eggert.
80214
80215 2003-11-16  Paul Eggert  <eggert@twinsun.com>
80216             Bruno Haible  <bruno@clisp.org>
80217
80218         Protect against address arithmetic overflow.
80219         * lib/printf-args.h: Include stddef.h.
80220         (arguments): Change type of field 'count' to size_t.
80221         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
80222         'unsigned int' where appropriate.
80223         * lib/printf-parse.h: Include sys/types.h.
80224         (char_directive): Change type of *arg_index fields to ssize_t.
80225         (char_directives): Change type of fields 'count', max_*_length to
80226         size_t.
80227         * lib/printf-parse.c: Include sys/types.h and xsize.h.
80228         (SSIZE_MAX): Define fallback value.
80229         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
80230         instead of 'int' where appropriate. Check a_allocated, d_allocated
80231         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
80232         * lib/vasnprintf.c: Include xsize.h.
80233         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
80234         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
80235         overflow. Avoid wraparound when converting a width or precision from
80236         decimal to binary.
80237
80238 2003-11-16  Bruno Haible  <bruno@clisp.org>
80239
80240         Update from GNU gettext.
80241         * lib/printf-parse.c: Generalize to it can be compiled for wide
80242         strings.
80243         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
80244         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
80245         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
80246         SNPRINTF): New macros.
80247         Don't include <alloca.h> if the file is used inside libintl.
80248         (local_wcslen): New function, for Solaris 2.5.1.
80249         (VASNPRINTF): Use it instead of wcslen.
80250
80251 2003-11-16  Bruno Haible  <bruno@clisp.org>
80252
80253         * lib/xsize.h (xmax): New function.
80254         (xsum, xsum3, xsum4): Declare as "pure" functions.
80255
80256 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80257
80258         * modules/xalloc (Files): Undo latest change, since xalloc.h
80259         no longer needs SIZE_MAX or PTRDIFF_MAX.
80260
80261 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80262
80263         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
80264         gl_PTRDIFF_MAX.
80265
80266 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80267
80268         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
80269         "return", to pacify some unknown compiler.  Problem reported
80270         by Joerg Schilling.
80271
80272 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80273
80274         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
80275         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
80276         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
80277         heuristic is just as accurate as far as we know, and it removes a
80278         dependency on size_max.m4 and ptrdiff_max.m4.
80279
80280 2003-11-11  Bruno Haible  <bruno@clisp.org>
80281
80282         * modules/xsize (Files): Add m4/size_max.m4.
80283         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
80284
80285 2003-11-11  Bruno Haible  <bruno@clisp.org>
80286
80287         * m4/size_max.m4: New file.
80288         * m4/ptrdiff_max.m4: New file.
80289         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
80290         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
80291         (gl_XALLOC): Invoke it.
80292
80293 2003-11-11  Bruno Haible  <bruno@clisp.org>
80294
80295         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
80296         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
80297         defined.
80298
80299 2003-11-10  Paul Eggert  <eggert@twinsun.com>
80300
80301         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
80302         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
80303         rejected some allocations of exactly SIZE_MAX - 2 bytes.
80304         From Bruno Haible.
80305         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
80306         not (size_t) -1, since it's defined here.
80307
80308 2003-11-09  Karl Berry  <karl@gnu.org>
80309
80310         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
80311
80312 2003-11-06  Paul Eggert  <eggert@twinsun.com>
80313
80314         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
80315         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
80316         Reject sizes of exactly SIZE_MAX bytes.
80317         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
80318         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
80319
80320 2003-11-05  Bruno Haible  <bruno@clisp.org>
80321
80322         * lib/xsize.h: Include limits.h, to avoid a possible collision with
80323         SIZE_MAX defined in <limits.h> on Solaris.
80324
80325 2003-11-04  Jim Meyering  <jim@meyering.net>
80326
80327         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
80328         variable names, rather than @VAR@.
80329         * modules/poll: Likewise.
80330
80331 2003-11-04  Bruno Haible  <bruno@clisp.org>
80332
80333         * modules/xsize: New file.
80334         * modules/linebreak: Depend on xsize.
80335         * MODULES.html.sh (func_all_modules): Add xsize.
80336
80337 2003-11-04  Bruno Haible  <bruno@clisp.org>
80338
80339         * m4/xsize.m4: New file.
80340
80341 2003-11-04  Bruno Haible  <bruno@clisp.org>
80342
80343         * lib/xsize.h: New file.
80344         * lib/linebreak.c: Include xsize.h.
80345         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
80346         argument for overflow.
80347         Suggested by Paul Eggert.
80348
80349 2003-11-03  Karl Berry  <karl@gnu.org>
80350
80351         * config/config.{guess,sub}: update from config.
80352
80353 2003-11-03  Jim Meyering  <jim@meyering.net>
80354
80355         * modules/userspec (lib_SOURCES): Add userspec.h.
80356         (Include): Add "userspec.h".
80357         Improve description.
80358
80359 2003-11-03  Jim Meyering  <jim@meyering.net>
80360
80361         * lib/userspec.c: Include "userspec.h".
80362         * lib/userspec.h: New file.
80363
80364 2003-11-03  Bruno Haible  <bruno@clisp.org>
80365
80366         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
80367
80368 2003-11-03  Bruno Haible  <bruno@clisp.org>
80369
80370         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
80371         available, to avoid (extremely rare) race condition.
80372         Suggested by Paul Eggert.
80373
80374 2003-11-02  Karl Berry  <karl@gnu.org>
80375
80376         * config/srclist.txt (vasprintf.c): sync broken, sigh.
80377
80378 2003-10-31  Paul Eggert  <eggert@twinsun.com>
80379
80380         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
80381         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
80382         (read_filesystem_list): Set and use me_type_malloced.
80383         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
80384         whatever the type happens to be), for brevity and consistency.
80385         Check for size calculation overflow on Alphas running OSF/1.
80386
80387 2003-10-31  Jim Meyering  <jim@meyering.net>
80388
80389         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
80390
80391         * lib/linebuffer.c: Include <string.h> for declaration of memset.
80392
80393 2003-10-30  Paul Eggert  <eggert@twinsun.com>
80394             Bruno Haible  <bruno@clisp.org>
80395
80396         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
80397         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
80398
80399 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80400
80401         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
80402         netbsd*-gnu*.  Suggested by Robert Millan.
80403
80404 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80405
80406         * modules/group-member: Depend on stdbool.
80407
80408 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80409
80410         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
80411
80412 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80413
80414         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
80415         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
80416         after the 'gnu' in these cases.  This fixes some bugs in the
80417         previous change, and is based on suggestions by Robert Millan.
80418
80419 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80420
80421         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
80422         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
80423         no longer needed.
80424         * lib/quotearg.c (quotearg_n_options): Use it.
80425         * lib/group-member.c: Include <stdbool.h>.
80426         (free_group_info): Arg is now const *; don't free arg.
80427         (get_group_info): Now returns bool and accepts struct group_info *,
80428         rather than returning a malloc'ed struct group_info *.
80429         All uses changed.  Check for overflow in internal size calculation.
80430
80431         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
80432         rather than xmalloc/xrealloc.
80433         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
80434         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
80435         conformance bug: the old code used a pointer after freeing the
80436         storage that it addressed.
80437         * lib/hash.c (hash_initialize): Simplify the code by using
80438         xalloc_oversized rather than doing it by hand.
80439         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
80440         the buffer preserved.  Use free and xmalloc instead.
80441         * lib/quotearg.c (quotearg_n_options): Likewise.
80442         Use a simpler test for size overflow.  Don't use xalloc_oversized
80443         because unsigned int might be wider than size_t (!); this suggests
80444         that we should switch from unsigned int to size_t for slot numbers.
80445
80446 2003-10-28  Paul Eggert  <eggert@twinsun.com>
80447
80448         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
80449         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
80450         NetBSD kernels.  Requested by Richard Stallman.
80451
80452 2003-10-27  Paul Eggert  <eggert@twinsun.com>
80453
80454         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
80455         to allocate the returned structure.  Do not allocate a subarray,
80456         as x2nrealloc will do that.
80457         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
80458         instead of xnrealloc.
80459         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
80460
80461 2003-10-27  Bruno Haible  <bruno@clisp.org>
80462
80463         * lib/stdbool_.h: Better support for BeOS.
80464
80465 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80466
80467         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
80468         now uses inline.
80469
80470 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80471
80472         * lib/xalloc.h (xalloc_oversized): New static inline function, for
80473         callers that want to do their own size-overflow checking.  Include
80474         <stdbool.h>, since xalloc_oversized returns bool.
80475         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
80476         to use xalloc_oversized.
80477
80478         Add two functions x2realloc, x2nrealloc, for programs that grow
80479         arrays dynamically by doubling their sizes.
80480         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
80481         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
80482         New functions.
80483
80484         Port to C99 semantics for 'inline' of external functions.
80485         Bug reported by Bruno Haible.
80486         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
80487         with the old contents of xnmalloc.
80488         (xnmalloc, xmalloc): Use it.
80489         (xnrealloc_inline): New static inline function,
80490         with the old contents of xnrealloc.
80491         (xnrealloc, xrealloc): Use it.
80492
80493         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
80494         that.
80495
80496 2003-10-26  Karl Berry  <karl@gnu.org>
80497
80498         * config/srclist.txt (COPYING.DOC): no longer available from
80499         /gd/gnuorg; don't know where the ultimate source is.
80500
80501 2003-10-25  Paul Eggert  <eggert@twinsun.com>
80502
80503         Fix several address-calculation bugs in the hash modules,
80504         plus some minor code cleanup.
80505
80506         * lib/hash.h: Include <stdbool.h>, for bool.
80507         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
80508         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
80509         hash_get_n_entries, hash_get_max_bucket_length,
80510         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
80511         hash_rehash): Use size_t rather than unsigned.
80512         * lib/hash.c (struct hash_table, hash_get_n_buckets,
80513         hash_get_n_buckets_used, hash_get_n_entries,
80514         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
80515         hash_get_entries, hash_do_for_each, hash_string, is_prime,
80516         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
80517         Likewise.
80518         (SIZE_MAX): Define if not defined.
80519         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
80520         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
80521         hash_print):
80522         Use const * when possible.
80523         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
80524         (check_tuning): Fix bug: if tuning parameters were very close to
80525         0 or 1, rounding errors could have caused subscript violations.
80526         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
80527         (hash_initialize): Add 'fail:' label
80528         to free table and return NULL, and use it to simplify code.
80529         Use calloc rather than clearing the storage ourself.
80530         (hash_initialize, hash_rehash): Check for arithmetic overflow in
80531         buffer size calculations.
80532         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
80533         Include <stddef.h>, for size_t.
80534         * lib/hash-pjw.c (hash_pjw): Likewise.
80535         Switch to method described by Bruno Haible.
80536         Include <limits.h>, for CHAR_BIT.
80537         (SIZE_BITS): New macro.
80538
80539 2003-10-23  Paul Eggert  <eggert@twinsun.com>
80540
80541         * m4/getline.m4 (AM_FUNC_GETLINE):
80542         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
80543         hosts.  Problem reported by Derek Robert Price in
80544         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
80545         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
80546         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
80547
80548 2003-10-21  Paul Eggert  <eggert@twinsun.com>
80549
80550         * lib/getndelim2.c (getndelim2): When size calculation overflows,
80551         ceiling the allocation at NMAX bytes rather than silently
80552         discarding input bytes before NMAX is reached.  This makes
80553         a difference only if NMAX exceeds SIZE_MAX / 2.
80554
80555         * lib/obstack.c: Merge from glibc.
80556         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
80557         Add libc_hidden_def (_obstack_newchunk).
80558         (_obstack_free) [! defined _LIBC]: Remove.
80559         [defined _LIBC]: Make a strong alias from obstack_free, rather than
80560         a clone of the function body.
80561         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
80562         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
80563
80564         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
80565         glibc.
80566         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
80567         arg to memcpy.
80568
80569         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
80570         (obstack_ptr_grow_fast, obstack_int_grow_fast):
80571         Don't use lvalue casts, as GCC plans to remove support for them
80572         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
80573         was also present in the non-GCC version, indicating that this
80574         code had always been buggy and had never been widely used.
80575         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
80576         Use the fast variant of each macro, rather than copying the
80577         definiens of the fast variant; that way, we'll be more likely to
80578         catch future bugs in the fast variants.
80579
80580 2003-10-20  Bruno Haible  <bruno@clisp.org>
80581
80582         * modules/wait-process: New file.
80583         * MODULES.html.sh (func_all_modules): Add wait-process.
80584
80585 2003-10-20  Bruno Haible  <bruno@clisp.org>
80586
80587         * m4/wait-process.m4: New file.
80588
80589 2003-10-20  Bruno Haible  <bruno@clisp.org>
80590
80591         * lib/wait-process.h: New file, from GNU gettext.
80592         * lib/wait-process.c: New file, from GNU gettext.
80593
80594 2003-10-19  Jim Meyering  <jim@meyering.net>
80595
80596         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
80597         HPUX 10.20.
80598
80599 2003-10-18  Karl Berry  <karl@gnu.org>
80600
80601         * config/config.guess: update from config.
80602
80603 2003-10-16  Paul Eggert  <eggert@twinsun.com>
80604
80605         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
80606         (getgroups): First arg is int, not size_t.
80607         Don't let 'free' mangle errno.
80608
80609 2003-10-16  Paul Eggert  <eggert@twinsun.com>
80610
80611         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
80612
80613 2003-10-16  Karl Berry  <karl@gnu.org>
80614
80615         * config/config.{guess,sub}: update from config.
80616
80617 2003-10-16  Jim Meyering  <jim@meyering.net>
80618
80619         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
80620         memcpy.
80621
80622 2003-10-15  Paul Eggert  <eggert@twinsun.com>
80623
80624         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
80625         (SIZE_MAX): Remove.
80626         (new_exclude, add_exclude_file): Initial size no longer needs to
80627         be a power of 2.
80628         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
80629         our own address arithmetic overflow checking.
80630
80631         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
80632         (fnmatch): Do not alloca more than 2000 wide characters;
80633         instead, use malloc for large buffers.
80634         Check for address arithmetic overflow, and return -1
80635         with errno set to ENOMEM in that case.
80636         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
80637         (NEW_PATTERN): Do not alloca more than 8000 bytes;
80638         instead, return -1.  Check for address arithmetic overflow.
80639
80640 2003-10-14  Paul Eggert  <eggert@twinsun.com>
80641
80642         Handle invalid suffixes and overflow independently, so that
80643         callers can treat them independently as needed.  Fix some bugs in
80644         suffix handling, e.g., "100k@" was not diagnosed as an invalid
80645         suffix for a human-readable blocksize.  The major caller-visible
80646         change is the addition of a new
80647         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
80648         that both overflow and suffix chars were found.
80649
80650         * lib/human.c (humblock): Don't check separately for invalid suffix
80651         char; that is xstrtoumax's job (now that its bug is fixed).
80652         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
80653         INTMAX_MAX]: New macros.
80654         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
80655         TYPE_MAXIMUM): New macros.
80656         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
80657         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
80658         if overflow occurs, as it's what __strtol does and it's more useful
80659         in practice.
80660         (__xstrtol): If __strtol reports some error other than ERANGE,
80661         reflect it to the caller as LONGINT_INVALID.  If it reports
80662         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
80663         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
80664         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
80665         value.
80666         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
80667         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
80668         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
80669         [defined UINTMAX_MAX]: New macros.
80670
80671 2003-10-14  Bruno Haible  <bruno@clisp.org>
80672
80673         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
80674
80675 2003-10-14  Bruno Haible  <bruno@clisp.org>
80676
80677         * m4/sig_atomic_t: New file, from GNU gettext.
80678         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
80679
80680 2003-10-14  Bruno Haible  <bruno@clisp.org>
80681
80682         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
80683         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
80684         Also use volatile where needed.
80685
80686 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80687
80688         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
80689         Change maintainer from Bruno Haible to 'all'.
80690
80691 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80692
80693         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
80694
80695 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80696
80697         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
80698         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
80699         and define in terms of the other primitives.
80700         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
80701         (SIZE_MAX): Define if not already defined.
80702         (array_size_overflow): New function.
80703         (xalloc_die): Abort instead of exiting if 'error' returns.
80704         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
80705         (xmalloc, xrealloc): Use them.
80706         (xcalloc): Check for address arithmetic overflow.
80707         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
80708         a bit faster than strcpy.
80709
80710 2003-10-10  Simon Josefsson  <jas@extundo.com>
80711
80712         * modules/argp (Depends-on): Add restrict and strcase.
80713
80714 2003-10-10  Simon Josefsson  <jas@extundo.com>
80715
80716         * m4/argp.m4: Add AC_C_INLINE.
80717
80718 2003-10-08  Paul Eggert  <eggert@twinsun.com>
80719
80720         Merge getpass from libc, plus a few fixes.
80721
80722         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
80723         Include <stdbool.h>.
80724         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
80725         __fsetlocking to empty.
80726         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
80727         do include <bits/libc-lock.h>.
80728         Do not include <fcntl.h>; not needed.
80729         [_LIBC]: Include <wchar.h>.
80730         (NOTCANCEL_MODE): New macro.
80731         (flockfile, funlockfile) [_LIBC]: New macros.
80732         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
80733         [!_LIBC]: New macros.
80734         (call_fclose): New function.
80735         (getpass): Use it.  Save tty stream separately; this simplifies the
80736         code and makes it more reliable if stdin happens to equal stdout.
80737         Invoke __fsetlocking on tty.
80738         Handle thread cancellation if needed.
80739         Namespace cleanup (use __tcgetattr, __getline).
80740         Use bool for Booleans.
80741         [USE_IN_LIBIO]: Handle wide streams.
80742         [!_LIBC]: Unconditionally do the fseek, since we don't know what
80743         stream might go where.
80744
80745         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
80746         doesn't have to include <stdio.h> before us.
80747         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
80748         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
80749         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
80750         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
80751         if not declared, so that we can use getpass.c code from libc without
80752         rewriting it.
80753         (flockfile, ftrylockfile, funlockfile): New macros.
80754
80755 2003-10-08  Paul Eggert  <eggert@twinsun.com>
80756
80757         * modules/getpass: Depend on stdbool.
80758
80759 2003-10-08  Paul Eggert  <eggert@twinsun.com>
80760
80761         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
80762
80763 2003-10-07  Karl Berry  <karl@gnu.org>
80764
80765         * config/config.{guess,sub}: update from config.
80766
80767 2003-10-06  Jim Meyering  <jim@meyering.net>
80768             Bruno Haible  <bruno@clisp.org>
80769
80770         This lets translators provide better translations for the
80771         "Written by ..." part of --version output.
80772         * lib/version-etc.h: Include stdarg.h.
80773         (version_etc_copyright): Declare as readonly.
80774         (version_etc): Make this function variadic with a NULL-terminated list
80775         of author name strings.
80776         (version_etc_va): New declaration.
80777         * lib/version-etc.c: Include stdarg.h, stdlib.h.
80778         (version_etc_copyright): Declare as readonly.
80779         (version_etc_va): New function. Provide a different translatable string
80780         for each possible number of authors < 10. Abbreviate when there are 10
80781         authors or more.
80782         (version_etc): Make this function variadic. Call version_etc_va.
80783         Suggestion from Gary V. Vaughan.
80784
80785         * lib/long-options.h (parse_long_options): Change prototype: the
80786         authors string is moved to the end and becomes variadic.
80787         * lib/long-options.c: Include stdarg.h.
80788         (parse_long_options): Make this function variadic, too.
80789         Call version_etc_va, not version_etc.
80790
80791 2003-10-06  Bruno Haible  <bruno@clisp.org>
80792
80793         * modules/version-etc-2: Remove file.
80794         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
80795
80796 2003-10-06  Bruno Haible  <bruno@clisp.org>
80797
80798         * modules/fatal-signal: New file.
80799         * MODULES.html.sh (func_all_modules): Add fatal-signal.
80800
80801 2003-10-06  Bruno Haible  <bruno@clisp.org>
80802
80803         * m4/fatal-signal.m4: New file.
80804         * m4/signalblocking.m4: New file, from GNU gettext.
80805
80806 2003-10-06  Bruno Haible  <bruno@clisp.org>
80807
80808         * lib/version-etc-2.h: Remove file.
80809         * lib/version-etc-2.c: Remove file.
80810
80811 2003-10-06  Bruno Haible  <bruno@clisp.org>
80812
80813         * lib/fatal-signal.h: New file, from GNU gettext.
80814         * lib/fatal-signal.c: New file, from GNU gettext.
80815
80816 2003-10-05  Paul Eggert  <eggert@twinsun.com>
80817
80818         * README: Rework advice for preventing empty .o files.
80819         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
80820         not <sys/types.h>.
80821
80822 2003-10-04  Karl Berry  <karl@gnu.org>
80823
80824         * lib/argp*: update from libc.
80825
80826 2003-10-04  Karl Berry  <karl@gnu.org>
80827
80828         * config/config.{guess,sub}: update from config.
80829
80830 2003-10-02  Bruno Haible  <bruno@clisp.org>
80831
80832         * modules/lchown (Include): Add lchown.h.
80833         * modules/time_r (Include): Use "..." syntax.
80834         * modules/xgetdomainname (Include): Add xgetdomainname.h.
80835
80836 2003-10-01  Simon Josefsson  <jas@extundo.com>
80837
80838         * MODULES.html.sh (func_all_modules): Move gethostname from section
80839         'based on' to section 'lacking' POSIX:2001.
80840
80841 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
80842
80843         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
80844         to output mode on the same stream.
80845
80846 2003-09-29  Paul Eggert  <eggert@twinsun.com>
80847
80848         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
80849         Fix arg typo in previous patch.
80850
80851 2003-09-28  Jim Meyering  <jim@meyering.net>
80852
80853         * lib/error.c: Correct cpp indentation.
80854
80855 2003-09-27  Paul Eggert  <eggert@twinsun.com>
80856
80857         * modules/free: New file.
80858
80859 2003-09-27  Paul Eggert  <eggert@twinsun.com>
80860
80861         * m4/free.m4: New file.
80862
80863 2003-09-27  Paul Eggert  <eggert@twinsun.com>
80864
80865         * lib/minmax.h (MIN, MAX)
80866         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
80867         Omit the special code that used __typeof__, since we worry that
80868         it could be more trouble than it's worth.  See:
80869         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
80870         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
80871
80872         * lib/free.c: New file.
80873
80874 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
80875
80876         Trivial fixes to Makefile.am parts of module listings.
80877         * modules/strstr: Append strstr.h to lib_SOURCES.
80878         * modules/strcase: Likewise, for strcase.h.
80879
80880 2003-09-27  Karl Berry  <karl@gnu.org>
80881
80882         * config/mkinstalldirs: update from automake.
80883
80884 2003-09-26  Paul Eggert  <eggert@twinsun.com>
80885
80886         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
80887         (error_tail): Do not loop, reallocating temporary buffer, since
80888         the output cannot contain more wide characters than the input
80889         contains bytes, the size must be big enough already.  This avoids
80890         one potential size overflow calculation.  Check for size overflow
80891         when calculating temporary buffer size.  Free temporary buffer
80892         when done, if it was allocated with malloc; this plugs a memory
80893         leak.  Remove casts from void * to pointers, that are no longer
80894         needed now that we're assuming C89 or better.
80895
80896         Merge error changes from glibc.
80897
80898         * lib/error.c, error.h: Update copyright notice header to match glibc.
80899         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
80900         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
80901         Disable cancellation while printing error.
80902         * lib/error.h: Prepend __ to parameter names.
80903
80904 2003-09-26  Jim Meyering  <jim@meyering.net>
80905
80906         * lib/error.c (error_tail): Move some declarations
80907         into inner scope where the local variables are used.
80908
80909 2003-09-26  Bruno Haible  <bruno@clisp.org>
80910
80911         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
80912         stpncpy().
80913         Don't define stpncpy through config.h; it's now done through stpncpy.h.
80914
80915 2003-09-26  Bruno Haible  <bruno@clisp.org>
80916
80917         * lib/stpncpy.h (gnu_stpncpy): New declaration.
80918         (stpncpy): Define as alias for gnu_stpncpy.
80919         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
80920
80921 2003-09-25  Simon Josefsson  <jas@extundo.com>
80922
80923         * lib/xgetdomainname.h: New file.
80924         * lib/xgetdomainname.c: New file.
80925
80926 2003-09-25  Simon Josefsson  <jas@extundo.com>
80927             Bruno Haible  <bruno@clisp.org>
80928
80929         * modules/getdomainname: New file.
80930         * modules/xgetdomainname: New file.
80931         * MODULES.html.sh (func_all_modules): Add getdomainname,
80932         xgetdomainname.
80933
80934 2003-09-25  Simon Josefsson  <jas@extundo.com>
80935             Bruno Haible  <bruno@clisp.org>
80936
80937         * m4/getdomainname.m4: New file.
80938
80939 2003-09-25  Simon Josefsson  <jas@extundo.com>
80940             Bruno Haible  <bruno@clisp.org>
80941
80942         * lib/getdomainname.h: New file.
80943         * lib/getdomainname.c: New file.
80944
80945 2003-09-25  Karl Berry  <karl@gnu.org>
80946
80947         * lib/argp-fmtstream.c, argp-help.c: update from libc.
80948
80949 2003-09-25  Karl Berry  <karl@gnu.org>
80950
80951         * config/install-sh: update from automake.
80952
80953 2003-09-25  Bruno Haible  <bruno@clisp.org>
80954
80955         * modules/version-etc-2: New file, from modules/version-etc with
80956         modifications.
80957         * MODULES.html.sh (func_all_modules): Add version-etc-2.
80958
80959 2003-09-25  Bruno Haible  <bruno@clisp.org>
80960
80961         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
80962         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
80963
80964 2003-09-24  Simon Josefsson  <jas@extundo.com>
80965
80966         * modules/xgethostname: Add xgethostname.h.
80967
80968 2003-09-24  Paul Eggert  <eggert@twinsun.com>
80969
80970         * lib/linebuffer.c (freebuffer): Don't free the argument, just
80971         the buffer associated with the argument.  Bug reported by
80972         Simon Josefsson.
80973
80974 2003-09-24  Paul Eggert  <eggert@twinsun.com>
80975
80976         * README: Document assumptions that 'int' is at least 32 bits
80977         wide, that integer arithmetic is 2's complement without overflow,
80978         that there are no holes in integer values, that adding sizes of
80979         two nonoverlapping objects can't overflow, and that all-bits-zero
80980         yields scalar zero.  Fix spelling and capitalization typos.
80981
80982 2003-09-19  Karl Berry  <karl@gnu.org>
80983
80984         * lib/argp.h: update from libc.
80985
80986 2003-09-17  Paul Eggert  <eggert@twinsun.com>
80987
80988         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
80989         to avoid spurious warnings like "AC_RUN_IFELSE was called before
80990         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
80991
80992 2003-09-17  Paul Eggert  <eggert@twinsun.com>
80993
80994         * gnulib-tool: Use "test -h", not "test -L", for portability
80995         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
80996         (tags_regexp): Remove, since \| doesn't conform to POSIX.
80997         (sed_extract_prog): Issue s commands one-by-one, rather than
80998         using \| in one s command.
80999
81000 2003-09-16  Paul Eggert  <eggert@twinsun.com>
81001
81002         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
81003         input error, instead of returning NULL the next time we are called
81004         (and therefore losing track of errno).
81005
81006 2003-09-16  Bruno Haible  <bruno@clisp.org>
81007
81008         * gnulib-tool (func_create_testdir): Warn about duplicated
81009         dependencies.
81010
81011 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81012
81013         * modules/argmatch, modules/fatal, modules/obstack,
81014         modules/xalloc, modules/xgethostname: Sort dependencies by
81015         importance, not alphabetically.
81016
81017 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81018
81019         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
81020         fails, so that the caller gets the proper errno.
81021
81022         * lib/readutmp.c (read_utmp): Likewise.
81023         Check for fstat error.  Close stream and free storage
81024         when failing.
81025
81026 2003-09-14  Karl Berry  <karl@gnu.org>
81027
81028         * config/srclist.txt (strdup.c): disable for c89 changes.
81029
81030 2003-09-14  Jim Meyering  <jim@meyering.net>
81031
81032         * lib/getloadavg.c: Correct cpp indentation.
81033         * lib/strdup.c: Likewise.
81034         * lib/vasnprintf.c: Likewise.
81035
81036 2003-09-14  Bruno Haible  <bruno@clisp.org>
81037
81038         * modules/fwriteerror: New file.
81039         * MODULES.html.sh (func_all_modules): Add fwriteerror.
81040
81041 2003-09-14  Bruno Haible  <bruno@clisp.org>
81042
81043         * lib/fwriteerror.h: New file.
81044         * lib/fwriteerror.c: New file.
81045
81046 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81047
81048         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
81049         modules/xgethostname, modules/xalloc: Depend on exit.
81050
81051 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81052
81053         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
81054
81055         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
81056         and AC_MINIX, too, so that their extensions are available.
81057
81058         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
81059         This macro has been superseded by gl_BACKUPFILE.
81060
81061         More patches to assume C89 or better.
81062
81063         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
81064
81065         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
81066         unconditionally.
81067         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
81068         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
81069         Include <string.h>, <stdlib.h> unconditionally.
81070         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
81071         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
81072         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
81073         headers or for string.h.
81074         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
81075         or strtoul.
81076
81077         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
81078         headers.
81079         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
81080         * m4/userspec.m4 (gl_USERSPEC): Likewise.
81081         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
81082         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
81083         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81084         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
81085         memcpy, memset.
81086         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
81087         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
81088         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
81089         strtol.
81090         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
81091         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
81092         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
81093         strtoul.
81094
81095 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81096
81097         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
81098         * lib/obstack.c [!defined _LIBC]: Likewise.
81099         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
81100         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
81101         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
81102
81103         More changes to assume C89 or better.
81104
81105         * lib/error.c (error_tail): Assume vprintf.
81106
81107         * lib/argmatch.c (getenv): Remove decl.
81108         * lib/progreloc.c (get_full_program_name): Define via prototype.
81109         * lib/setenv.c (clearenv): Likewise.
81110         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
81111         needed.
81112         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
81113         (malloc, memcpy): Remove decls.
81114         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
81115         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
81116         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81117         (memcpy): Remove macro.
81118         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
81119         (__P): Remove.  All uses removed.
81120         (PTR): Remove.  All uses changed to void *.
81121         (CHAR_BIT, NULL): Remove.
81122         (spaces, zeros, memset_space, memset_zero)
81123         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
81124         Remove.
81125         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
81126         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
81127         Define with prototype.
81128         Remove now-unnecessary prototype decl.
81129         (extra_args_spec): Assume ANSI C.  All uses changed.
81130         (extra_args_spec_iso): Remove.
81131         (my_strftime, emacs_strftimeu): Define via prototype.
81132         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
81133         unconditionally.
81134         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
81135         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
81136         (strtoul, strtol): Remove decls.
81137         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
81138         LONG_MAX): Remove.
81139         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81140         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
81141         (LOCALE_PARAM_PROTO): New macro.
81142         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
81143         (INTERNAL (strtol), strtol): Define with a prototype.
81144         (PARAMS): Remove.  All uses removed.
81145         * lib/tempname.c: Include <string.h> unconditionally.
81146         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
81147         * lib/xgethostname.c (main): Define with a prototype.
81148         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
81149         Include <stdlib.h> unconditionally.
81150         (calloc, malloc, realloc, free): Remove decls.
81151         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
81152         Include <stdlib.h> unconditionally.  Sort include file names.
81153         (strtod): Remove.
81154         (xstrtod): Define with a prototype.
81155         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
81156         (strtol, strtoul): Remove decls.
81157
81158 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81159
81160         More patches to assume C89 or better.
81161         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
81162         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
81163         string.h, memchr, STDC_HEADERS.
81164
81165 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81166
81167         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
81168         Include <stdlib.h>, <string.h> unconditionally.
81169         Remove now-unnecessary cast to char *.
81170         * lib/strnlen.c: Include <string.h> unconditionally.
81171         * lib/yesno.c (yesno): Define with a prototype.
81172
81173 2003-09-11  Bruno Haible  <bruno@clisp.org>
81174
81175         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
81176
81177 2003-09-10  Jim Meyering  <jim@meyering.net>
81178
81179         * lib/error.c: Correct indentation of cpp directives.
81180
81181 2003-09-10  Bruno Haible  <bruno@clisp.org>
81182
81183         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
81184         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
81185         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
81186         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
81187         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
81188         <stdlib.h> and <string.h> checks.
81189         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
81190         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
81191
81192 2003-09-10  Bruno Haible  <bruno@clisp.org>
81193
81194         * lib/strcspn.c: Include <string.h> unconditionally.
81195         * lib/strpbrk.c: Include <string.h> unconditionally.
81196         * lib/strstr.c: Include <string.h> unconditionally.
81197         * lib/unicodeio.c: Include <string.h> unconditionally.
81198         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
81199         * lib/unsetenv.c: Likewise.
81200         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
81201         * lib/yesno.c: Include <stdlib.h> unconditionally.
81202         (rpmatch): Add prototype.
81203
81204 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81205
81206         More patches to assume C89 or better.
81207         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
81208         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
81209         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
81210         or for string.h.
81211         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
81212         stdlib.h.
81213         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
81214         C headers.
81215         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
81216         string.h.
81217         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
81218         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
81219         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
81220         or for string.h.
81221         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
81222         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
81223         C headers.
81224         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
81225         memcpy.
81226         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
81227         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
81228         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
81229         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
81230         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
81231         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
81232         string.h, free.
81233         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
81234         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
81235         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
81236         C headers, or for string.h.
81237         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
81238         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
81239         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
81240         headers, memory.h, stdlib.h, string.h, strings.h.
81241         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
81242         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
81243         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
81244         strchr.
81245         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
81246         headers, memory.h, string.h.
81247         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
81248         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
81249         free.
81250         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
81251         headers.
81252         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
81253         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
81254         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
81255         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
81256         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
81257
81258 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81259
81260         More K&R removal.
81261
81262         * lib/acosl.c (main): Use a prototype.
81263         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
81264         tanl.c: Likewise.
81265
81266         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
81267
81268         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
81269         (getopt, etopt_long, getopt_long_only, _getopt_internal)
81270         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
81271         with a prototype.
81272         * lib/getopt.c (const): Remove macro.
81273         Include <string.h> unconditionally.
81274         (my_index): Remove; all uses changed to strchr.
81275         (strlen): Remove decl.
81276         (exchange): Remove forward decl; no longer needed.
81277         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
81278         Define with prototype.
81279         * lib/getopt1.c (const): Remove macro.
81280         (getopt_long, getopt_long_only, main): Define with prototype.
81281
81282         * lib/getugroups.c: Include <string.h> unconditionally.
81283
81284         * lib/getusershell.c: Include <stdlib.h> unconditionally.
81285         (getusershell, setusershell, endusershell, readname, main):
81286         Define with prototypes.
81287
81288         * lib/group-member.c: Include group-member.h first.
81289         Include <stdlib.h> unconditionally.
81290
81291         * lib/hard-locale.c: Include hard-locale.h first.
81292         Include <stdlib.h>, <string.h> unconditionally.
81293
81294         * lib/hash.c (free, malloc): Remove decls.
81295         Include <stdlib.h> unconditionally.
81296
81297         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
81298         (getenv): Do not declare.
81299
81300         * lib/idcache.c: Include <string.h> unconditionally.
81301
81302         * lib/long-options.c: Include long-options.h first, to test interface.
81303         Include <stdlib.h> unconditionally.
81304
81305         * lib/makepath.c: Include makepath.h first, to test interface.
81306         Include <stdlib.h> and <string.h> unconditionally.
81307
81308         * lib/linebuffer.c: Include <stdlib.h>.
81309         (free): Remove decl.
81310
81311         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
81312         stddef.h. rpl_malloc returns void *, not char *.
81313         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
81314         prototype.
81315
81316         * lib/md5.h: Include <limits.h> unconditionally.
81317         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
81318         (__P): Remove; all uses removed.
81319         * lib/md5.c: Include "md5.h" first.
81320         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
81321         md5_buffer, md5_process_bytes, md5_process_block):
81322         Define with prototypes.
81323         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
81324         * lib/sha.c: Include "sha.h" first.
81325         Include <stdlib.h>, <string.h> unconditionally.
81326
81327         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
81328         * lib/memcmp.c (__ptr_t): Likewise.
81329         * lib/memrchr.c (__ptr_t): Likewise.
81330         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
81331         Include <string.h> unconditionally.
81332         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
81333         * lib/memchr.c: Include <stdlib.h> unconditionally.
81334         * lib/memchr.c (LONG_MAX): Remove.
81335         * lib/memrchr.c (LONG_MAX): Likewise.
81336         * lib/memchr.c (__memchr): Define via a prototype.
81337         * lib/memrchr.c (__memrchr): Likewise.
81338         * lib/memcmp.c (__P): Remove, and remove all uses.
81339         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
81340         Remove forward decls; no longer needed.
81341         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
81342         Use types required by C89 in prototype.
81343
81344         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
81345         * lib/savedir.c: Likewise.
81346         * lib/mkdir.c (free): Remove decl.
81347         * lib/rmdir.c (rmdir): Define with a prototype.
81348         * lib/savedir.c: Include savedir.h first, to test interface.
81349
81350         * lib/mktime.c (STDC_HEADERS): Remove.
81351         Include <stdlib.h>, <string.h> unconditionally.
81352
81353         * lib/modechange.c: Include <stdlib.h> unconditionally.
81354         (malloc): Remove decl.
81355
81356         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
81357         (free): Remove decl.
81358
81359         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
81360         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
81361         (This type really should be intptr_t, but that's a C99ism.)
81362         (_obstack_memcpy): Remove: all uses changed to memcpy.
81363         Include <string.h> unconditionally.
81364         (struct obstack): Assume __STDC__ for types of members
81365         chunkfun, freefun, extra_arg.
81366         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
81367         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
81368         obstack_begin, obstack_specify_allocation,
81369         obstack_specify_allocation_with_arg, obstack_chunkfun,
81370         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
81371         Remove unprototyped decls and the macros that use them.
81372         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
81373         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
81374         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
81375         (defined __STDC__ && __STDC__)]:
81376         Remove nonprototyped code.
81377         Include <stdlib.h> unconditionally.
81378         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
81379         _obstack_allocated_p, _obstack_free, obstack_free,
81380         _obstack_memory_used, print_and_abort):
81381         Define using prototypes.
81382         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
81383         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
81384         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
81385         obstack_next_free, obstack_object_size, obstack_room) [0]:
81386         Remove unused, unprototyped code.
81387
81388         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
81389
81390         * lib/physmem.c (physmem_total, physmem_available, main): Define
81391         with prototypes.
81392
81393         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
81394         (main): Define with a prototype.
81395
81396         * lib/posixver.c (getenv): Remove decl.
81397
81398         * lib/putenv.c (malloc): Returns void *, not char *.
81399         Include <string.h> unconditionally.
81400         (strchr, memcpy, NULL): Do not define.
81401
81402         * lib/readtokens.c: Include readtokens.h first, to test interface.
81403         Include <stdlib.h>, <string.h> unconditionally.
81404         (init_tokenbuffer): Define with a prototype.
81405
81406         * lib/regex.c (PARAMS): Remove.  All uses removed.
81407         All uses of _RE_ARGS removed, too.
81408         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
81409         unconditionally.
81410         (bzero): Assume memset exists.
81411         (memcmp, memcpy, NULL): Remove.
81412         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
81413         char, or assignments to local vars of type signed char.
81414         (init_syntax_once, PREFIX(extract_number_and_incr),
81415         PREFIX(print_partial_compiled_pattern),
81416         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
81417         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
81418         PREFIX(regex_grow_registers), PREFIX(regex_compile),
81419         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
81420         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
81421         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
81422         wcs_compile_range, byte_compile_range, truncate_wchar,
81423         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
81424         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
81425         count_mbs_length, wcs_re_match_2_internal,
81426         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
81427         PREFIX(alt_match_null_string_p),
81428         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
81429         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
81430         regfree, PREFIX(extract_number)): Define with prototype.  Remove
81431         now-unnecessary declaration, if any.
81432         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
81433         regcomp, regexec):
81434         Remove now-unnecessary casts among pointer types.
81435         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
81436
81437         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
81438         (free): Remove decl.
81439
81440         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
81441
81442         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
81443         (free): Remove decl.
81444
81445         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
81446         * lib/xgetcwd.c: Likewise.
81447
81448         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
81449         (free): Remove decl.
81450
81451         * lib/strchrnul.c (strchrnul): Define with a prototype.
81452         Fix bug: c_in was not converted to char before searching.
81453
81454         The following changes are not K&R related:
81455
81456         * lib/group-member.h: Include <sys/types.h>, so that this file is
81457         self-contained.
81458         * lib/makepath.h: Likewise.
81459
81460         * lib/getusershell.c (readname, default_index, line_size, readname):
81461         Use size_t, not int, for sizes.
81462         (readname): If the size overflows, report an error instead of
81463         looping forever.
81464
81465 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81466
81467         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
81468         libc.
81469
81470 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81471
81472         * README: New section: portability guidelines.
81473
81474 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81475
81476         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
81477         C89 spec.
81478
81479 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81480
81481         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
81482
81483 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81484
81485         Assume C89 or better; remove K&R cruft.
81486         A few of these changes were first proposed by Derek Robert Price
81487         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
81488
81489         * lib/addext.c: Include <string.h> unconditionally.
81490         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
81491         Don't declare getenv or malloc.
81492
81493         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
81494         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
81495         (NULL): Remove.
81496         (find_stack_direction, alloca): Use prototypes.
81497
81498         * lib/atexit.c (atexit): Define using a prototype.
81499
81500         * lib/basename.c, dirname.c, stripslash.c:
81501         Include <string.h> unconditionally.
81502
81503         * lib/bcopy.c: Include <stddef.h>.
81504         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
81505
81506         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
81507
81508         * lib/error.h (error, error_at_line, error_print_progname)
81509         [! (defined (__STDC__) && __STDC__)]: Remove decls.
81510         * lib/error.c: Include error.h first, to check interface.
81511         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81512         (VA_START): Remove; all uses changeed to va_start.
81513         (exit, strerror): Remove decls.
81514         (error_print_progname): Prototype uncondionally.
81515         Don't include <errno.h>; no longer needed.
81516         (private_strerror): Remove.
81517         (error_tail): Always define.
81518         (error, error_at_line): Assume C89 or better; always use prototypes.
81519         * lib/fatal.c: Include "fatal.h" first, to test interface.
81520         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81521         (VA_START): Remove; all uses changed to va_start.
81522         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
81523         this case.
81524         (exit): Remove decl.
81525         (fatal): Prototype unconditionally.  Assume va_start works.
81526         Abort at end, to pacify gcc.
81527
81528         * lib/euidaccess.c (main): Define with a prototype.
81529
81530         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
81531
81532         * lib/exitfail.c: Include <stdlib.h> unconditionally.
81533
81534         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
81535         prototypes.
81536         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
81537         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
81538         (getenv): Remove decl.
81539         (fnmatch): Define using a prototype.
81540         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
81541         (FCT): Define using a prototype.
81542
81543         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
81544
81545         * lib/gethostname.c: Include <stddef.h>.
81546         (gethostname): Define with prototype.  Length is size_t, not int.
81547
81548 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81549
81550         Assume C89 or better; remove K&R cruft.
81551         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
81552         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
81553         string.h, getenv, malloc.
81554         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
81555         headers.
81556         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
81557         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
81558         do not check for strerror.
81559         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
81560         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
81561         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
81562         do not check for doprnt or vprintf.
81563         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
81564         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
81565
81566 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81567
81568         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
81569         getversion.c should have been removed then, but was accidentally
81570         preserved.
81571
81572         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
81573         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
81574
81575 2003-09-08  Karl Berry  <karl@gnu.org>
81576
81577         * config/config.sub, config.guess, srclistvars.sh: update from savannah
81578                 config, forget about prep.
81579
81580         * config/depcomp, missing: update from automake.
81581
81582 2003-09-07  Paul Eggert  <eggert@twinsun.com>
81583
81584         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
81585         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
81586
81587 2003-09-07  Paul Eggert  <eggert@twinsun.com>
81588
81589         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
81590         copy_tm_result.  Bug reported by Simon Josefsson in
81591         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
81592
81593 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81594
81595         * m4/time_r.m4: New file.
81596         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
81597         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
81598         is. Check for timegm declaration.
81599         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
81600         Do not check for gmtime_r.
81601         Replace mktime if __mktime_internal does not exist and if mktime
81602         hasn't been replaced already.
81603
81604 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81605
81606         * lib/time_r.c, lib/time_r.h: New files.
81607
81608         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
81609         __localtime_r.
81610         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
81611         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
81612
81613         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
81614         __gmtime_r.
81615         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
81616         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
81617         Include <time_r.h>.
81618
81619         * lib/timegm.c: Switch to glibc implementation, with the following
81620         changes:
81621         [defined HAVE_CONFIG_H]: Include <config.h>.
81622         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
81623         (__mktime_internal) [!defined _LIBC]: New decl.
81624         (__gmtime_r) [!defined _LIBC]: New macro and function.
81625         (timegm): Use a prototype, since gnulib assumes C89.
81626         Do not bother declaring tmp to be const, as it's not really usefu.
81627         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
81628         (timegm): Declare only if HAVE_DECL_TIMEGM.
81629
81630 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81631
81632         * MODULES.html.sh (func_all_modules): Add time_r.
81633         * modules/time_r: New file.
81634         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
81635         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
81636
81637 2003-09-03  Paul Eggert  <eggert@twinsun.com>
81638
81639         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
81640         Bug reported by Lute Kamstra in
81641         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
81642
81643         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
81644         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
81645         course with correspondingly smaller numbers for tomorrow and
81646         yesterday.  From Tadayoshi Funaba.  Originally installed into
81647         sh-utils on 1999-08-07, but the patch got lost (I guess during the
81648         coreutils merge?).
81649
81650 2003-08-31  Simon Josefsson  <jas@extundo.com>
81651
81652         * modules/timegm: New file.
81653         * MODULES.html.sh (func_all_modules): Add timegm.
81654
81655 2003-08-31  Simon Josefsson  <jas@extundo.com>
81656
81657         * m4/timegm.m4: New file.
81658
81659 2003-08-31  Simon Josefsson  <jas@extundo.com>
81660
81661         * lib/timegm.h: New file.
81662         * lib/timegm.c: New file.  Based on
81663         wget-1.8.2/src/http.c:mktime_from_utc.
81664
81665 2003-08-31  Karl Berry  <karl@gnu.org>
81666
81667         * lib/argp.h: update from libc.
81668
81669 2003-08-28  Bruno Haible  <bruno@clisp.org>
81670
81671         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
81672         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
81673         followed by '#define fnmatch fnmatch_posix' gives an error.
81674
81675 2003-08-28  Bruno Haible  <bruno@clisp.org>
81676
81677         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
81678         warning on QNX, which defines O_BINARY to 000000.
81679
81680 2003-08-27  Jim Meyering  <jim@meyering.net>
81681
81682         * m4/mkstemp.m4: Require that the system mkstemp be able to create
81683         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
81684         would fail after 32.  Reported by Danny Levinson.  Details here:
81685         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
81686
81687 2003-08-24  Bruno Haible  <bruno@clisp.org>
81688
81689         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
81690         MSVC7 <stdio.h> is included later.
81691
81692 2003-08-22  Simon Josefsson  <jas@extundo.com>
81693
81694         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
81695
81696 2003-08-20  Karl Berry  <karl@gnu.org>
81697
81698         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
81699
81700 2003-08-20  Bruno Haible  <bruno@clisp.org>
81701
81702         * modules/progname: New file.
81703         * MODULES.html.sh (func_all_modules): Add progname.
81704
81705 2003-08-20  Bruno Haible  <bruno@clisp.org>
81706
81707         * lib/progname.h: New file, from GNU gettext.
81708         * lib/progname.c: New file, from GNU gettext.
81709         * lib/progreloc.c: New file, from GNU gettext.
81710
81711 2003-08-19  Jim Meyering  <jim@meyering.net>
81712
81713         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
81714         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
81715
81716 2003-08-19  Bruno Haible  <bruno@clisp.org>
81717
81718         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
81719         more.
81720
81721 2003-08-19  Bruno Haible  <bruno@clisp.org>
81722
81723         * lib/xstrdup.c: Assume <string.h> exists.
81724
81725 2003-08-18  Paul Eggert  <eggert@twinsun.com>
81726
81727         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
81728         in makefile rules.
81729
81730 2003-08-18  Jim Meyering  <jim@meyering.net>
81731
81732         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
81733         * m4/lib-ld.m4: Likewise.
81734
81735 2003-08-18  Jim Meyering  <jim@meyering.net>
81736
81737         * lib/setenv.h: Indent nested cpp directive.
81738         * lib/vasnprintf.c: Remove trailing blanks.
81739
81740 2003-08-17  Simon Josefsson  <jas@extundo.com>
81741
81742         * modules/xstrndup: New file.
81743         * MODULES.html.sh (func_all_modules): Add xstrndup.
81744
81745 2003-08-17  Simon Josefsson  <jas@extundo.com>
81746
81747         * modules/argp: Fix autoconf macro name. Add more dependencies.
81748
81749 2003-08-17  Simon Josefsson  <jas@extundo.com>
81750
81751         * m4/xstrndup.m4: New file.
81752
81753 2003-08-17  Simon Josefsson  <jas@extundo.com>
81754
81755         * m4/argp.m4: New file.
81756
81757 2003-08-17  Simon Josefsson  <jas@extundo.com>
81758             Bruno Haible  <bruno@clisp.org>
81759
81760         * lib/xstrndup.h: New file.
81761         * lib/xstrndup.c: New file.
81762
81763 2003-08-17  Bruno Haible  <bruno@clisp.org>
81764
81765         * modules/strndup (Files, Include): Add lib/strndup.h.
81766
81767 2003-08-17  Bruno Haible  <bruno@clisp.org>
81768
81769         * modules/euidaccess (Files): Add lib/euidaccess.h.
81770
81771 2003-08-17  Bruno Haible  <bruno@clisp.org>
81772
81773         * lib/strndup.h: New file.
81774
81775 2003-08-17  Bruno Haible  <bruno@clisp.org>
81776
81777         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
81778         like AC_GNU_SOURCE.
81779         * modules/extensions (configure.ac): Comment out the invocation of
81780         gl_USE_SYSTEM_EXTENSIONS.
81781
81782 2003-08-16  Paul Eggert  <eggert@twinsun.com>
81783
81784         Merges from coreutils, etc.
81785         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
81786         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
81787         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
81788         fixing a typo.
81789         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
81790         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
81791
81792 2003-08-16  Paul Eggert  <eggert@twinsun.com>
81793
81794         Document merge from coreutils.
81795         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
81796         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
81797         * modules/utime: Add m4/utimes-null.m4.
81798
81799 2003-08-16  Paul Eggert  <eggert@twinsun.com>
81800
81801         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
81802         space, undoing this 2003-08-12 change:
81803         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
81804
81805 2003-08-16  Paul Eggert  <eggert@twinsun.com>
81806
81807         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
81808         strtoul.c from libc, undoing this 2003-08-12 change:
81809         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
81810
81811 2003-08-16  Jim Meyering  <jim@meyering.net>
81812
81813         Merges from coreutils.
81814         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
81815         prefix.  Adjust cache variables similarly.  Create 500 rather than
81816         just 300 files, to exercise bug on Darwin6.5, too.
81817         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
81818         $missing_dir.
81819         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
81820         AM_SYS_POSIX_TERMIOS.
81821         Reported by mkc@mathdogs.com.
81822         Also change use of $am_cv_sys_posix_termios
81823         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
81824         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
81825         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
81826         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
81827         in /proc/mounts until it finds one with matching device number.  This
81828         is unnecessary when the FILE argument *is* a mount point.  No stat call
81829         is necessary in that case.  So, disable the statvfs-testing code on
81830         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
81831         as RedHat bug# 84846.
81832         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
81833         to 1MB, so as not to render systems with no stack size limit (e.g.,
81834         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
81835         Include <unistd.h>.  On some systems,
81836         it is required for the definition of _SC_PAGESIZE.
81837
81838 2003-08-16  Jim Meyering  <jim@meyering.net>
81839
81840         Merge from coreutils.
81841         * lib/xstrtoimax.c: #else #if -> #elif.
81842         * lib/xstrtoumax.c: Likewise.
81843
81844 2003-08-16  Jim Meyering  <jim@meyering.net>
81845
81846         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
81847         * m4/utimes.m4: Removed.
81848         * m4/utimes-null.m4: Renamed from utimes.m4.
81849
81850         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
81851         to 1MB, so as not to render systems with no stack size limit (e.g.,
81852         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
81853         Include <unistd.h>.  On some systems,
81854         it is required for the definition of _SC_PAGESIZE.
81855
81856 2003-08-16  Jim Meyering  <jim@meyering.net>
81857         and Paul Eggert  <eggert@cs.ucla.edu>
81858
81859         Merges from coreutils, etc.
81860
81861         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
81862         using the latest version from cvs.  This avoids problems with #line
81863         directives using a vendor (Sun) compiler.
81864         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
81865         Don't set GETGROUPS_LIB here; now it's
81866         done via getgroups.m4's wrapper function.
81867         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
81868         rather than just in sh-util/configure.in, so that the
81869         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
81870         same.
81871         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
81872         AC_FUNC_GETLOADAVG where to find getloadavg.c.
81873         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
81874         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
81875         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
81876         Remove code that is now done by the newly-required macros.
81877         Append $(EXEEXT) to DF_PROG.
81878         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
81879         Do not invoke or require the following here,
81880         since prereq.m4 or some gnulib .m4 now does this for us:
81881         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
81882         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
81883         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
81884         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
81885         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
81886         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
81887         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
81888         AC_FUNC_OBSTACK.
81889         Do not replace the following functions, as this is now the job
81890         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
81891         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
81892         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
81893         atexit getpass, strdup, getpagesize.
81894         Replace 'raise'.
81895         Do not check for the following functions, as this is now the job
81896         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
81897         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
81898         setregid.
81899         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
81900         Check for sys/sysctl.h.
81901         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
81902         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
81903         of checking for ssize_t ourselves.
81904
81905         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
81906         Require every macro that gnulib/modules/* suggests for us.
81907         (jm_PREREQ_ADDEXT): New macro.
81908         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
81909         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
81910
81911         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
81912         (gl_PHYSMEM): Use it.
81913         Also check for `table' function.
81914         Check for new headers and functions.
81915         Add check for sys/sysmp.h.
81916         With suggestions from Kaveh Ghazi.
81917         Ignore headers that are present but cannot be compiled.  This
81918         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
81919         C 5.4.
81920
81921 2003-08-15  Paul Eggert  <eggert@twinsun.com>
81922
81923         Document merge from coreutils.
81924         * modules/userspec: Depend on posixver.
81925         * modules/strftime: Depend on tzset.
81926
81927 2003-08-15  Paul Eggert  <eggert@twinsun.com>
81928
81929         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
81930         rather than tab, after '#' in shell-script copyright notices.
81931         Suggested by Bruno Haible.
81932
81933 2003-08-15  Paul Eggert  <eggert@twinsun.com>
81934
81935         * config/srclist-update: Use three spaces, rather than tab, after '#'
81936         in shell-script copyright notices.  Suggested by Bruno Haible.
81937         Remove unnecessary parenthesization in regular expression.
81938
81939 2003-08-15  Jim Meyering  <jim@meyering.net>
81940
81941         Merge from coreutils.
81942         * lib/xgethostname.c: Include <stdlib.h>.
81943         (xghostname): Don't exit for anything other than memory-related
81944         failure; just return NULL.
81945         * lib/userspec.c: Include "posixver.h".
81946         (parse_user_spec): Accept `.' as a separator only
81947         in pre-POSIX-200112 mode.
81948         * lib/strtoimax.c: Use #elif rather than #else #if.
81949         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
81950         Remove function, now that we can rely on a working tzset function.
81951         [!_LIBC]: Ensure that the required autoconf test has been run.
81952         [!defined _NL_CURRENT && HAVE_STRFTIME]:
81953         Use underlying_strftime for %r.
81954         * lib/sha.c: Merge in some clean-up and optimization changes from
81955         glibc.
81956         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
81957         Ensure that it is a multiple of 64.
81958         Rearrange loop exit tests so as to avoid performing an
81959         additional fread after encountering an error or EOF.
81960         * lib/realloc.c: Update copyright date.
81961
81962 2003-08-15  Jim Meyering  <jim@meyering.net>
81963         and Paul Eggert  <eggert@twinsun.com>
81964
81965         Merge from coreutils.
81966         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
81967         member but strut utmpx does not.  Needed for AIX 4.3.3.
81968         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
81969
81970 2003-08-15  Jim Meyering  <jim@meyering.net>
81971         and Paul Eggert  <eggert@cs.ucla.edu>
81972
81973         Merges from coreutils, etc.
81974         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
81975         Require gl_FUNC_TZSET_CLOBBER.
81976         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
81977         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
81978         members.
81979
81980 2003-08-14  Paul Eggert  <eggert@twinsun.com>
81981
81982         Help the merge from coreutils.
81983         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
81984         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
81985         * m4/tzset.m4: Use it too.
81986
81987 2003-08-14  Paul Eggert  <eggert@twinsun.com>
81988
81989         * modules/tzset: New file.
81990
81991 2003-08-14  Jim Meyering  <jim@meyering.net>
81992
81993         Merges from coreutils.
81994         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
81995         variable names, rather than @FNMATCH_H@.
81996         * modules/alloca: Likewise for $(ALLOCA_H).
81997
81998         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
81999         the three copies of the literal target, `fnmatch.h'.
82000         * modules/alloca (alloca.h): Likewise.
82001
82002 2003-08-14  Jim Meyering  <jim@meyering.net>
82003
82004         Merge from coreutils.
82005         * m4/tzset.m4: New file.
82006         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
82007         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
82008         otherwise, AIX 5.1 systems would end up using the latter.
82009         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
82010         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
82011         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
82012         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
82013
82014 2003-08-14  Jim Meyering  <jim@meyering.net>
82015
82016         Merge from coreutils.
82017         * lib/obstack.h: Whitespace changes.
82018         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
82019         and xcalloc return values.
82020         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
82021         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
82022         hang on OSF/1 5.1 for DIR on both local and remote file systems.
82023         Reported by (and fix confirmed by) Nelson H. F. Beebe.
82024         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
82025         error from mntctl.
82026         Use mntctl's return value to drive the entry-processing loop, since
82027         we can't rely on the value of the vmt_length member in the last
82028         entry.  On some systems doing so could result in exhausting
82029         virtual memory.  Based in part on a patch from Mike Jetzer.
82030
82031 2003-08-14  Jim Meyering  <jim@meyering.net>
82032         and Paul Eggert  <eggert@twinsun.com>
82033
82034         Merges from coreutils, plus other fixes.
82035         * lib/physmem.c: Merge in portability changes from gcc/libiberty
82036         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
82037         for credits and details.  Thanks to Kaveh Ghazi for helping
82038         to keep these files in sync.
82039         (ARRAY_SIZE): Define it.
82040         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
82041         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
82042         (memcasecmp): Don't assume size_t fits in unsigned int.
82043         Remove casts and duplicate code.
82044         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
82045         (memcpy): Remove definition.
82046         Merge in some clean-up and optimization changes from glibc.
82047         [BLOCKSIZE]: Move definition to top of file.
82048         Ensure that it is a multiple of 64.
82049         Rearrange loop exit tests so as to avoid performing an
82050         additional fread after encountering an error or EOF.
82051         * lib/md5.h (md5_uintptr): Define.
82052         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
82053         return to the initial working directory.  Preserve errno
82054         for caller.
82055         * lib/idcache.c: Include "xalloc.h".
82056         (xmalloc, xrealloc): Remove decls.
82057         (getuser): Remove casts no longer required in C89.
82058         * lib/human.c: Include stdio.h, for sprintf.
82059         * lib/group-member.c: Include "xalloc.h".
82060         (xmalloc, xrealloc): Remove decls.
82061         (get_group_info): Remove casts no longer required in C89.
82062         * lib/getusershell.c (readname): Remove casts no longer required in
82063         C89.
82064         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
82065         * lib/getline.c: Whitespace fix, from coreutils.
82066
82067 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82068
82069         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
82070         Check for isascii.
82071
82072         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82073         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82074         Undo previous (whitespace-only) change.
82075
82076 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82077
82078         * lib/exclude.c: Include <ctype.h>
82079         (IN_CTYPE_DOMAIN): New macro.
82080         (is_space): New fn.
82081         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
82082         and empty lines.
82083
82084         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82085         Undo previous (whitespace-only) change.
82086
82087 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82088
82089         * config/srclist-update: Change update back to the old behavior,
82090         leaving whitespace alone.  Use one 'sed' command rather than a
82091         pipeline.
82092         (fixlicense): Now a variable, not a function.
82093         (remove_trailing_blanks): Remove.
82094         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
82095         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82096         Undo previous (whitespace-only) change.
82097
82098 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82099
82100         Merge from coreutils.
82101         * modules/euidaccess: Add lib_SOURCES, include for new
82102         file euidaccess.h
82103
82104 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82105
82106         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82107         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82108         Normalize leading white space and remove trailing white space.
82109
82110         Merge from coreutils
82111         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
82112
82113         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
82114         0.12.1.  These files are now being upgraded automatically by
82115         ../config/srclist-update.
82116
82117 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82118
82119         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82120         Normalize leading white space and remove trailing white space.
82121         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
82122         notice, as per ../config/srclist-update.
82123
82124         Merge from coreutils.
82125         * lib/euidaccess.h: New file.
82126         * lib/euidaccess.c: Include it.
82127         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
82128         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
82129         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
82130
82131 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82132
82133         * config/srclist-update: Add copyright notice.
82134         (remove_id_lines, remove_trailing_blanks): New constants.
82135         (fixfile): Use them to normalize spacing a bit in copied files.
82136         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82137         Normalize leading white space and remove trailing white space.
82138
82139         * config/texinfo.tex: Sync with texinfo.
82140
82141         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
82142         strtoul.c from libc, to merge coreutils whitespace changes.
82143
82144         * config/srclist.txt: Get the following m4 files from gettext:
82145         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
82146         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
82147         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
82148         wint_t.m4.
82149
82150 2003-08-12  Karl Berry  <karl@gnu.org>
82151
82152         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
82153         been made.
82154
82155 2003-08-11  Paul Eggert  <eggert@twinsun.com>
82156
82157         * modules/gnu-source, m4/gnu-source.m4:
82158         Remove; we're assuming Autoconf 2.54 or later now.
82159         Suggested by Bruno Haible.
82160         * MODULES.html.sh (func_all_modules): Remove gnu-source.
82161
82162 2003-08-11  Bruno Haible  <bruno@clisp.org>
82163
82164         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
82165
82166 2003-08-11  Bruno Haible  <bruno@clisp.org>
82167
82168         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
82169         (vasnprintf): Use it instead of wcslen.
82170
82171 2003-08-11  Bruno Haible  <bruno@clisp.org>
82172
82173         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
82174         value to ensure that _Bool promotes to int. Use #define for _Bool when
82175         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
82176
82177 2003-08-10  Karl Berry  <karl@gnu.org>
82178
82179         * lib/regex.h: update from libc (whitespace fix).
82180
82181 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82182
82183         Merge some files from coreutils.  These changes were
82184         originally made by Jim Meyering.
82185         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
82186         many older Unixes require this.
82187         * lib/alloca.c (alloca): Remove cast to argument of free;
82188         no longer needed in C89.
82189         * lib/alloca_.h, regex.h: Fix white space to match
82190         what GNU indent does.
82191
82192 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82193
82194         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
82195         apparently Emacs's Unicode mode got confused before my 2003-08-05
82196         checkin.
82197
82198 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82199
82200         * m4/extensions.m4: New file.
82201         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
82202         Require gl_USE_SYSTEM_EXTENSIONS.
82203         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
82204         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
82205
82206 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82207
82208         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
82209         * modules/extensions, modules/gnu-source: New files.
82210         * modules/timespec, modules/unlocked-io: Depend on extensions.
82211
82212 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82213
82214         * modules/restrict: New file.
82215         * MODULES.html.sh (func_all_modules): Add restrict.
82216         * modules/regex: Depend on restrict.
82217
82218 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82219
82220         * m4/restrict.m4: New file.
82221         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
82222
82223 2003-08-07  Bruno Haible  <bruno@clisp.org>
82224
82225         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
82226         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
82227
82228 2003-08-07  Bruno Haible  <bruno@clisp.org>
82229
82230         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
82231         makes the module 'getndelim2' compatible with the module 'getline'.
82232
82233 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82234
82235         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
82236         byte with "\201" to avoid glitches when editing that source file
82237         with multi-gnome-terminal.
82238
82239 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82240
82241         * lib/bumpalloc.h: Remove.
82242
82243 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82244
82245         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
82246         * modules/bumpalloc: Remove.
82247
82248 2003-08-04  Paul Eggert  <eggert@twinsun.com>
82249
82250         * lib/getloadavg.c: Change copyright notice and spacing to conform to
82251         GNU coding style.
82252
82253         Merge from coreutils.
82254         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
82255         1. From glibc.
82256         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
82257         from Karl Berry, implemented by Jim Meyering.
82258         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
82259         from Dmitry V. Levin.
82260         Remove anachronistic cast of xrealloc.
82261         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
82262         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
82263         type. Otherwise, it wouldn't compile with at least /bin/cc on
82264         ymp-cray-unicos9.0.2.X.
82265         Combine two mostly-identical uses of alloca into one.
82266         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
82267
82268 2003-08-04  Dave Love  <d.love@dl.ac.uk>
82269
82270         [From Emacs.]
82271
82272         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
82273         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
82274         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
82275         obsolete NLIST_NAME_UNION.
82276         [__GNU__]: Undef BSD and FSCALE.
82277         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
82278
82279 2003-08-03  Paul Eggert  <eggert@twinsun.com>
82280
82281         * lib/stdbool_.h (_Bool): Make it signed char, instead of
82282         an enum type, so that it's guaranteed to promote to int.  See:
82283         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
82284
82285 2003-08-03  Karl Berry  <karl@gnu.org>
82286
82287         * config/depcomp: update from automake.
82288
82289 2003-07-31  Paul Eggert  <eggert@twinsun.com>
82290
82291         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
82292         (strerror): Don't assume that a printable int fits in 14 bytes.
82293
82294 2003-07-31  Bruno Haible  <bruno@clisp.org>
82295
82296         * modules/getpass-gnu: New file.
82297         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
82298
82299 2003-07-31  Bruno Haible  <bruno@clisp.org>
82300
82301         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
82302
82303 2003-07-24  Karl Berry  <karl@gnu.org>
82304
82305         * config/missing: update from automake.
82306
82307 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
82308             Bruno Haible  <bruno@clisp.org>
82309
82310         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
82311         * lib/getline.c (getline, getdelim): Likewise.
82312         Remove _GNU_SOURCE define; now it's defined in config.h through
82313         m4/getline.m4.
82314
82315 2003-07-23  Karl Berry  <karl@gnu.org>
82316
82317         * config/config.sub: update from prep.
82318
82319 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82320
82321         * modules/xalloc (Depends-on): Add exitfail.
82322         * modules/xmemcoll: Likewise.
82323
82324 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82325
82326         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
82327         over-parenthesization in macros.
82328
82329         Sync with coreutils.
82330
82331         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
82332         required by C99.
82333
82334         Use `exit_failure' for xalloc and xmemcoll instead of their own
82335         private exit-failure variables.
82336         * lib/xalloc.h (xalloc_exit_failure): Remove.
82337         * lib/xmalloc.c: Likewise.  Include exitfail.h.
82338         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
82339         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
82340         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
82341         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
82342
82343 2003-07-20  Jim Meyering  <jim@meyering.net>
82344
82345         * modules/closeout (Depends-on): Add exitfail.
82346         Suggestion from Bruno Haible.
82347
82348 2003-07-19  Karl Berry  <karl@gnu.org>
82349
82350         * config/config.sub: update from prep.
82351
82352 2003-07-18  Paul Eggert  <eggert@twinsun.com>
82353
82354         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
82355         Remove.
82356         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
82357         to test that it can stand by itself.  Include "exitfail.h".
82358         Clients should set exit_failure instead.
82359         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
82360
82361 2003-07-18  Bruno Haible  <bruno@clisp.org>
82362
82363         * modules/getndelim2: New file.
82364         * modules/getline: Share files with module getndelim2.
82365         * modules/getnline: Depend on getndelim2 instead of sharing files with
82366         it. Add getnline.c to lib_SOURCES.
82367         * MODULES.html.sh (func_all_modules): Add getndelim2.
82368
82369 2003-07-18  Bruno Haible  <bruno@clisp.org>
82370
82371         * m4/getndelim2.m4: New file.
82372         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
82373         invoke gl_PREREQ_GETNDELIM2.
82374         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
82375         gl_PREREQ_GETNDELIM2.
82376         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
82377         gl_GETNDELIM2.
82378
82379 2003-07-18  Bruno Haible  <bruno@clisp.org>
82380
82381         * lib/getndelim2.h: New file.
82382         * lib/getndelim2.c: Make into a module of its own. Include config.h,
82383         getndelim2.h.
82384         (getndelim2): Make non-static. Change return type to ssize_t.
82385         * lib/getline.h: Change argument names.
82386         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
82387         * lib/getnline.c: Include getndelim2.h.
82388
82389 2003-07-18  Andreas Schwab  <schwab@suse.de>
82390
82391         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
82392
82393 2003-07-17  Karl Berry  <karl@gnu.org>
82394
82395         * config/config.sub: update from prep.
82396
82397 2003-07-17  Bruno Haible  <bruno@clisp.org>
82398
82399         * modules/getnline: New file.
82400         * modules/getline: Add lib/getndelim2.c to source file list.
82401         * MODULES.html.sh (func_all_modules): Add getnline.
82402
82403 2003-07-17  Bruno Haible  <bruno@clisp.org>
82404
82405         * m4/getnline.m4: New file.
82406
82407 2003-07-17  Bruno Haible  <bruno@clisp.org>
82408
82409         * m4/Makefile.am.in: Remove file.
82410         * m4/Makefile.am: Remove file.
82411         * m4/Makefile.in: Remove file.
82412
82413 2003-07-17  Bruno Haible  <bruno@clisp.org>
82414
82415         * lib/getnline.h: New file.
82416         * lib/getnline.c: New file.
82417         * lib/getndelim2.c: New file, extracted from getline.c.
82418         (getndelim2): Renamed from getdelim2, with added nmax argument.
82419         * lib/getline.c: Include getndelim2.c.
82420         (getdelim2): Moved out to getndelim2.c.
82421         (getline, getdelim): Update.
82422
82423 2003-07-17  Bruno Haible  <bruno@clisp.org>
82424
82425         * lib/Makefile.am: Remove file.
82426         * lib/Makefile.in: Remove file.
82427
82428 2003-07-17  Bruno Haible  <bruno@clisp.org>
82429
82430         * configure.in: Remove file.
82431         * Makefile.in: Remove file.
82432
82433 2003-07-17  Bruno Haible  <bruno@clisp.org>
82434
82435         * MODULES.html.sh: Put the </BODY> right before </HTML>.
82436
82437 2003-07-16  Karl Berry  <karl@gnu.org>
82438
82439         * config/srclist-update: was running fixlicense twice, which caused
82440                 texinfo.tex to be nullified for some reason.  Simplify,
82441                 $gplsrc is no longer needed as far as I can see?
82442
82443 2003-07-16  Jim Meyering  <jim@meyering.net>
82444
82445         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
82446
82447 2003-07-15  Paul Eggert  <eggert@twinsun.com>
82448
82449         * config/srclist.txt: Get the following files from gettext-runtime/intl
82450         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
82451         ref-del.sin.  From Bruno Haible.
82452         * config/srclist-update (fixfile): Change grep pattern again, since the
82453         previous fix didn't work (there was another trailing $).  Use
82454         '[$]' to escape the $s.
82455
82456 2003-07-15  Karl Berry  <karl@gnu.org>
82457
82458         * lib/vasnprintf.c: update from gettext.
82459
82460 2003-07-15  Karl Berry  <karl@gnu.org>
82461
82462         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
82463         gets expanded when surrounded by '$'.
82464
82465 2003-07-15  Jim Meyering  <jim@meyering.net>
82466
82467         * modules/save-cwd: Don't depend on error.  From Derek Price.
82468
82469 2003-07-15  Jim Meyering  <jim@meyering.net>
82470
82471         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
82472
82473 2003-07-14  Simon Josefsson  <jas@extundo.com>
82474
82475         * modules/mempcpy: New file.
82476         * MODULES.html.sh (func_all_modules): Add mempcpy.
82477
82478 2003-07-14  Simon Josefsson  <jas@extundo.com>
82479
82480         * m4/mempcpy.m4: New file.
82481
82482 2003-07-14  Simon Josefsson  <jas@extundo.com>
82483
82484         * lib/mempcpy.h: New file.
82485         * lib/mempcpy.c: New file.
82486
82487 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82488
82489         * modules/getdate, modules/posixtm: Depend on mktime.
82490
82491 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82492
82493         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
82494         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
82495         unicodeio.c, unicodeio.h, unlocked-io.h:
82496         Switch from LGPL to GPL.
82497
82498 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82499
82500         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
82501         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
82502         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
82503         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
82504         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
82505         updated automatically by ../config/srclist-update.  This changes
82506         their license from LPGL to GPL.
82507
82508 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82509
82510         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
82511         assumed to refer to the root of the most recent stable gettext version.
82512         * config/srclistvars.sh: Add defaults for eggert.
82513         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
82514         Match "This program" as well as "The program".  This is needed
82515         for gettext.
82516
82517 2003-07-14  Jim Meyering  <jim@meyering.net>
82518
82519         Don't emit diagnostics.  Let callers do that.
82520         * lib/save-cwd.c: Don't include "error.h".
82521         (save_cwd): Don't call error.  Ensure that errno is valid
82522         when returning nonzero.
82523
82524         * lib/save-cwd.h (restore_cwd): Update prototype.
82525         * lib/save-cwd.c (restore_cwd): Remove two parameters.
82526         Simplify.  Don't call error upon failure.  Let callers do that.
82527         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
82528         when auditing is enabled.  But don't bother updating the #if.
82529
82530 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
82531
82532         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
82533         it breaks C++ compilation.
82534         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
82535
82536 2003-07-10  Simon Josefsson  <jas@extundo.com>
82537
82538         * modules/strchrnul (Makefile.am): Add strchrnul.h.
82539
82540 2003-07-10  Jim Meyering  <jim@meyering.net>
82541
82542         * m4/clock_time.m4: Remove trailing blank.
82543         * m4/intmax_t.m4: Likewise.
82544
82545 2003-07-10  Jim Meyering  <jim@meyering.net>
82546
82547         * lib/vasnprintf.c: Remove trailing blanks.
82548         Make cpp indentation consistent.
82549
82550 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82551
82552         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
82553         posixver.c, strftime.c, strnlen.c, strverscmp.c:
82554         Switch from LGPL to GPL.
82555
82556 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82557
82558         * config/srclist.txt: Sort sublists.  Add
82559         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
82560         that differ from gnulib for one reason or another; we'd like this list
82561         to be smaller but for now let's document what we have.
82562
82563 2003-07-08  Paul Eggert  <eggert@twinsun.com>
82564
82565         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
82566         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
82567         and sweeter "eval x=$x".
82568         * config/srclist.txt: Get lib/argp* from glibc.
82569
82570 2003-07-07  Paul Eggert  <eggert@twinsun.com>
82571
82572         * lib/mktime.c: Fix some boundary cases and remove need for floating
82573         point.
82574
82575         Issue a compile-time diagnostic if time_t is floating point, or if
82576         two's complement arithmetic is not in effect, or if arithmetic
82577         right shift does not propagate the sign.  These assumptions were
82578         all in the original code but they weren't checked.
82579
82580         (TIME_T_MIDPOINT, verify): New macros.
82581         (__isleap): Remove; it has integer overflow problems.
82582         (leapyear): New function, without those problems.
82583         (ydhms_tm_diff): Remove; splitting into two parts.
82584         (ydhms_diff): New function, containing the arithmetic part of
82585         the old ydhms_tm_diff function.  Issue a compile-time
82586         diagnostic if we are not using C99 integer division.
82587         Avoid casts when possible.
82588         (guess_time_tm): New function, containing the checking part of
82589         the old ydhms_tm_diff function.  Return the new value, rather than
82590         the difference between it and the old.  Accept a new argument T
82591         so that *T specifies the old value.  Check for overflow in the result.
82592
82593         (__mktime_internal): Use a time_t offset, not a long int offset.
82594         This undoes the 2003-06-04 change, which is no longer needed now
82595         that we have better overflow checking.
82596         (localtime_offset): Likewise.
82597
82598         (__mktime_internal): Avoid harmful overflow on hosts where time_t
82599         and long are 64-bit but int is only 32-bit.
82600         (ydhms_diff): Use long int to store year1 and yday1.
82601         Issue a compile-time diagnostic if long int is not wide enough.
82602
82603         (__mktime_internal): Use long int to store adjusted year and yday.
82604         Use plain C rather than preprocessor commands, if that doesn't
82605         affect efficiency.
82606         Check for overflow (and try to repair) after each probe
82607         rather than checking only at the very end.  This avoids some bugs
82608         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
82609         does not equal GMT offset at maximum time).
82610         Use integer to check for overflow rather than floating point; this
82611         is more portable to non-IEEE hosts, and is a tad faster.
82612         When we detect that we are oscillating between two values,
82613         don't check whether tm_isdst has the requested value, since
82614         we already know the answer.  When tm_isdst has the wrong value,
82615         use a different heuristic to find the right one, based on the
82616         extreme values actually observed in practice in tz2003a,
82617         rather than the (overly optimistic) "previous 3 calendar quarters".
82618
82619         (not_equal_tm, print_tm, check_result): Use "const T" rather than
82620         "T const" to accommodate glibc style.
82621         (check_result): Use less-confusing report format.  "long" -> "long int.
82622         (main): Likewise.
82623         Don't loop if the iteration overflows time_t.
82624         Allow a negative step in the iteration.
82625
82626 2003-07-06  Karl Berry  <karl@gnu.org>
82627
82628         * config/depcomp: update from automake.
82629         * config/config.sub: update from prep.
82630
82631 2003-07-03  Karl Berry  <karl@gnu.org>
82632
82633         * config/config.guess: update from prep.
82634
82635 2003-07-01  Paul Eggert  <eggert@twinsun.com>
82636
82637         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
82638         xreadlink.c now includes it unconditionally.
82639
82640 2003-07-01  Paul Eggert  <eggert@twinsun.com>
82641
82642         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
82643         having it depend on HAVE_SYS_TYPES_H.
82644
82645 2003-07-01  Bruno Haible  <bruno@clisp.org>
82646
82647         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
82648         <sys/types.h> should be sufficient.
82649         Reported by Paul Eggert.
82650
82651 2003-06-26  Karl Berry  <karl@gnu.org>
82652
82653         * config/depcomp: update from automake.
82654
82655 2003-06-26  Bruno Haible  <bruno@clisp.org>
82656
82657         * modules/human: Depend on module stdbool.
82658
82659 2003-06-25  Bruno Haible  <bruno@clisp.org>
82660
82661         * modules/readlink: New file.
82662         * modules/xreadlink: Depend on it.
82663         * MODULES.html.sh (func_all_modules): Add readlink.
82664
82665 2003-06-25  Bruno Haible  <bruno@clisp.org>
82666
82667         * m4/readlink.m4: New file.
82668
82669 2003-06-25  Bruno Haible  <bruno@clisp.org>
82670
82671         * lib/readlink.c: New file.
82672
82673 2003-06-22  Karl Berry  <karl@gnu.org>
82674
82675         * config/srclist.txt: update mkinstalldirs from automake.
82676         * config/mkinstalldirs: update.
82677
82678 2003-06-22  Bruno Haible  <bruno@clisp.org>
82679
82680         Portability to mingw32.
82681         * m4/ssize_t.m4: New file, from GNU gettext.
82682         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
82683         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
82684
82685 2003-06-22  Bruno Haible  <bruno@clisp.org>
82686
82687         * modules/safe-read: Add m4/ssize_t.m4.
82688         * modules/xreadlink: Add m4/ssize_t.m4.
82689
82690 2003-06-20  Bruno Haible  <bruno@clisp.org>
82691
82692         Assume C89, so PARAMS isn't needed.
82693         * lib/unicodeio.h (PARAMS): Remove.
82694         * lib/unicodeio.c: Don't use PARAMS.
82695
82696 2003-06-18  Karl Berry  <karl@gnu.org>
82697
82698         * config/config.{guess,sub}: update from prep.
82699
82700 2003-06-18  Jim Meyering  <jim@meyering.net>
82701
82702         Merge changes from coreutils.
82703         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
82704         Remove explicit declarations of xmalloc and realloc.
82705         Include xalloc.h.
82706         (read_utmp): Remove anachronistic cast of xmalloc.
82707
82708 2003-06-17  Paul Eggert  <eggert@twinsun.com>
82709
82710         Assume C89, so PARAMS isn't needed.
82711         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
82712         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
82713         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
82714         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
82715         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
82716         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
82717         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
82718         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
82719         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
82720         lib/xstrtod.h, lib/xstrtol.h: Likewise.
82721         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
82722         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
82723         no longer needed. Anyway, config.h should always be included before any
82724         other file.
82725
82726 2003-06-11  Simon Josefsson  <jas@extundo.com>
82727
82728         * modules/sysexits: New file.
82729         * MODULES.html.sh (func_all_modules): Add sysexits.
82730
82731 2003-06-11  Simon Josefsson  <jas@extundo.com>
82732
82733         * lib/sysexit_.h: New file.
82734
82735 2003-06-11  Derek Price  <derek@ximbiot.com>
82736
82737         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
82738         necessary.
82739
82740 2003-06-11  Bruno Haible  <bruno@clisp.org>
82741
82742         * m4/sysexits.m4: New file.
82743
82744 2003-06-10  Simon Josefsson  <jas@extundo.com>
82745
82746         * lib/argp.h: New file, from glibc.
82747         * lib/argp-ba.c: New file, from glibc.
82748         * lib/argp-eexst.c: New file, from glibc.
82749         * lib/argp-fmtstream.c: New file, from glibc.
82750         * lib/argp-fmtstream.h: New file, from glibc.
82751         * lib/argp-fs-xinl.c: New file, from glibc.
82752         * lib/argp-help.c: New file, from glibc.
82753         * lib/argp-namefrob.h: New file, from glibc.
82754         * lib/argp-parse.c: New file, from glibc.
82755         * lib/argp-pv.c: New file, from glibc.
82756         * lib/argp-pvh.c: New file, from glibc.
82757         * lib/argp-xinl.c: New file, from glibc.
82758
82759 2003-06-10  Simon Josefsson  <jas@extundo.com>
82760
82761         * modules/strchrnul: New file.
82762
82763 2003-06-10  Simon Josefsson  <jas@extundo.com>
82764
82765         * modules/argp: New file.
82766
82767 2003-06-10  Simon Josefsson  <jas@extundo.com>
82768
82769         * m4/strchrnul.m4: New file.
82770
82771 2003-06-10  Simon Josefsson  <jas@extundo.com>
82772
82773         * lib/strchrnul.h: New file.
82774         * lib/strchrnul.c: New file.
82775
82776 2003-06-10  Bruno Haible  <bruno@clisp.org>
82777
82778         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
82779
82780 2003-06-07  Karl Berry  <karl@gnu.org>
82781
82782         * config/config.{guess,sub}: update from prep.
82783
82784 2003-06-07  Jim Meyering  <jim@meyering.net>
82785
82786         * modules/strtod: Use $(...) notation, not @...@ for
82787         AC_REPLACE'd variables.
82788         * modules/localcharset: Likewise.
82789
82790 2003-06-07  Jim Meyering  <jim@meyering.net>
82791
82792         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
82793         in place of my name in the copyright comment.
82794         Remove definition and uses of __P.
82795
82796         From coreutils.
82797         * lib/stat.c: Don't declare xmalloc explicitly.
82798         Instead, include "xalloc.h".
82799         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
82800         xrealloc, and xcalloc return values.
82801         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
82802         Improve comment.
82803         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
82804
82805 2003-06-07  Bruno Haible  <bruno@clisp.org>
82806
82807         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
82808         avoid AC_CONFIG_LINKS.
82809         * modules/fnmatch (Makefile.am): Use explicit creation rule for
82810         fnmatch.h, to avoid AC_CONFIG_LINKS.
82811         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
82812
82813 2003-06-07  Bruno Haible  <bruno@clisp.org>
82814
82815         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
82816         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
82817         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
82818         directory.
82819         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
82820         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
82821         directory.
82822
82823 2003-06-06  Jim Meyering  <jim@meyering.net>
82824
82825         Merge from coreutils.
82826         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
82827         Consolidate declarations and initializations of *_base* locals.
82828
82829         Merge from coreutils.
82830         This avoids a core dump on systems without GNU putenv,
82831         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
82832         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
82833         (unsetenv): New static function, from GNU libc.
82834         (rpl_putenv): Use it.
82835
82836         * lib/modechange.c: Remove trailing blanks.
82837
82838         Merge from coreutils.
82839         * lib/fsusage.c: Remove declaration of statfs.
82840         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
82841
82842         * lib/posixtm.c: Include <stdbool.h> unconditionally.
82843
82844 2003-06-06  Jim Meyering  <jim@meyering.net>
82845
82846         * lib/stdbool_.h: Renamed from stdbool.h.in.
82847
82848 2003-06-06  Jim Meyering  <jim@meyering.net>
82849             Bruno Haible  <bruno@clisp.org>
82850
82851         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
82852         Adjust Makefile.am snippet not to redirect directly to target.
82853         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
82854
82855 2003-06-05  Paul Eggert  <eggert@twinsun.com>
82856
82857         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
82858         mismatch, look in future quarters as well as past.  This fixes a
82859         bug when processing fall-backwards gaps immediately after a long
82860         period of daylight-saving time.
82861
82862         * lib/mktime.c: Assume freestanding C89 or better.
82863         (HAVE_LIMITS_H): Remove.  Assume it's 1.
82864         (__P): Remove; not used.
82865         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
82866         (mktime, not_equal_tm, print_tm, check_result,
82867         main): Use prototypes.  Use const * where appropriate.
82868         (main): Fix typo in testing code that uncovered by above changes.
82869         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
82870
82871 2003-06-04  Paul Eggert  <eggert@twinsun.com>
82872
82873         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
82874         locale.h, localeconv.  This merges changes from coreutils.
82875
82876         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
82877         It can be removed after the next Autoconf is released.
82878         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
82879         needed.
82880
82881 2003-06-04  Paul Eggert  <eggert@twinsun.com>
82882
82883         * lib/mktime.c: Fix Debian bug 177940
82884         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
82885         (localtime_offset): Now long int, not time_t, because we want it
82886         to be guaranteed to be signed.  All uses changed.
82887         (__mktime_internal): If overflow would occur when adding offset,
82888         don't add it.
82889
82890         Merge 'human' changes from coreutils.  Rewrite to support
82891         locale-specific notations like thousands separators.
82892         * lib/human.c: Simplify authorship notice.
82893         Include human.h immediately after config.h.
82894         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
82895         <limits.h>: Do not include, since human.h does.
82896         (SIZE_MAX, UINTMAX_MAX): New macros.
82897         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
82898         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
82899         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
82900         (power_letter): Renamed from suffixes.
82901         (generate_suffix_backwards): Remove.
82902         (adjust_value): Now takes int style (because of human.h changes)
82903         and long double value (for greater precision on some platforms).
82904         (group_number): New function.
82905         (human_readable): Use it.  Use integer options, not enum.
82906         Put the options before the sizes in the arg list.
82907         Support all the new options.
82908         The old human_readable function has been removed;
82909         use inttostr.h instead.
82910         (human_readable, default_block_size, humblock):
82911         Use uintmax_t, not int, for block sizes.
82912         (human_readable_inexact, block_size_types): Remove.
82913         (block_size_opts): New constant.
82914         (human_options): Renamed from human_block_size, with new signature
82915         that allows block sizes up to UINTMAX_MAX.  All callers changed.
82916         * lib/human.h: Add copyright and authorship notice.
82917         Include <limits.h> and <stdbool.h> unconditionally.
82918         (PARAMS): Remove.  All uses removed.
82919         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
82920         (enum human_inexact_style): Remove tag; now a nameless enum.
82921         (human_floor, human_ceiling, human_round_to_even): Now have
82922         values 2, 0, 1 rather than -1, 1, 0.
82923         (human_group_digits, human_suppress_point_zero, human_autoscale,
82924         human_base_1024, human_SI, human_B): New constants.
82925         (human_readable_inexact, human_block_size): Remove.
82926         (human_readable): Size args are now uintmax_t, not int.
82927         (human_options): New decl.
82928
82929         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
82930         unnecessary now that we assume C89 or better.  This change
82931         imported from coreutils.
82932
82933         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
82934         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
82935         in the 2003-05-30 sync from glibc.
82936
82937         .h files should stand alone, but we shouldn't include <sys/types.h>
82938         if we can get away with just <stddef.h>.
82939
82940         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
82941         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
82942         rather than <sys/types.h>, as we merely need size_t.
82943         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
82944         to get size_t.
82945         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
82946         Include <stdio.h>, to get FILE.
82947         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
82948         memcasecmp.h has included <stddef.h> and all we need is size_t.
82949         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
82950         our interface, instead of including <sys/types.h>
82951
82952 2003-06-04  Paul Eggert  <eggert@twinsun.com>
82953
82954         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
82955         now, as glibc mktime is buggy on non-glibc systems.
82956
82957 2003-06-03  Karl Berry  <karl@gnu.org>
82958
82959         * config/config.sub: update from prep.
82960
82961 2003-06-02  Paul Eggert  <eggert@twinsun.com>
82962
82963         [from coreutils]
82964         Fix some minor time-related bugs with POSIX time arguments.
82965         Some valid time stamps were being rejected (notably -1, and
82966         time stamps before 1900 on 64-bit hosts).  And some invalid
82967         time stamps were being accepted, e.g. September 31.
82968
82969         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
82970         that we can return (time_t) -1 successfully.
82971         * lib/posixtm.c: Likewise.
82972         [HAVE_STDBOOL_H]: Include <stdbool.h>.
82973         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
82974         (t): Remove static var.
82975         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
82976         of static var.  All uses changed.
82977         (year): Do not reject years before 1900; they can occur with
82978         64-bit time_t.
82979         (posix_time_parse): Do not check for out-of-range components;
82980         that is now the caller's responsibility, since our checks were
82981         only approximations.
82982         (posixtime): Use mktime to check for out-of-range components,
82983         since it knows them exactly.
82984         If mktime returns (time_t) -1, check whether an error actually occurred
82985         by invoking localtime on -1.
82986         (main) [TEST_POSIXTIME]: Check for input data errors, and report
82987         posixtime failures better.
82988         Improve the test data (in comments only).
82989
82990 2003-06-02  Karl Berry  <karl@gnu.org>
82991
82992         * config/mkinstalldirs (version): new variable.
82993         (--version): new option.
82994         (usage): improve message.
82995
82996 2003-05-30  Karl Berry  <karl@gnu.org>
82997
82998         * lib/mktime.c: update from libc.
82999
83000 2003-05-30  Bruno Haible  <bruno@clisp.org>
83001
83002         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
83003         * config/config.rpath: Upgrade to gettext-0.12.1.
83004
83005 2003-05-30  Bruno Haible  <bruno@clisp.org>
83006
83007         * m4/gettext.m4: Upgrade to gettext-0.12.1.
83008         * m4/nls.m4: New file, from gettext-0.12.1.
83009         * m4/po.m4: New file, from gettext-0.12.1.
83010         * m4/progtest.m4: Upgrade to gettext-0.12.1.
83011
83012 2003-05-30  Bruno Haible  <bruno@clisp.org>
83013
83014         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
83015         * lib/localcharset.h: Likewise.
83016         * lib/localcharset.c: Likewise.
83017
83018 2003-05-29  Karl Berry  <karl@gnu.org>
83019
83020         * config/config.rpath: update from gettext.
83021
83022 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83023
83024         Assume the headers required for C89 freestanding compilers.
83025         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
83026         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
83027         * m4/human.m4 (gl_HUMAN): Likewise.
83028         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
83029         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
83030         * m4/userspec.m4 (gl_USERSPEC): Likewise.
83031         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
83032         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
83033         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
83034
83035 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83036
83037         Assume the headers required for C89 freestanding compilers.
83038         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
83039         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
83040         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
83041         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
83042         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
83043         define, since <limits.h> is guaranteed to do that.
83044         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
83045         * lib/exclude.c: Include <stdbool.h> unconditionally.
83046         * lib/tempname.c: Include <stddef.h> unconditionally.
83047         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
83048         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
83049         <stddef.h> does that.
83050         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
83051         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
83052         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
83053         needed.
83054         * lib/xstrtol.c: Likewise.
83055         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
83056         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
83057
83058         * lib/addext.c (addext): Use assignment rather than cast, to avoid
83059         warnings on some platforms.
83060
83061         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83062         arbitrarily.
83063
83064 2003-05-26  Jim Meyering  <jim@meyering.net>
83065
83066         Merge in a change from coreutils:
83067         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
83068         that is guaranteed to be `no'.  Use `no_such_member' to indicate
83069         that condition, rather than `-1' which is slightly misleading.
83070         Change the name of the cache variable to have the gl_ prefix.
83071         Prompted by a patch from Richard Dawe for DJGPP.
83072
83073 2003-05-24  Karl Berry  <karl@gnu.org>
83074
83075         * config/config.guess: update from prep.
83076
83077 2003-05-22  Karl Berry  <karl@gnu.org>
83078
83079         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
83080
83081 2003-05-20  Karl Berry  <karl@gnu.org>
83082
83083         * config/config.guess: update from prep.
83084
83085 2003-05-18  Karl Berry  <karl@gnu.org>
83086
83087         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
83088         might actually be set by the user.
83089
83090         * config/depcomp, install-sh, mdate-sh: update from automake.
83091
83092 2003-05-17  Bruno Haible  <bruno@clisp.org>
83093
83094         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
83095         invalid expansion for AC_EGREP_CPP.
83096         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
83097         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
83098         Suggested by Akim Demaille <akim@epita.fr> in
83099         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
83100
83101 2003-05-12  Jim Meyering  <jim@meyering.net>
83102
83103         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
83104         the space-padded-by-default conversion specifiers, %e, %k, %l.
83105
83106 2003-05-12  Bruno Haible  <bruno@clisp.org>
83107
83108         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
83109         the string is longer than 4 KB.
83110
83111 2003-05-11  Karl Berry  <karl@gnu.org>
83112
83113         * config/config.{guess,sub}: update from prep.
83114
83115 2003-05-09  Bruno Haible  <bruno@clisp.org>
83116
83117         * modules/error: Add m4/strerror_r.m4 to file list.
83118
83119 2003-05-03  Bruno Haible  <bruno@clisp.org>
83120
83121         Upgrade to Unicode-4.0.
83122         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
83123         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
83124         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
83125         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
83126         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
83127         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
83128         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
83129         Change width of U+E0100..U+E01EF from 1 to 0.
83130
83131 2003-04-25  Jim Meyering  <jim@meyering.net>
83132
83133         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
83134         of type size_t, not int.
83135
83136 2003-04-25  Bruno Haible  <bruno@clisp.org>
83137
83138         * lib/copy-file.c: Include <stddef.h>, for size_t.
83139
83140 2003-04-21  Paul Eggert  <eggert@twinsun.com>
83141
83142         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
83143         code which expansion is under static control.  Patch imported from
83144         Akim Demaille's patch to Bison; see
83145         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
83146
83147 2003-04-14  Bruno Haible  <bruno@clisp.org>
83148
83149         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
83150
83151 2003-04-11  Jim Meyering  <jim@meyering.net>
83152
83153         Merge changes from Coreutils.
83154
83155         2003-03-22  Jim Meyering  <jim@meyering.net>
83156
83157         * lib/strftime.c (widen): Cast alloca return value to proper type.
83158
83159         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
83160
83161         From GNU libc.
83162         * lib/strftime.c (my_strftime): Handle very large width
83163         specifications for numeric values correctly.  Improve checks for
83164         overflow.
83165
83166         2003-01-19  Jim Meyering  <jim@meyering.net>
83167
83168         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
83169         definitions.
83170         (nl_get_alt_digit) [! defined my_strftime]: Define.
83171         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
83172         _nl_get_alt_digit and _nl_get_walt_digit.
83173
83174         * lib/strftime.c (my_strftime): Merge in locale-related changes from
83175         libc. These changes have no effect outside of _LIBC.
83176
83177 2003-04-10  Bruno Haible  <bruno@clisp.org>
83178
83179         * modules/findprog: New file.
83180         * MODULES.html.sh (func_all_modules): Add it.
83181
83182 2003-04-10  Bruno Haible  <bruno@clisp.org>
83183
83184         * m4/findprog.m4: New file.
83185         * m4/eaccess.m4: New file.
83186
83187 2003-04-10  Bruno Haible  <bruno@clisp.org>
83188
83189         * lib/findprog.h: New file, from GNU gettext.
83190         * lib/findprog.c: New file, from GNU gettext.
83191
83192 2003-04-05  Jim Meyering  <jim@meyering.net>
83193
83194         Merge changes from Coreutils.
83195
83196         * lib/exclude.h (PARAMS): Remove definition and uses.
83197         * lib/exclude.c: Remove uses of `PARAMS'.
83198
83199         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
83200         Add test-cases for DOS filenames. Declare program_name.
83201         (main): Set up program_name.  Patch by Rich Dawe.
83202
83203         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
83204         error from mntctl.
83205         Use mntctl's return value to drive the entry-processing loop, since
83206         we can't rely on the value of the vmt_length member in the last
83207         entry.  On some systems doing so could result in exhausting
83208         virtual memory.  Based in part on a patch from Mike Jetzer.
83209
83210 2003-04-04  Bruno Haible  <bruno@clisp.org>
83211
83212         * modules/linebreak: New file.
83213         * MODULES.html.sh (func_all_modules): Add it.
83214
83215 2003-04-04  Bruno Haible  <bruno@clisp.org>
83216
83217         * m4/linebreak.m4: New file.
83218
83219 2003-04-04  Bruno Haible  <bruno@clisp.org>
83220
83221         * lib/linebreak.h: New file, from GNU gettext.
83222         * lib/linebreak.c: New file, from GNU gettext with slight
83223         modifications.
83224         * lib/lbrkprop.h: New file, from GNU gettext.
83225
83226 2003-04-03  Bruno Haible  <bruno@clisp.org>
83227
83228         * modules/utf8-ucs4: New file.
83229         * modules/utf16-ucs4: New file.
83230         * modules/ucs4-utf8: New file.
83231         * modules/ucs4-utf16: New file.
83232         * MODULES.html.sh (func_all_modules): Add them.
83233
83234 2003-04-03  Bruno Haible  <bruno@clisp.org>
83235
83236         * m4/utf-ucs4.m4: New file.
83237         * m4/ucs4-utf.m4: New file.
83238
83239 2003-04-03  Bruno Haible  <bruno@clisp.org>
83240
83241         * lib/utf8-ucs4.h: New file, from GNU gettext.
83242         * lib/utf16-ucs4.h: New file, from GNU gettext.
83243         * lib/ucs4-utf8.h: New file, from GNU gettext.
83244         * lib/ucs4-utf16.h: New file, from GNU gettext.
83245
83246 2003-04-02  Bruno Haible  <bruno@clisp.org>
83247
83248         * modules/binary-io: New file.
83249         * MODULES.html.sh (func_all_modules): Add it.
83250
83251 2003-04-02  Bruno Haible  <bruno@clisp.org>
83252
83253         * lib/binary-io.h: New file, from GNU gettext.
83254
83255 2003-04-01  Bruno Haible  <bruno@clisp.org>
83256
83257         * modules/pathname: New file.
83258         * MODULES.html.sh (func_all_modules): Add it.
83259
83260 2003-04-01  Bruno Haible  <bruno@clisp.org>
83261
83262         * lib/pathname.h: New file, from GNU gettext.
83263         * lib/concatpath.c: New file, from GNU gettext.
83264
83265 2003-03-30  Bruno Haible  <bruno@clisp.org>
83266
83267         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
83268
83269 2003-03-30  Bruno Haible  <bruno@clisp.org>
83270
83271         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
83272         function chown() doesn't exist.
83273
83274 2003-03-28  Bruno Haible  <bruno@clisp.org>
83275
83276         * modules/copy-file: New file.
83277         * MODULES.html.sh (func_all_modules): Add it.
83278
83279 2003-03-28  Bruno Haible  <bruno@clisp.org>
83280
83281         * m4/copy-file.m4: New file.
83282
83283 2003-03-28  Bruno Haible  <bruno@clisp.org>
83284
83285         * lib/copy-file.h: New file, from GNU gettext.
83286         * lib/copy-file.c: New file, from GNU gettext.
83287
83288 2003-03-18  Jim Meyering  <jim@meyering.net>
83289
83290         * lib/quote.c (quote_n): Fix typo in comment.
83291
83292 2003-03-18  Bruno Haible  <bruno@clisp.org>
83293
83294         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
83295         checking.
83296         * m4/onceonly_2_57.m4: Likewise.
83297
83298 2003-03-17  Bruno Haible  <bruno@clisp.org>
83299
83300         * m4/onceonly.m4: Require autoconf 2.54 or newer.
83301         (m4_quote): Remove macro.
83302         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
83303
83304 2003-03-14  Jim Meyering  <jim@meyering.net>
83305
83306         Merge changes from Coreutils.
83307         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
83308         to be const, in order to avoid warnings.
83309         (obstack_room): Likewise.
83310         (obstack_empty_p): Likewise.
83311
83312 2003-03-14  Bruno Haible  <bruno@clisp.org>
83313
83314         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
83315         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
83316
83317 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83318
83319         Merge changes from Bison.
83320         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
83321         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
83322         when compiling Bison 1.875's `bitset bset = obstack_alloc
83323         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
83324         * lib/hash.c: Include <stdbool.h> unconditionally.
83325
83326 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83327
83328         * m4/onceonly.m4 (m4_quote): New macro.
83329         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
83330         Quote AC_FOREACH variable-expansions properly.
83331
83332 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83333
83334         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
83335
83336 2003-03-09  Paul Eggert  <eggert@twinsun.com>
83337
83338         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
83339         Reported by Bruce Becker; see:
83340         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
83341
83342 2003-03-03  Paul Eggert  <eggert@twinsun.com>
83343             Bruno Haible  <bruno@clisp.org>
83344
83345         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
83346         Reported by John Hughes, see
83347         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
83348
83349 2003-02-20  Bruno Haible  <bruno@clisp.org>
83350
83351         * MODULES.html.sh (func_all_modules): Add poll.
83352
83353 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83354
83355         * modules/poll: New file.
83356
83357 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83358
83359         * lib/poll_.h: New file.
83360         * lib/poll.c: New file.
83361
83362 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83363
83364         * m4/poll.m4: New file.
83365
83366 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83367
83368         * modules/mathl: New file.
83369
83370 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83371
83372         * lib/mathl.h: New file.
83373         * lib/acosl.c: New file.
83374         * lib/asinl.c: New file.
83375         * lib/atanl.c: New file.
83376         * lib/ceill.c: New file.
83377         * lib/cosl.c: New file.
83378         * lib/expl.c: New file.
83379         * lib/floorl.c: New file.
83380         * lib/frexpl.c: New file.
83381         * lib/ldexpl.c: New file.
83382         * lib/logl.c: New file.
83383         * lib/sincosl.c: New file.
83384         * lib/sinl.c: New file.
83385         * lib/sqrtl.c: New file.
83386         * lib/tanl.c: New file.
83387         * lib/trigl.c: New file.
83388         * lib/trigl.h: New file.
83389
83390 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83391
83392         * m4/mathl.m4: New file.
83393
83394 2003-02-18  Bruno Haible  <bruno@clisp.org>
83395
83396         * MODULES.html.sh (func_all_modules): Add mathl.
83397
83398 2003-02-17  Bruno Haible  <bruno@clisp.org>
83399
83400         * modules/mkdtemp: New module.
83401         * MODULES.html.sh (func_all_modules): Add it.
83402
83403 2003-02-17  Bruno Haible  <bruno@clisp.org>
83404
83405         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
83406
83407 2003-02-17  Bruno Haible  <bruno@clisp.org>
83408
83409         * lib/mkdtemp.h: New file, from GNU gettext.
83410         * lib/mkdtemp.c: New file, from GNU gettext.
83411
83412 2003-02-02  Jim Meyering  <jim@meyering.net>
83413
83414         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
83415         e.g. glibc-2.2.93.
83416
83417 2003-01-31  Bruno Haible  <bruno@clisp.org>
83418
83419         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
83420         'rpl_rename'.
83421         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
83422         'rpl_strnlen'.
83423         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
83424         'rpl_strtod'.
83425         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
83426         'rpl_utime'.
83427
83428 2003-01-31  Bruno Haible  <bruno@clisp.org>
83429
83430         * lib/rename.c: #undef rename before defining rpl_rename.
83431         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
83432
83433 2003-01-30  Bruno Haible  <bruno@clisp.org>
83434
83435         * modules/vasnprintf, modules/vasprintf: New modules.
83436         * MODULES.html.sh (func_all_modules): Add them.
83437
83438 2003-01-30  Bruno Haible  <bruno@clisp.org>
83439
83440         * m4/signed.m4: New file, from GNU gettext.
83441         * m4/longdouble.m4: New file, from GNU gettext.
83442         * m4/wchar_t.m4: New file, from GNU gettext.
83443         * m4/wint_t.m4: New file, from GNU gettext.
83444         * m4/vasnprintf.m4: New file.
83445         * m4/vasprintf.m4: New file.
83446
83447 2003-01-30  Bruno Haible  <bruno@clisp.org>
83448
83449         * lib/printf-args.h: New file, from GNU gettext.
83450         * lib/printf-args.c: New file, from GNU gettext.
83451         * lib/printf-parse.h: New file, from GNU gettext.
83452         * lib/printf-parse.c: New file, from GNU gettext.
83453         * lib/vasnprintf.h: New file, from GNU gettext.
83454         * lib/vasnprintf.c: New file, from GNU gettext.
83455         * lib/asnprintf.c: New file, from GNU gettext.
83456         * lib/vasprintf.h: New file, from GNU gettext with modifications.
83457         * lib/vasprintf.c: New file, from GNU gettext.
83458         * lib/asprintf.c: New file, from GNU gettext.
83459
83460 2003-01-29  Bruno Haible  <bruno@clisp.org>
83461
83462         * modules/stpncpy: New module.
83463         * MODULES.html.sh (func_all_modules): Add it.
83464
83465 2003-01-29  Bruno Haible  <bruno@clisp.org>
83466
83467         * m4/stpncpy.m4: New file.
83468
83469 2003-01-29  Bruno Haible  <bruno@clisp.org>
83470
83471         * lib/stpncpy.h: New file, from GNU gettext with modifications.
83472         * lib/stpncpy.c: New file, from GNU gettext with modifications.
83473
83474 2003-01-28  Bruno Haible  <bruno@clisp.org>
83475
83476         * modules/c-ctype: New module.
83477         * MODULES.html.sh (func_all_modules): Add it.
83478
83479 2003-01-28  Bruno Haible  <bruno@clisp.org>
83480
83481         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
83482         Paul Eggert.
83483         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
83484         Paul Eggert.
83485
83486 2003-01-27  Bruno Haible  <bruno@clisp.org>
83487
83488         * modules/xsetenv: New module.
83489         * MODULES.html.sh (func_all_modules): Add it.
83490
83491 2003-01-27  Bruno Haible  <bruno@clisp.org>
83492
83493         * lib/xsetenv.h: New file, from GNU gettext.
83494         * lib/xsetenv.c: New file, from GNU gettext.
83495
83496 2003-01-23  Jim Meyering  <jim@meyering.net>
83497
83498         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
83499         from working on systems without dirfd (at least Irix and OSF1/Tru64).
83500
83501 2003-01-23  Bruno Haible  <bruno@clisp.org>
83502
83503         * modules/minmax: New module.
83504         * MODULES.html.sh (func_all_modules): Add it.
83505
83506 2003-01-23  Bruno Haible  <bruno@clisp.org>
83507
83508         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
83509         Eggert.
83510
83511 2003-01-22  Bruno Haible  <bruno@clisp.org>
83512
83513         * modules/exit: New module.
83514         * MODULES.html.sh (func_all_modules): Add it.
83515
83516 2003-01-22  Bruno Haible  <bruno@clisp.org>
83517
83518         * lib/exit.h: New file, from GNU gettext.
83519
83520 2003-01-19  Bruno Haible  <bruno@clisp.org>
83521
83522         * gnulib-tool: Recognize option --extract-maintainer.
83523         (func_get_maintainer): New function.
83524         * modules/*: Add Maintainer entry.
83525
83526 2003-01-16  Jim Meyering  <jim@meyering.net>
83527
83528         * m4/regex.m4: The `regex' struct is both input and output.
83529         Initialize it before each use.  Patch by Tim Waugh.
83530
83531 2003-01-16  Bruno Haible  <bruno@clisp.org>
83532
83533         * MODULES.html.sh: Add a table of contents. Add the module name as
83534         leftmost column. Add hyperlinks.
83535
83536 2003-01-15  Bruno Haible  <bruno@clisp.org>
83537
83538         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
83539
83540 2003-01-15  Bruno Haible  <bruno@clisp.org>
83541
83542         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
83543         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
83544         suffix.
83545
83546 2003-01-15  Bruno Haible  <bruno@clisp.org>
83547
83548         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
83549
83550 2003-01-15  Bruno Haible  <bruno@clisp.org>
83551
83552         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
83553         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
83554
83555 2003-01-14  Jim Meyering  <jim@meyering.net>
83556
83557         * lib/same.c (same_name): Tweak a comment.
83558
83559 2003-01-14  Bruno Haible  <bruno@clisp.org>
83560
83561         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
83562         when a string comparison is sufficient.
83563
83564 2003-01-14  Bruno Haible  <bruno@clisp.org>
83565
83566         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
83567         'unsigned int'.
83568
83569 2003-01-14  Bruno Haible  <bruno@clisp.org>
83570
83571         * lib/hash-pjw.c: Add comment about low quality of this function.
83572
83573 2003-01-13  Bruno Haible  <bruno@clisp.org>
83574
83575         * modules/stpcpy: Distribute lib/stpcpy.h.
83576         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
83577
83578 2003-01-13  Bruno Haible  <bruno@clisp.org>
83579
83580         * modules/*: Add a description.
83581         * modules/strpbrk: Fix Makefile.am snippet.
83582         * modules/strtoimax: Fix dependencies.
83583         * modules/strtoumax: Likewise.
83584
83585 2003-01-13  Bruno Haible  <bruno@clisp.org>
83586
83587         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
83588         * modules/alloca (Makefile.am): All object files depend on alloca.h.
83589         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
83590
83591 2003-01-13  Bruno Haible  <bruno@clisp.org>
83592
83593         * gnulib-tool (func_create_testdir): Store config/* files in the main
83594         directory.
83595         * config.rpath: Move to ...
83596         * config/config.rpath: ... here.
83597         * modules/gettext: Contains config/config.rpath, not config.rpath.
83598         * modules/iconv: Likewise.
83599
83600 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83601
83602         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83603         to avoid collisions with libcurses and libreadline.
83604
83605         * m4/getstr.m4: Remove.
83606         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
83607
83608 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83609
83610         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83611         to avoid collisions with libcurses and libreadline.
83612
83613         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
83614         * lib/getstr.h, getstr.c: Remove.
83615         * lib/getline.c: Include "getline.h", to check interface.
83616         Move body of old getstr.c here: this defines MIN_CHUNK and
83617         declares getdelim2, which is renamed from getstr.
83618         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
83619
83620         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
83621         All uses changed.
83622         * lib/linebuffer.h: Likewise.
83623         (readline): Remove backward-compatibility macro.
83624
83625 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83626
83627         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83628         to avoid collisions with libcurses and libreadline.
83629         * getstr: Remove.
83630         * MODULES.html.sh: Remove getstr.
83631         * modules/getline: Depend on unlocked-io, not getstr.
83632
83633 2003-01-12  Jim Meyering  <jim@meyering.net>
83634
83635         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
83636
83637 2003-01-10  Bruno Haible  <bruno@clisp.org>
83638
83639         * modules/alloca: Change Makefile.am requirements. Simplify Include
83640         requirements. Add lib/alloca_.h to file list.
83641
83642 2003-01-10  Bruno Haible  <bruno@clisp.org>
83643
83644         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
83645
83646 2003-01-10  Bruno Haible  <bruno@clisp.org>
83647
83648         * lib/alloca_.h: New file.
83649         * lib/getdate.y: Unconditionally include alloca.h.
83650         * lib/makepath.c: Likewise.
83651         * lib/setenv.c: Likewise.
83652         * lib/userspec.c: Likewise.
83653
83654 2003-01-09  Karl Berry  <karl@gnu.org>
83655
83656         * MODULES.html.sh: include `dirname $0` in PATH, to find
83657         gnulib-tool.
83658
83659 2003-01-09  Bruno Haible  <bruno@clisp.org>
83660
83661         * modules/stdbool: Change configure.ac, Makefile.am requirements.
83662         Simplify Include requirements. Add lib/stdbool.h.in to file list.
83663
83664 2003-01-09  Bruno Haible  <bruno@clisp.org>
83665
83666         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
83667
83668 2003-01-09  Bruno Haible  <bruno@clisp.org>
83669
83670         * lib/stdbool.h.in: New file.
83671
83672 2003-01-09  Bruno Haible  <bruno@clisp.org>
83673
83674         * gnulib-tool (func_all_modules): Ignore files ending in ~.
83675         * MODULES.html.sh: Likewise.
83676
83677 2003-01-08  Jim Meyering  <jim@meyering.net>
83678
83679         * lib/full-write.c: Undefine and define-away `const' after inclusion
83680         of errno.h, not before.  Suggestion from Bruno Haible.
83681
83682 2003-01-08  Bruno Haible  <bruno@clisp.org>
83683
83684         * modules/full-read: Depend on full-write.
83685
83686 2003-01-08  Bruno Haible  <bruno@clisp.org>
83687
83688         * lib/safe-read.c: Include specification header first, to ensure its
83689         selfcontainedness.
83690         * lib/full-write.c: Likewise.
83691
83692 2003-01-07  Jim Meyering  <jim@meyering.net>
83693
83694         * lib/full-write.c: Rework so that it may serve to define full_read,
83695         too.
83696         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
83697
83698 2003-01-07  Bruno Haible  <bruno@clisp.org>
83699
83700         * lib/strtoimax.c: Include <stdint.h> as an alternative to
83701         <inttypes.h>.
83702         * lib/xstrtol.h: Likewise.
83703         * lib/xstrtoimax.c: Likewise.
83704         * lib/xstrtoumax.c: Likewise.
83705         * lib/human.h: Likewise.
83706
83707         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
83708         on systems that have <inttypes.h> but not <stdint.h>.
83709
83710 2003-01-07  Bruno Haible  <bruno@clisp.org>
83711
83712         * MODULES.html.sh: Add copyright notice.
83713         (missed_files): Omit CVS directory entries.
83714         (func_module): Make it work with sed-3.02.
83715         * MODULES.txt: Remove file.
83716
83717 2003-01-06  Jim Meyering  <jim@meyering.net>
83718
83719         * lib/version-etc.c: Update year in translatable copyright string.
83720
83721 2003-01-03  Karl Berry  <karl@gnu.org>
83722
83723         * config/config.{guess,sub}: update from prep.
83724
83725 2003-01-02  Karl Berry  <karl@gnu.org>
83726
83727         * doc/COPYING.DOC: belatedly updated to 1.2.
83728
83729 2003-01-01  Karl Berry  <karl@gnu.org>
83730
83731         * gnulib-tool (func_verify_module): report module name $module in
83732         error message, not $1.
83733         * gnulib-tool (create-testdir): don't complain if destdir couldn't
83734         be created, only if it doesn't exist.
83735         * gnulib-tool (last_checkin_date): don't expand the $Date here.
83736
83737 2002-12-31  Paul Eggert  <eggert@twinsun.com>
83738
83739         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
83740
83741 2002-12-31  Paul Eggert  <eggert@twinsun.com>
83742
83743         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
83744         memcmp if strcoll doesn't work.
83745
83746 2002-12-31  Bruno Haible  <bruno@clisp.org>
83747
83748         * lib/utime.c (utime_null): No need to call ftruncate if the file was
83749         nonempty.
83750
83751 2002-12-31  Bruno Haible  <bruno@clisp.org>
83752
83753         * lib/memcoll.c (STRCOLL): New macro.
83754         (memcoll): Use it.
83755
83756 2002-12-31  Bruno Haible  <bruno@clisp.org>
83757
83758         * lib/localcharset.h: New file.
83759         * lib/localcharset.c: Include it.
83760         * lib/unicodeio.c: Likewise.
83761
83762 2002-12-31  Bruno Haible  <bruno@clisp.org>
83763
83764         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
83765         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
83766
83767 2002-12-31  Bruno Haible  <bruno@clisp.org>
83768
83769         * lib/getline.h: Include <stddef.h>, for size_t.
83770
83771         * lib/unicodeio.h: Include <stddef.h>, for size_t.
83772         * lib/unicodeio.c: Don't include <stddef.h>.
83773
83774 2002-12-31  Bruno Haible  <bruno@clisp.org>
83775
83776         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
83777         HAVE_TM_ZONE.
83778
83779 2002-12-24  Karl Berry  <karl@gnu.org>
83780
83781         * config/config.guess: update from prep.
83782
83783 2002-12-24  Bruno Haible  <bruno@clisp.org>
83784
83785         General infrasructure.
83786         * m4/README: Rewritten.
83787         * m4/onceonly.m4: New file.
83788         * m4/onceonly_2_57.m4: New file.
83789
83790         Module atexit.
83791         * m4/atexit.m4: New file.
83792
83793         Module strtod.
83794         * m4/strtod.m4: New file.
83795
83796         Module strtol.
83797         * m4/strtol.m4: New file.
83798
83799         Module strtoul.
83800         * m4/strtoul.m4: New file.
83801
83802         Module memchr.
83803         * m4/memchr.m4: New file.
83804
83805         Module memcmp.
83806         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
83807         (jm_FUNC_MEMCMP): Invoke it.
83808
83809         Module memcpy.
83810         * m4/memcpy.m4: New file.
83811
83812         Module memmove.
83813         * m4/memmove.m4: New file.
83814
83815         Module memset.
83816         * m4/memset.m4: New file.
83817
83818         Module strcspn.
83819         * m4/strcspn.m4: New file.
83820
83821         Module strpbrk.
83822         * m4/strpbrk.m4: New file.
83823
83824         Module strstr.
83825         * m4/strstr.m4: New file.
83826
83827         Module strerror.
83828         * m4/strerror.m4: New file.
83829
83830         Module mktime.
83831         * m4/mktime.m4: Renamed from jm-mktime.m4.
83832         (gl_PREREQ_MKTIME): New macro.
83833         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
83834
83835         Module malloc.
83836         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
83837         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
83838         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
83839
83840         Module realloc.
83841         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
83842         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
83843         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
83844
83845         Module strftime.
83846         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
83847         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
83848         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
83849         gl_TM_GMTOFF.
83850         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
83851
83852         Module xalloc.
83853         * m4/xalloc.m4: New file.
83854
83855         Module alloca.
83856         * m4/alloca.m4: New file.
83857
83858         Module putenv.
83859         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
83860         (jm_FUNC_PUTENV): Invoke it.
83861
83862         Module setenv.
83863         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
83864         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
83865         when invoked twice.
83866         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
83867         gt_FUNC_SETENV.
83868
83869         Module memrchr.
83870         * m4/memrchr.m4: New file.
83871
83872         Module stpcpy.
83873         * m4/stpcpy.m4: New file.
83874
83875         Module strcase.
83876         * m4/strcase.m4: New file.
83877
83878         Module strdup.
83879         * m4/strdup.m4: New file.
83880
83881         Module strnlen.
83882         * m4/strnlen.m4: New file.
83883
83884         Module strndup.
83885         * m4/strndup.m4: New file.
83886
83887         Module xstrtod.
83888         * m4/xstrtod.m4: New file.
83889
83890         Module xstrtol.
83891         * m4/xstrtol.m4: New file.
83892
83893         Module getdate.
83894         * m4/getdate.m4: New file.
83895
83896         Module unlocked-io.
83897         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
83898         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
83899         * m4/jm-glibc-io.m4n: Remove file.
83900
83901         Module long-options.
83902         * m4/long-options.m4: New file.
83903
83904         Module md5.
83905         * m4/md5.m4: New file.
83906
83907         Module sha.
83908         * m4/sha.m4: New file.
83909
83910         Module getstr.
83911         * m4/getstr.m4: New file.
83912
83913         Module getline.
83914         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
83915         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
83916         <sys/types.h>, for size_t. Use the function name gnu_getline, not
83917         simply getline. Infoke gl_PREREQ_GETLINE.
83918
83919         Module obstack.
83920         * m4/obstack.m4: New file.
83921
83922         Module hash.
83923         * m4/hash.m4: New file.
83924
83925         Module readtokens.
83926         * m4/readtokens.m4: New file.
83927
83928         Module strverscmp.
83929         * m4/strverscmp.m4: New file.
83930
83931         Module stdbool.
83932         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
83933         OSF/1.
83934
83935         Module strtoll.
83936         * m4/strtoll.m4: New file.
83937
83938         Module strtoull.
83939         * m4/strtoull.m4: New file.
83940
83941         Module strtoimax.
83942         * m4/strtoimax.m4: New file.
83943
83944         Module strtoumax.
83945         * m4/strtoumax.m4: New file.
83946
83947         Module xstrtoimax.
83948         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
83949         jm_AC_PREREQ_XSTRTOIMAX.
83950         Moved the strtol prerequisites to strtol.m4.
83951         Moved the strtoll prerequisites to strtoll.m4.
83952         Moved the strtoimax prerequisites to strtoimax.m4.
83953
83954         Module xstrtoumax.
83955         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
83956         jm_AC_PREREQ_XSTRTOUMAX.
83957         Moved the strtoul prerequisites to strtoul.m4.
83958         Moved the strtoull prerequisites to strtoull.m4.
83959         Moved the strtoumax prerequisites to strtoumax.m4.
83960
83961         Module chown.
83962         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
83963         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
83964
83965         Module dup2.
83966         * m4/dup2.m4: New file.
83967
83968         Module ftruncate.
83969         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
83970         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
83971
83972         Module getgroups.
83973         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
83974         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
83975
83976         Module gettimeofday.
83977         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
83978         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
83979         gl_PREREQ_GETTIMEOFDAY.
83980
83981         Module mkdir.
83982         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
83983         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
83984
83985         Module mkstemp.
83986         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
83987         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
83988         jm_AC_TYPE_UINTMAX_T.
83989         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
83990
83991         Module stat.
83992         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
83993         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
83994
83995         Module lstat.
83996         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
83997         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
83998
83999         Module timespec.
84000         * m4/timespec.m4 (gl_TIMESPEC): New macro.
84001         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
84002         * m4/st_mtim.m4: Indentation.
84003
84004         Module nanosleep.
84005         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
84006         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
84007         gl_PREREQ_NANOSLEEP.
84008
84009         Module regex.
84010         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
84011         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
84012         (gl_REGEX): New macro.
84013
84014         Module rename.
84015         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
84016         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
84017
84018         Module rmdir.
84019         * m4/rmdir.m4: New file.
84020
84021         Module utime.
84022         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
84023         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
84024         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
84025
84026         Module dirname.
84027         * m4/dirname.m4: New file.
84028
84029         Module getopt.
84030         * m4/getopt.m4: New file.
84031
84032         Module unistd-safer.
84033         * m4/unistd-safer.m4: New file.
84034
84035         Module fnmatch.
84036         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
84037         declaration.
84038         (gl_PREREQ_FNMATCH_EXTRA): New macro.
84039         (gl_FUNC_FNMATCH_POSIX): New macro.
84040         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
84041         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
84042         simply fnmatch.
84043
84044         Module exclude.
84045         * m4/exclude.m4: New file.
84046
84047         Module human.
84048         * m4/human.m4: New file.
84049
84050         Module acl.
84051         * m4/acl.m4: Nop.
84052
84053         Module backupfile.
84054         * m4/backupfile.m4: New file.
84055         * m4/d-ino.m4: Indentation.
84056
84057         Module fsusage.
84058         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
84059         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
84060         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
84061
84062         Module dirfd.
84063         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
84064         requirements.
84065
84066         Module euidaccess.
84067         * m4/euidaccess.m4: New file.
84068
84069         Module file-type.
84070         * m4/file-type.m4: New file.
84071
84072         Module fileblocks.
84073         * m4/fileblocks.m4: New file.
84074
84075         Module filemode.
84076         * m4/filemode.m4: New file.
84077
84078         Module isdir.
84079         * m4/isdir.m4: New file.
84080
84081         Module lchown.
84082         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
84083         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
84084
84085         Module makepath.
84086         * m4/makepath.m4: New file.
84087
84088         Module modechange.
84089         * m4/modechange.m4: New file.
84090
84091         Module mountlist.
84092         * m4/mountlist.m4: New file.
84093         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
84094         Indentation.
84095
84096         Module path-concat.
84097         * m4/path-concat.m4: New file.
84098
84099         Module pathmax.
84100         * m4/pathmax.m4: New file.
84101
84102         Module same.
84103         * m4/same.m4: New file.
84104
84105         Module save-cwd.
84106         * m4/save-cwd.m4: New file.
84107
84108         Module savedir.
84109         * m4/savedir.m4: New file.
84110
84111         Module xgetcwd.
84112         * m4/xgetcwd.m4: New file.
84113         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
84114
84115         Module xreadlink.
84116         * m4/xreadlink.m4: New file.
84117
84118         Module safe-read.
84119         * m4/safe-read.m4: New file.
84120
84121         Module safe-write.
84122         * m4/safe-write.m4: New file.
84123
84124         Module closeout.
84125         * m4/closeout.m4: New file.
84126
84127         Module stdio-safer.
84128         * m4/stdio-safer.m4: New file.
84129
84130         Module getpass.
84131         * m4/getpass.m4: New file.
84132
84133         Module getugroups.
84134         * m4/getugroups.m4: New file.
84135
84136         Module group-member.
84137         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
84138         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
84139
84140         Module idcache.
84141         * m4/idcache.m4: New file.
84142
84143         Module userspec.
84144         * m4/userspec.m4: New file.
84145
84146         Module gettime.
84147         * m4/clock_time.m4: New file.
84148         * m4/gettime.m4: New file.
84149
84150         Module settime.
84151         * m4/settime.m4: New file.
84152
84153         Module posixtm.
84154         * m4/posixtm.m4: New file.
84155
84156         Module gethostname.
84157         * m4/gethostname.m4: New file.
84158
84159         Module canon-host.
84160         * m4/canon-host.m4: New file.
84161
84162         Module gettext.
84163         * m4/codeset.m4: New file, from gettext-0.11.5.
84164         * m4/gettext.m4: New file, from gettext-0.11.5.
84165         * m4/glibc21.m4: New file, from gettext-0.11.5.
84166         * m4/iconv.m4: New file, from gettext-0.11.5.
84167         * m4/intdiv0.m4: New file, from gettext-0.11.5.
84168         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
84169         * m4/inttypes.m4: New file, from gettext-0.11.5.
84170         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
84171         * m4/isc-posix.m4: New file, from gettext-0.11.5.
84172         * m4/lcmessage.m4: New file, from gettext-0.11.5.
84173         * m4/lib-ld.m4: New file, from gettext-0.11.5.
84174         * m4/lib-link.m4: New file, from gettext-0.11.5.
84175         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
84176         * m4/progtest.m4: New file, from gettext-0.11.5.
84177         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
84178         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
84179         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
84180
84181         Module localcharset.
84182         * m4/localcharset.m4: New file.
84183
84184         Module hard-locale.
84185         * m4/hard-locale.m4: New file.
84186
84187         Module mbswidth.
84188         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
84189         onceonly macros.
84190         * m4/mbrtowc.m4: Add comment.
84191
84192         Module memcasecmp.
84193         * m4/memcasecmp.m4: New file.
84194
84195         Module memcoll.
84196         * m4/memcoll.m4: New file.
84197
84198         Module unicodeio.
84199         * m4/unicodeio.m4: New file.
84200
84201         Module rpmatch.
84202         * m4/rpmatch.m4: New file.
84203
84204         Module yesno.
84205         * m4/yesno.m4: New file.
84206
84207         Module exitfail.
84208         * m4/exitfail.m4: New file.
84209
84210         Module c-stack.
84211         * m4/c-stack.m4 (gl_C_STACK): New macro.
84212         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
84213
84214         Module error.
84215         * m4/error.m4 (gl_ERROR): New macro.
84216         (jm_PREREQ_ERROR): Use onceonly macros.
84217
84218         Module fatal.
84219         * m4/fatal.m4: New file.
84220
84221         Module getloadavg.
84222         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
84223         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
84224
84225         Module getpagesize.
84226         * m4/getpagesize.m4: New file.
84227
84228         Module getusershell.
84229         * m4/getusershell.m4: New file.
84230
84231         Module physmem.
84232         * m4/physmem.m4: New file.
84233
84234         Module posixver.
84235         * m4/posixver.m4: New file.
84236
84237         Module quotearg.
84238         * m4/quotearg.m4: New file.
84239
84240         Module quote.
84241         * m4/quote.m4: New file.
84242
84243         Module readutmp.
84244         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
84245
84246         Module sig2str.
84247         * m4/sig2str.m4: New file.
84248
84249         Other.
84250         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
84251         ulonglong.m4.
84252         * m4/intmax_t.m4: New file.
84253         * m4/d-type.m4: Indentation.
84254         * m4/jm-macros.m4: Update.
84255         * m4/prereq.m4 (jm_PREREQ): Update.
84256         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
84257         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
84258         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
84259         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
84260         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
84261         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
84262         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
84263         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
84264         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
84265         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
84266         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
84267         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
84268         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
84269         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
84270         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
84271         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
84272         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
84273         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
84274         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
84275
84276 2002-12-24  Bruno Haible  <bruno@clisp.org>
84277
84278         * MODULES.txt: Update according to m4/ changes.
84279
84280         Module gettext.
84281         * config.rpath: New file, from gettext-0.11.5.
84282
84283         * modules/*: New module descriptions.
84284         * gnulib-tool: New file.
84285         * MODULES.html.sh: New file.
84286
84287 2002-12-21  Karl Berry  <karl@gnu.org>
84288
84289         * doc/fdl.texi: update to version 1.2.
84290
84291 2002-12-19  Karl Berry  <karl@gnu.org>
84292
84293         * config/config.guess: update from prep.
84294
84295 2002-12-18  Bruno Haible  <bruno@clisp.org>
84296
84297         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
84298         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
84299
84300 2002-12-17  Bruno Haible  <bruno@clisp.org>
84301
84302         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
84303         stdlib.h, string.h.
84304
84305 2002-12-17  Bruno Haible  <bruno@clisp.org>
84306
84307         * lib/canon-host.c (strdup): Remove unused declaration.
84308
84309         * lib/fsusage.c: Include full_read.h.
84310         (get_fs_usage): Use full_read instead of safe_read.
84311
84312         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
84313
84314 2002-12-12  Karl Berry  <karl@gnu.org>
84315
84316         * config/config.guess: update from prep.
84317
84318 2002-12-11  Bruno Haible  <bruno@clisp.org>
84319
84320         * m4/setenv.m4: New file, from gettext-0.11.5.
84321
84322 2002-12-11  Bruno Haible  <bruno@clisp.org>
84323
84324         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
84325         not unsetenv().
84326         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
84327         modifications:
84328
84329         2002-12-11  Bruno Haible  <bruno@clisp.org>
84330
84331                 * setenv.c (alloca): Fall back to malloc.
84332                 (freea): New macro.
84333                 (setenv): Use freea() to free memory allocated with alloca().
84334
84335         2002-11-13  Bruno Haible  <bruno@clisp.org>
84336
84337                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
84338                 function declarations.
84339                 * unsetenv.c (unsetenv): Likewise.
84340
84341         2002-03-04  Bruno Haible  <bruno@clisp.org>
84342
84343                 Portability to AIX 4.3.3.
84344                 * unsetenv.c: New file, extracted from setenv.c.
84345                 * setenv.c: Move the unsetenv() function to unsetenv.c.
84346
84347         2001-12-20  Bruno Haible  <bruno@clisp.org>
84348
84349                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
84350                 use malloc instead. For SunOS 4.
84351
84352         2001-12-11  Bruno Haible  <bruno@clisp.org>
84353
84354                 * setenv.c: Declare alloca.
84355                 (compar_fn_t): New typedef.
84356                 (KNOWN_VALUE, STORE_VALUE): Use it.
84357
84358         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
84359         setenv.h.
84360
84361 2002-12-10  Paul Eggert  <eggert@twinsun.com>
84362
84363         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
84364         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
84365         Choose values that are less likely to collide with system fnmatch
84366         options.
84367         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
84368         defined (e.g., a pure POSIX system).
84369         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
84370         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
84371
84372 2002-12-06  Paul Eggert  <eggert@twinsun.com>
84373
84374         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
84375         a pain in practice to deal with generated m4 files.  This change
84376         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
84377
84378         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
84379         and jm-glibc-io.m4, as they are no longer a special case.
84380         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
84381         kludge and the auto-generation stuff.  Check only whether the
84382         functions are declared, not whether they exist, since older hosts
84383         that don't declare the functions can't use the optimization anyway.
84384
84385 2002-12-06  Jim Meyering  <jim@meyering.net>
84386
84387         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
84388
84389         Merge in changes from libc's misc/error.c, in preparation
84390         for the merge of gnulib's changes back into libc.
84391
84392         * lib/error.c (_): Define only if not already defined.
84393         Move definition to follow all #include directives.
84394         Include unlocked-io.h only if !_LIBC.
84395         [_LIBC]: Include <libio/libioP.h>.
84396         [USE_IN_LIBIO]: Include <libio/iolibio.h>
84397         (fflush): Tweak definition to use INTUSE.
84398         (putc): Define.
84399
84400 2002-12-05  Paul Eggert  <eggert@twinsun.com>
84401
84402         * lib/alloca.c [defined emacs]: Include "lisp.h".
84403         (xalloc_die) [defined emacs]: New macro.
84404         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
84405         [! defined emacs]: Include <xalloc.h>.
84406         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
84407         (pointer): Typedef to POINTER_TYPE *.
84408         (malloc): Remove decl; we now always use xmalloc.
84409         (alloca): Use old-style definition, since Emacs needs this.
84410         Check for arithmetic overflow when computing combined size.
84411
84412 2002-12-04  Paul Eggert  <eggert@twinsun.com>
84413
84414         Do not generate unlocked-io.h automatically, since it's easier to
84415         maintain it by hand.
84416
84417         * lib/unlocked-io.h: New file, from GNU diffutils,
84418         but with proper copyright notice and attribution.
84419         * lib/gen-uio: Remove.
84420         * lib/Makefile.am: Add copyright notice.
84421         (libfetish_a_SOURCES): Add unlocked-io.h.
84422         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
84423         (DISTCLEANFILES, io_functions): Remove macros.
84424         (EXTRA_DIST): Remove gen_uio.
84425         (unlocked-io.h): Remove rule.
84426
84427 2002-12-04  Jim Meyering  <jim@meyering.net>
84428
84429         Reflect the fact that stat.c and lstat.c are no longer generated.
84430         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
84431         (DISTCLEANFILES): Likewise.
84432         (EXTRA_DIST): Likewise.
84433         (all_local): Don't depend on stat.c or lstat.c.
84434         (stat.c, lstat.c): Remove rules.
84435         (EXTRA_DIST): Remove xstat.in.
84436
84437         * lib/xstat.in: Remove file.  Contents moved into stat.c.
84438         * lib/stat.c: New file.  Contents mostly from xstat.in.
84439         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
84440         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
84441
84442         * lib/safe-read.c: Rework so that it may serve to define safe_write,
84443         too.
84444         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
84445
84446 2002-12-03  Jim Meyering  <jim@meyering.net>
84447
84448         * lib/safe-read.c, safe-write.c: Change variable names and comments,
84449         but not semantics, to minimize the differences between these two files.
84450         (safe_read): Change comment to mention SAFE_READ_ERROR.
84451
84452         * lib/safe-read.c (IS_EINTR): Define.
84453         (safe_read): Use IS_EINTR in place of in-function cpp directives.
84454
84455 2002-12-02  Jim Meyering  <jim@meyering.net>
84456
84457         * lib/safe-read.c (EINTR): Define.
84458         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
84459         (INT_MAX): Provide fallback.
84460         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
84461
84462         * lib/safe-read.h (SAFE_READ_ERROR): Define.
84463
84464 2002-12-02  Bruno Haible  <bruno@clisp.org>
84465
84466         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
84467         Define, taken from safe-read.c.
84468         (INT_MAX): Provide fallback.
84469         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
84470         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
84471
84472         * lib/safe-read.c (EINTR): Remove definition.
84473         (safe_read): Don't use EINTR if it is absent.
84474
84475 2002-12-01  Jim Meyering  <jim@meyering.net>
84476
84477         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
84478         zero.
84479         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
84480
84481 2002-11-27  Paul Eggert  <eggert@twinsun.com>
84482
84483         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
84484         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
84485         with `if (! (value < limit)) abort ();', for readability.
84486
84487 2002-11-26  Karl Berry  <karl@gnu.org>
84488
84489         * lib/strdup.c: copy from libc again, with jim's ok.
84490         * lib/.cppi-disable: re-add strdup.c
84491
84492 2002-11-25  Karl Berry  <karl@gnu.org>
84493
84494         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
84495         instead of "strtol.c".
84496
84497 2002-11-25  Karl Berry  <karl@gnu.org>
84498
84499         * config/install-sh: update from automake for variable quoting, $0 in
84500         error msgs, etc.
84501
84502         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
84503         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
84504         entry.
84505
84506 2002-11-25  Jim Meyering  <jim@meyering.net>
84507
84508         * lib/mktime.c: Sync from libc, now that it has the latest fix.
84509
84510 2002-11-24  Karl Berry  <karl@gnu.org>
84511
84512         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
84513         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
84514
84515 2002-11-24  Jim Meyering  <jim@meyering.net>
84516
84517         Update from coreutils:
84518
84519         * lib/mktime.c: Merge in changes from libc.
84520
84521         Avoid a link-time failure on some Linux systems.
84522         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
84523         (otherwise).
84524         (__mon_yday): Declare with the STATIC attribute.
84525         (__mktime_internal): Likewise.
84526         Based on a report from Greg Schafer.
84527
84528 2002-11-23  Jim Meyering  <jim@meyering.net>
84529
84530         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
84531         Use `unsigned', not `int', as type of index.
84532
84533         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
84534
84535         * lib/fsusage.c: Remove unneeded parentheses around operands of
84536         `defined'.
84537
84538 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84539
84540         * lib/quotearg.h: Allow multiple inclusion by surrounding with
84541         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
84542         so that we can be included first.
84543         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
84544         * lib/quotearg.c: Include quotearg.h immediately after config.h.
84545         No need to include stddef.h or sys/types.h any more.
84546         Surround local include files with "", not "<>".
84547         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
84548         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
84549         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
84550         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
84551         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
84552         (ISPRINT): Remove; no longer needed now that we assume C89.
84553
84554         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
84555         Preserve errno.
84556
84557         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
84558         quotearg_char): Use SIZE_MAX rather than
84559         (size_t) -1 when we are talking about "infinity".
84560
84561         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
84562
84563 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84564
84565         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
84566         hint that one should use `if (! x) abort ();' rather than `assert
84567         (x);', and anyway it's one less thing to worry about configuring.
84568         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
84569         hash_rehash, hash_insert): Use abort rather than assert.
84570
84571 2002-11-22  Bruno Haible  <bruno@clisp.org>
84572
84573         * lib/safe-read.h: Assume C89. Add comments.
84574         (safe_read): Change return type to size_t.
84575         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
84576         byte counts > SSIZE_MAX correctly.
84577         * lib/safe-write.h: New file.
84578         * lib/safe-write.c: New file.
84579         * lib/full-read.h: New file.
84580         * lib/full-read.c: New file.
84581         * lib/full-write.h: Assume C89. Add comments.
84582         * lib/full-write.c: Include safe-write.h.
84583         (full_write): Rewritten to use safe_write.
84584         Suggested by Jim Meyering and Paul Eggert.
84585
84586 2002-11-21  Jim Meyering  <jim@meyering.net>
84587
84588         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
84589
84590         Merge in changes from the coreutils.
84591
84592         2002-09-25  Paul Eggert  <eggert@twinsun.com>
84593         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
84594         <stdint.h>.
84595         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
84596         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
84597         int.  Work more efficiently if X is the same width as uintmax_t.
84598         Do not compare X to -1, to avoid bogus compiler warning.
84599         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
84600         Don't assume that f_frsize and f_bsize are the same type.
84601
84602         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
84603         warning on FreeBSD.
84604
84605         * lib/makepath.c (make_path): Restore umask *before* creating the final
84606         component.
84607         (make_path): Minor reformatting.
84608
84609         * lib/xmalloc.c: Adjust to work with new autoconf macros,
84610         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
84611         HAVE_MALLOC/HAVE_REALLOC.
84612
84613         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
84614         dummy ones.  At least on GNU/Linux systems, `auto' means something
84615         else.
84616         From Michael Stone.
84617
84618 2002-11-21  Bruno Haible  <bruno@clisp.org>
84619
84620         Remove case insensitive option matching.
84621         * lib/argmatch.h (argcasematch): Remove declaration.
84622         (ARGCASEMATCH): Remove macro.
84623         (__xargmatch_internal): Remove case_sensitive argument.
84624         (XARGMATCH): Update.
84625         (XARGCASEMATCH): Remove macro.
84626         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
84627         case_sensitive argument.
84628         (argcasematch): Remove function.
84629         (__xargmatch_internal): Remove case_sensitive argument.
84630         (main): Use XARGMATCH instead of XARGCASEMATCH.
84631
84632         * lib/xmalloc.c: Change compile-time error message. Add comment about
84633         required autoconf version.
84634
84635 2002-11-20  Paul Eggert  <eggert@twinsun.com>
84636
84637         Merge argmatch cleanups from Bison.  Assume C89.
84638
84639         * lib/argmatch.c: Include config.h here, not in argmatch.h.
84640         Include stdlib.h, for EXIT_FAILURE.
84641         Always include <string.h>, since we assume C89.
84642         (EXIT_FAILURE): Remove pre-C89 bug workaround.
84643         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
84644         Include <stddef.h> instead, since it's all we need for size_t.
84645         (PARAMS): Remove.  All uses removed.
84646         (ARRAY_CARDINALITY): Do not bother to #undef.
84647         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
84648         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
84649         Remove unnecessary parentheses.
84650         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
84651         Insert necessary parentheses.
84652         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
84653         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
84654
84655 2002-11-19  Bruno Haible  <bruno@clisp.org>
84656
84657         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
84658         * lib/mbswidth.h: Include <stddef.h>, for size_t.
84659
84660         * lib/mbswidth.h (PARAMS): Remove macro.
84661         (mbswidth, mbsnwidth): Use ANSI C function declarations.
84662         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
84663
84664         * lib/gcd.h (PARAMS): Remove macro.
84665         (gcd): Use ANSI C function declarations.
84666         * lib/gcd.c (gcd): Likewise.
84667
84668 2002-11-15  Bruno Haible  <bruno@clisp.org>
84669
84670         * lib/strcspn.c: Include <stddef.h>.
84671         (strcspn): Use ANSI C function declaration. Change return type to
84672         size_t. Use NULL.
84673         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
84674         (strpbrk): Use NULL.
84675         * lib/strpbrk.h (PARAMS): Remove macro.
84676         (strpbrk): Use ANSI C function declaration.
84677         * lib/strstr.c: Don't include <sys/types.h>.
84678         * lib/strstr.h (PARAMS): Remove macro.
84679         (strstr): Use ANSI C function declarations.
84680
84681 2002-11-14  Karl Berry  <karl@gnu.org>
84682
84683         * config/mkinstalldirs: `do' on separate line, instead of
84684         `for var; do'.
84685
84686 2002-11-06  Bruno Haible  <bruno@clisp.org>
84687
84688         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
84689         * lib/gcd.c (gcd): Likewise.
84690
84691 2002-11-05  Bruno Haible  <bruno@clisp.org>
84692
84693         * lib/gcd.h: New file, from gettext-0.11.5.
84694         * lib/gcd.c: New file, from gettext-0.11.5.
84695
84696 2002-11-05  Bruno Haible  <bruno@clisp.org>
84697
84698         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84699         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84700         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84701         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84702
84703         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
84704         <libintl.h>.
84705         * lib/makepath.c: Include gettext.h instead of <locale.h> and
84706         <libintl.h>.
84707
84708         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
84709         * lib/human.c: Include gettext.h instead of <libintl.h>.
84710         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
84711         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
84712         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
84713         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
84714         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
84715         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
84716         (textdomain): Remove definition.
84717         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
84718
84719         * lib/long-options.c: Remove include of <libintl.h> and definition of
84720         _.
84721         * lib/same.c: Remove include of <libintl.h> and definition of _.
84722
84723 2002-11-04  Owen Taylor  <otaylor@redhat.com>
84724
84725         * lib/config.charset: A few additions for Solaris.
84726
84727 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
84728
84729         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
84730         * lib/localcharset.c (locale_charset): Declare as extern "C".
84731
84732 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
84733
84734         * lib/config.charset: msdos in uk_UA uses CP1125.
84735
84736 2002-11-04  Bruno Haible  <bruno@clisp.org>
84737
84738         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
84739         * lib/strcase.h: New file, from GNU gettext-0.11.5.
84740         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
84741         * lib/strstr.h: New file, from GNU gettext-0.11.5.
84742         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
84743
84744 2002-11-04  Bruno Haible  <bruno@clisp.org>
84745
84746         * lib/localcharset.c (locale_charset): Don't return an empty string.
84747
84748 2002-11-04  Bruno Haible  <bruno@clisp.org>
84749
84750         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
84751         aliases.
84752
84753 2002-11-04  Bruno Haible  <bruno@clisp.org>
84754
84755         * lib/config.charset: Update for newest glibc. Add canonical names
84756         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
84757
84758 2002-11-04  Bruno Haible  <bruno@clisp.org>
84759
84760         * lib/config.charset: Add support for NetBSD.
84761
84762 2002-11-04  Bruno Haible  <bruno@clisp.org>
84763
84764         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
84765
84766 2002-11-01  Bruno Haible  <bruno@clisp.org>
84767
84768         * configure.in: Add AC_CONFIG_AUX_DIR call.
84769         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
84770         test/Makefile.
84771         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
84772
84773 2002-09-28  Karl Berry  <karl@gnu.org>
84774
84775         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
84776         installed automake until the next release, since changes have been
84777         made.
84778
84779 2002-09-25  Karl Berry  <karl@gnu.org>
84780
84781         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
84782         * lib/getopt*: copy from libc/posix.
84783         * lib/gettext.h: copy from gettext.
84784         * lib/.cppi-disable: add strdup.c, gettext.h.
84785
84786 2002-09-25  Karl Berry  <karl@gnu.org>
84787
84788         * config/srclist.txt: enable gettext.h check.
84789         * config/config.{guess,sub}: update from prep.
84790         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
84791                 from automake 1.6.3.
84792         See srclist*.
84793
84794 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
84795
84796         * regex.c (PATFETCH): Remove the translating fetch.
84797         (PATFETCH_RAW): Rename to PATFETCH.
84798         (set_image_of_range): New fun.
84799         (SET_RANGE_TABLE_WORK_AREA): Use it.
84800         (regex_compile): Don't translate the pattern chars so eagerly.
84801         Only do it when inserting an `exactn' bytecode or when handling
84802         a char-range.
84803         (mutually_exclusive_p): Avoid empty statement.
84804
84805 2002-07-06  Jim Meyering  <meyering@lucent.com>
84806
84807         * m4/README: Don't mention Makefile.am.in.
84808         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
84809
84810 2002-07-01  Jim Meyering  <meyering@lucent.com>
84811
84812         * lib/c-stack.c: Include sys/time.h.
84813         From Volker Borchert.
84814
84815 2002-06-26  Paul Eggert  <eggert@twinsun.com>
84816
84817         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
84818
84819 2002-06-26  Paul Eggert  <eggert@twinsun.com>
84820
84821         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
84822         New macro.  Use it uniformly instead of
84823         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
84824         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
84825         reported by Vin Shelton.
84826
84827 2002-06-22  Paul Eggert  <eggert@twinsun.com>
84828
84829         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
84830         Do not assume SA_SIGINFO behavior.
84831         Bug reported by Jim Meyering on NetBSD 1.5.2.
84832
84833 2002-06-22  Jim Meyering  <meyering@lucent.com>
84834
84835         * m4/c-stack.m4: New file, from diffutils-2.8.2.
84836         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
84837
84838         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
84839         now that configure.ac uses AC_GNU_SOURCE.
84840         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
84841         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
84842
84843         Update to latest tools.  Suggestions from Paul Eggert.
84844         * m4/stdbool.m4: New file, from diffutils-2.8.2.
84845         * m4/gnu-source.m4: Update from diffutils-2.8.2.
84846         * m4/fnmatch.m4: Likewise.
84847         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
84848         to AC_HEADER_STDBOOL
84849
84850 2002-06-22  Jim Meyering  <meyering@lucent.com>
84851
84852         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
84853         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
84854
84855 2002-06-22  Jim Meyering  <meyering@lucent.com>
84856
84857         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
84858
84859         * lib/exitfail.c, exitfail.h: Likewise.
84860         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
84861
84862         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
84863         of fnmatch.h.
84864         (EXTRA_DIST): Add fnmatch_loop.c.
84865         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
84866
84867         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
84868         * lib/fnmatch.c: Update from diffutils-2.8.2.
84869         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
84870         * lib/fnmatch.h: Remove file.
84871
84872 2002-06-21  Jim Meyering  <meyering@lucent.com>
84873
84874         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
84875         * m4/mbrtowc.m4: Likewise.
84876
84877         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
84878         * m4/mbswidth.m4: Reflect name change:
84879         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
84880         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
84881
84882         * m4/lib-link.m4: Update from gettext-0.11.2.
84883         * m4/gettext.m4: Likewise.
84884
84885         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
84886         From Alfred M. Szmidt.
84887
84888 2002-06-18  Paul Eggert  <eggert@twinsun.com>
84889
84890         * lib/file-type.h: Report an error if neither S_ISREG nor
84891         S_IFREG is defined, instead of using a test specific to glibc
84892         2.2.  This should be safe, since POSIX requires S_ISREG and
84893         Unix Version 7 had S_IFREG.  We don't need to check for
84894         <sys/types.h> since we don't use any symbols that it defines.
84895
84896 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
84897
84898         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
84899         $@-t, so that each temporary file name is unique and valid in the first
84900         8 characters, for operation under DOS.
84901
84902 2002-06-15  Paul Eggert  <eggert@twinsun.com>
84903
84904         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
84905
84906 2002-06-15  Jim Meyering  <meyering@lucent.com>
84907
84908         Work even with DJGPP 2.03, which lacks support for symlinks.
84909         From Richard Dawe.
84910         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
84911         is defined.
84912         * lib/lchown.c (S_ISLNK): Likewise.
84913
84914 2002-06-15  Jim Meyering  <meyering@lucent.com>
84915
84916         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
84917         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
84918         have been included before this file.
84919
84920 2002-06-14  Jim Meyering  <meyering@lucent.com>
84921
84922         * lib/file-type.h: Use the version from diffutils-2.8.2.
84923         * lib/file-type.c: Likewise.
84924
84925 2002-06-07  Jim Meyering  <meyering@lucent.com>
84926
84927         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
84928         They're needed at least for NetBSD 1.5.2.
84929         ($statxfs_includes): Include those same headers.
84930         ($statxfs_includes): Include sys/vfs.h if available.
84931         ($statxfs_includes): Likewise for sys/statvfs.h.
84932         Check for the following members in both structs statfs and statvfs:
84933         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
84934
84935 2002-06-01  Jim Meyering  <meyering@lucent.com>
84936
84937         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
84938         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
84939
84940 2002-05-28  Jim Meyering  <meyering@lucent.com>
84941
84942         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
84943         Reported by Volker Borchert.
84944
84945 2002-05-27  Jim Meyering  <meyering@lucent.com>
84946
84947         Fix a problem seen only on nonconforming systems whereby ls.c's
84948         use of localtime, and then of gettimeofday would cause trouble:
84949         the localtime call used to initialize rpl_gettimeofday's save
84950         mechanism would clobber ls's current local time information so
84951         that in any long listing the first file would always be listed
84952         with date 1970-01-01.  Analysis by Volker Borchert.
84953
84954         * lib/gettimeofday.c (localtime): Undefine.
84955         (rpl_localtime): New function.
84956
84957 2002-05-27  Jim Meyering  <meyering@lucent.com>
84958
84959         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
84960         localtime.
84961
84962         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
84963         use the replacement function; it wouldn't resolve at link time.
84964         Reported by Volker Borchert.
84965
84966 2002-05-22  Jim Meyering  <meyering@lucent.com>
84967
84968         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
84969         file-type.h.
84970         * lib/file-type.h: New file.
84971         * lib/file-type.c (file_type): New file/function.  Extracted from
84972         diffutils.
84973
84974 2002-04-30  Jim Meyering  <meyering@lucent.com>
84975
84976         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
84977
84978 2002-04-29  Paul Eggert  <eggert@twinsun.com>
84979
84980         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
84981
84982 2002-04-29  Paul Eggert  <eggert@twinsun.com>
84983
84984         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
84985         Do not check for alloca.h (no longer used) or stdbool.h (was never
84986         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
84987
84988 2002-04-29  Paul Eggert  <eggert@twinsun.com>
84989
84990         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
84991
84992 2002-04-29  Jim Meyering  <meyering@lucent.com>
84993
84994         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
84995         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
84996         Use AC_FUNC_STRNLEN here instead.
84997
84998         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
84999         With autoconf-2.53a, it's part of AC_PROG_CC.
85000
85001 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85002
85003         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
85004         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
85005
85006 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85007
85008         * lib/sig2str.h, lib/sig2str.c: New files.
85009         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
85010
85011 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85012
85013         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
85014         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
85015         of 127, since 64 is the largest conceivable number for ancient
85016         nonstandard hosts.
85017         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
85018
85019 2002-04-28  Jim Meyering  <meyering@lucent.com>
85020
85021         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
85022
85023 2002-04-24  Jim Meyering  <meyering@lucent.com>
85024
85025         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
85026         (jm_PREREQ): Use it.
85027
85028         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
85029         mach/mach.h fcntl.h.
85030         Check for this function: setlocale.
85031
85032 2002-04-24  Jim Meyering  <meyering@lucent.com>
85033
85034         * lib/gettext.h: New file, from Gettext.
85035         * lib/Makefile.am (INCLUDES): Remove -I../intl.
85036         (libfetish_a_SOURCES): Add gettext.h.
85037
85038 2002-04-16  Jim Meyering  <meyering@lucent.com>
85039
85040         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
85041         ut_pid, ut_id, ut_exit.
85042
85043 2002-04-16  Jim Meyering  <meyering@lucent.com>
85044
85045         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
85046         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
85047         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
85048
85049 2002-04-12  Jim Meyering  <meyering@lucent.com>
85050
85051         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
85052         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
85053         existence of the getmntinfo function.  Needed for Darwin 5.3.
85054
85055         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
85056         This is necessary at least on Darwin 5.3.
85057
85058         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
85059         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
85060         strnlen.o in the library, and that makes some versions of ranlib
85061         object.
85062
85063 2002-04-12  Jim Meyering  <meyering@lucent.com>
85064
85065         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
85066
85067 2002-04-09  Jim Meyering  <meyering@lucent.com>
85068
85069         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
85070         to be more precise.  Rather than saying we're checking whether the
85071         function `works', say what we're testing.
85072         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
85073         Reported by Bruno Haible.
85074
85075 2002-03-10  Jim Meyering  <meyering@lucent.com>
85076
85077         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
85078         Suggestion from Santiago Vila.
85079
85080 2002-03-08  Jim Meyering  <meyering@lucent.com>
85081
85082         * lib/rename.c: Mention that this wrapper is needed also on
85083         mips-dec-ultrix4.4 systems.
85084
85085 2002-03-02  Jim Meyering  <meyering@lucent.com>
85086
85087         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
85088         not HAVE_CLOCK_SETTIME.
85089
85090 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85091
85092         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
85093         Check for clock_settime.
85094
85095 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85096
85097         * lib/nanosleep.h: Rename to....
85098         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
85099
85100         * lib/gettime.c: New file.
85101         * lib/settime.c: New file.
85102         * lib/stime.c: Remove.
85103
85104         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
85105         timespec.h.  Remove nanosleep.h.
85106
85107 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85108
85109         * m4/acl.m4: New file.
85110         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
85111         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
85112
85113 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85114
85115         * lib/acl.c, lib/acl.h: New files.
85116         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
85117
85118 2002-02-24  Jim Meyering  <meyering@lucent.com>
85119
85120         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
85121         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
85122         cause trouble.  Reported by Nelson Beebe.
85123
85124 2002-02-23  Paul Eggert  <eggert@twinsun.com>
85125
85126         * lib/path-concat.c (xpath_concat): Reorder code to pacify
85127         compilers that don't know that xalloc_die never returns.
85128
85129 2002-02-20  Jim Meyering  <meyering@lucent.com>
85130
85131         * lib/getdate.c: Regenerate using bison-1.33.
85132
85133 2002-02-17  Jim Meyering  <meyering@lucent.com>
85134
85135         * config/config.guess (main): Don't use `head -1'; it's no longer
85136         portable. Use `sed 1q' instead.
85137
85138 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
85139
85140         * m4/codeset.m4: Upgrade to gettext-0.11.
85141         * m4/gettext.m4: Upgrade to gettext-0.11.
85142         * m4/glibc21.m4: Upgrade to gettext-0.11.
85143         * m4/iconv.m4: Upgrade to gettext-0.11.
85144         * m4/isc-posix.m4: Upgrade to gettext-0.11.
85145         * m4/lcmessage.m4: Upgrade to gettext-0.11.
85146         * m4/lib-ld.m4: New file, from gettext-0.11.
85147         * m4/lib-link.m4: New file, from gettext-0.11.
85148         * m4/lib-prefix.m4: New file, from gettext-0.11.
85149         * m4/progtest.m4: Upgrade to gettext-0.11.
85150
85151 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85152
85153         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
85154         (jm_PREREQ): Use it.
85155
85156 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85157
85158         * lib/posixver.c, lib/posixver.h: New files.
85159         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85160
85161 2002-02-02  Paul Eggert  <eggert@twinsun.com>
85162             Bruno Haible  <bruno@clisp.org>
85163
85164         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
85165         (fwrite_success_callback): New declaration.
85166         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
85167         print_unicode_char. Call failure callback instead of error.
85168         (fwrite_success_callback): New function.
85169         (exit_failure_callback): New function.
85170         (fallback_failure_callback): New function.
85171         (print_unicode_char): Call unicode_to_mb.
85172
85173 2002-01-26  Jim Meyering  <meyering@lucent.com>
85174
85175         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
85176         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
85177
85178 2002-01-26  Jim Meyering  <meyering@lucent.com>
85179
85180         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
85181
85182 2002-01-22  Paul Eggert  <eggert@twinsun.com>
85183
85184         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
85185
85186 2002-01-22  Jim Meyering  <meyering@lucent.com>
85187
85188         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
85189         Otherwise, some versions of automake would omit the rule that makes
85190         Makefile from Makefile.in.
85191
85192 2002-01-21  Paul Eggert  <eggert@twinsun.com>
85193
85194         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
85195         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85196         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
85197         (memcoll): Set errno to zero if there is no error.
85198
85199         * lib/quotearg.c (quotearg_buffer_restyled):
85200         Fix bug with quoting buffers containing NUL when backslashing escapes.
85201         This bug was exposed by the other changes in this patch.
85202         (quotearg_n_options): New arg ARGSIZE.
85203         All callers changed.
85204         (quoting_options_from_style): New function.
85205         (quotearg_n_style): Use it.
85206         (quotearg_n_style_mem): New function.
85207
85208         * lib/quotearg.h (quotearg_n_style_mem): New function.
85209
85210 2002-01-19  Jim Meyering  <meyering@lucent.com>
85211
85212         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
85213         Remove useless quotes: DF_PROG="df".
85214         * m4/strnlen.m4: New file.
85215
85216 2002-01-16  Paul Eggert  <eggert@twinsun.com>
85217
85218         * lib/backupfile.c (ISDIGIT): Comment fix.
85219         * lib/getdate.y (ISDIGIT): Likewise.
85220         * lib/posixtm.c (ISDIGIT, year): Likewise.
85221         * lib/strverscmp.c (ISDIGIT): Likewise.
85222         * lib/userspec.c (ISDIGIT): Likewise.
85223
85224 2002-01-16  Jim Meyering  <meyering@lucent.com>
85225
85226         * lib/getdate.y: Add three semicolons, each just before a closing
85227         brace. Bison (as of version 1.31) no longer papers over that mistake.
85228
85229 2002-01-05  Jim Meyering  <meyering@lucent.com>
85230
85231         * lib/version-etc.c (version_etc_copyright): Update copyright year.
85232
85233 2001-12-19  Paul Eggert  <eggert@twinsun.com>
85234
85235         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
85236         not silently exit merely because the output buffer happens to
85237         have nothing pending.
85238
85239 2001-12-18  Paul Eggert  <eggert@twinsun.com>
85240
85241         See the big note in ../ChangeLog.
85242         * lib/human.c (suffixes): Prefer K to k for 1024.
85243         (generate_suffix_backwards): New function.
85244         (human_readable_inexact): Use it.
85245         * lib/xstrtol.c (__xstrtol): If there is no number but there
85246         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
85247         Accept 'K' as well as 'k'.
85248
85249 2001-12-15  Jim Meyering  <meyering@lucent.com>
85250
85251         * lib/regex.h (__restrict_arr): Update from libc.
85252
85253         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
85254         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
85255         (STREQ): Define.
85256
85257 2001-12-14  Jim Meyering  <meyering@lucent.com>
85258
85259         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
85260         Suggestion from Bruno Haible.
85261
85262 2001-12-10  Jim Meyering  <meyering@lucent.com>
85263
85264         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
85265         xrealloc, Instead, include "xalloc.h".
85266         (initbuffer): Don't cast xmalloc return value to char*.
85267         (readline): Reword comment.
85268         Don't cast xrealloc return value to char*
85269         Return NULL, not 0.
85270
85271 2001-12-09  Jim Meyering  <meyering@lucent.com>
85272
85273         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
85274         about `signed and unsigned type in conditional expression'.
85275         * lib/posixtm.c (posix_time_parse): Likewise.
85276
85277         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
85278
85279         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
85280         to avoid a pedantic warning.
85281
85282         * lib/getstr.c: Don't include assert.h.
85283         (getstr): Remove warning-evoking assertions.
85284         Return -1 if offset parameter is out of bounds.
85285         Change the type of a local from int to size_t.
85286
85287         * lib/strftime.c (my_strftime_localtime_r): Include this function
85288         definition in the `#if ! HAVE_TM_GMTOFF' block.
85289
85290         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
85291         Include xalloc.h instead.
85292
85293 2001-12-02  Jim Meyering  <meyering@lucent.com>
85294
85295         * lib/tempname.c: Don't declare getenv, thus reverting the change of
85296         2001-11-18.  It's no longer necessary, now that stdlib.h is always
85297         included.
85298
85299         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
85300         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
85301
85302 2001-11-30  Akim Demaille  <akim@epita.fr>
85303
85304         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
85305         before being defined.
85306
85307 2001-11-27  Paul Eggert  <eggert@twinsun.com>
85308
85309         * lib/quotearg.h (quotearg_n, quotearg_n_style):
85310         First arg is int, not unsigned.
85311         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
85312         (SIZE_MAX, UINT_MAX): New macros.
85313         (quotearg_n_options): Abort if N is negative.
85314         Avoid overflow check on hosts where size_t is 64 bits and int
85315         is 32 bits, as overflow is impossible there.
85316         Fix off-by-one typo that caused unnecessary reallocation.
85317
85318 2001-11-27  Jim Meyering  <meyering@lucent.com>
85319
85320         * lib/tempname.c: Merge with version from libc.
85321         * lib/regex.c: Likewise.
85322
85323         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
85324         systems for which STDC_HEADERS is 0, it was not included, resulting in
85325         a warning about an integer-to-pointer conversion problem with getenv.
85326         Reported by Volker Borchert.
85327
85328 2001-11-26  Jim Meyering  <meyering@lucent.com>
85329
85330         * lib/gtod.h: Remove file.
85331         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
85332         * lib/gettimeofday.c: Don't include gtod.h.
85333         (GTOD_init): Remove function.
85334         (rpl_gettimeofday): Do its job here instead, rather than aborting.
85335         Suggestion from Volker Borchert.
85336
85337 2001-11-23  Jim Meyering  <meyering@lucent.com>
85338
85339         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
85340         it.
85341         * lib/hash.c (struct hash_table): Define it here instead.
85342
85343 2001-11-22  Jim Meyering  <meyering@lucent.com>
85344
85345         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
85346
85347 2001-11-20  Jim Meyering  <meyering@lucent.com>
85348
85349         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
85350         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
85351
85352 2001-11-19  Jim Meyering  <meyering@lucent.com>
85353
85354         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
85355         directory.  Use "conftestXXXXXX" as the template.
85356         Suggestion from Paul Eggert.
85357
85358         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
85359         immediately, so the test doesn't mistakenly hit the max-open-files
85360         limit.
85361
85362 2001-11-18  Paul Eggert  <eggert@twinsun.com>
85363
85364         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
85365         (TEMPORARIES): New macro.
85366         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
85367         removes an artificial limitation (e.g. HP-UX 10.20, where
85368         TMP_MAX is 17576).
85369
85370 2001-11-18  Jim Meyering  <meyering@lucent.com>
85371
85372         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
85373
85374 2001-11-18  Jim Meyering  <meyering@lucent.com>
85375
85376         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
85377         on SunOS 4.
85378
85379         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
85380         files will be created before anything else.
85381
85382 2001-11-17  Paul Eggert  <eggert@twinsun.com>
85383
85384         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
85385         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
85386
85387 2001-11-17  Jim Meyering  <meyering@lucent.com>
85388
85389         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
85390         Prompted by a report from Bob Proulx.
85391
85392         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
85393         Instead, require UTILS_FUNC_MKSTEMP.
85394
85395 2001-11-17  Jim Meyering  <meyering@lucent.com>
85396
85397         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
85398         Now, that's done as part of AC_FUNC_STRTOD.
85399
85400 2001-11-17  Jim Meyering  <meyering@lucent.com>
85401
85402         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
85403         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
85404         rather than group writable.  Patch by Juan F. Codagnone.
85405
85406         * lib/readtokens.c: Remove explicit declarations of xmalloc and
85407         xrealloc, Instead, include "xalloc.h".
85408
85409         * lib/mountlist.c: Include unlocked-io.h after all system headers.
85410         Remove explicit declarations of xmalloc, xrealloc,
85411         and xstrdup.  Instead, include "xalloc.h".
85412
85413         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
85414         unlocked-io.h.
85415         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
85416         Likewise.
85417         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
85418
85419         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
85420         Reported by Padraig Brady.
85421
85422         * lib/mkstemp.c: #undef mkstemp.
85423         Include config.h.
85424         (rpl_mkstemp): Rename from mkstemp.
85425         Protoize.
85426
85427 2001-11-16  Jim Meyering  <meyering@lucent.com>
85428
85429         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
85430         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
85431         determine the amount of total physical memory, use pstat_getstatic.
85432         HPUX-11 doesn't define _SC_PHYS_PAGES.
85433         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
85434         If sysconf couldn't be used to determine the amount of available
85435         physical memory, use both pstat_getstatic and pstat_getdynamic.
85436         Based on a patch from Bob Proulx.
85437
85438 2001-11-10  Jim Meyering  <meyering@lucent.com>
85439
85440         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
85441         (jm_PREREQ): Use it.
85442
85443 2001-11-09  Jim Meyering  <meyering@lucent.com>
85444
85445         * m4/jm-macros.m4: Require autoconf-2.52f.
85446         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
85447         Use these AC_-prefixed names, not the AM_-prefixed ones.
85448
85449         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
85450
85451 2001-11-05  Jim Meyering  <meyering@lucent.com>
85452
85453         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
85454
85455 2001-11-04  Jim Meyering  <meyering@lucent.com>
85456
85457         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
85458         $DEFS.
85459
85460 2001-11-03  Jim Meyering  <meyering@lucent.com>
85461
85462         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
85463         of AC_DEFUN.
85464
85465         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
85466         know the name of the variable in the macro definition.
85467
85468 2001-11-03  Jim Meyering  <meyering@lucent.com>
85469
85470         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
85471         in argmatch_to_argument call.
85472
85473         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
85474         argument.
85475
85476         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
85477         e.g., a fault due to an attempt to free a NULL pointer.
85478
85479 2001-11-01  Jim Meyering  <meyering@lucent.com>
85480
85481         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
85482         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
85483
85484 2001-11-01  Jim Meyering  <meyering@lucent.com>
85485
85486         * lib/dirfd.c, lib/dirfd.h: New files.
85487         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
85488
85489         * lib/hash.c (hash_print) [TESTING]: Clean up.
85490
85491 2001-10-22  Paul Eggert  <eggert@twinsun.com>
85492
85493         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
85494         to avoid a warning if -Wall.
85495
85496 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
85497
85498         * README: New file
85499         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
85500         (per RMS's instructions, this is now the canonical source)
85501         * lgpl/, gpl/: New directories.
85502
85503 2001-10-21  Paul Eggert  <eggert@twinsun.com>
85504
85505         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
85506
85507 2001-10-21  Jim Meyering  <meyering@lucent.com>
85508
85509         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
85510         this code would end up calling gettext even in packages built
85511         with --disable-nls.
85512         * lib/getopt.c (_): Likewise.
85513         * lib/regex.c (_): Likewise.
85514
85515 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85516
85517         * m4/error.m4 (jm_PREREQ_ERROR):
85518         Do not invoke AC_CHECK_FUNCS with strerror_r, as
85519         AC_FUNC_STRERROR_R does that.
85520         Check for strerror declaration.
85521
85522         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
85523         are supposed to have them these days.
85524         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
85525         Merge changes from latest Autoconf CVS.
85526         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
85527         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
85528         POSIX decided to standardize on the int flavor of strerror_r.
85529
85530 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85531
85532         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
85533         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
85534         Use strerror_r that is only a macro, even if it is not a function.
85535         (strerror): Check for HAVE_DECL_STRERROR before declaring.
85536         (private_strerror): Use prototypes, not old-style function definition.
85537         (print_errno_message): New function.
85538         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
85539         char*-flavored one.
85540         (error_tail, error, error_at_line): Use it.
85541
85542 2001-10-11  Jim Meyering  <meyering@lucent.com>
85543
85544         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
85545         and quote_n (1, ... to avoid clobbering a buffer.
85546
85547 2001-10-05  Jim Meyering  <meyering@lucent.com>
85548
85549         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
85550         hash-pjw.h.
85551         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
85552         * lib/hash-pjw.h: New file.
85553
85554 2001-09-30  Jim Meyering  <meyering@lucent.com>
85555
85556         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
85557         `struct fsstat' has the `f_fstypename' member.
85558         Use that to define FS_TYPE, which is now used to make
85559         the getfsstat link test tighter.
85560
85561 2001-09-30  Jim Meyering  <meyering@lucent.com>
85562
85563         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
85564         Include <sys/ucred.h>, for Apple Darwin.
85565         Include sys/mount.h and sys/fs_types.h only if available.
85566         (FS_TYPE): Define.
85567         (read_filesystem_list): Use FS_TYPE.
85568
85569 2001-09-29  Paul Eggert  <eggert@twinsun.com>
85570
85571         * lib/exclude.c (excluded_filename): 0 -> false, since it's
85572         a boolean context.
85573
85574 2001-09-29  Jim Meyering  <meyering@lucent.com>
85575
85576         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
85577         [one-argument getmntent function]): Include stdio.h before mntent.h.
85578         SunOS 4.1.x needs it for the declaration of `FILE'.
85579         Patch by Volker Borchert.
85580
85581         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
85582         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
85583         sys/fs_types.h, and make the link-test for getfsstat guard #include
85584         directives with appropriate #if HAVE_*_H tests so that we can
85585         detect getfsstat on Apple Darwin1.3.7 systems.
85586         Reported by Nelson Beebe.
85587         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
85588
85589 2001-09-28  Paul Eggert  <eggert@twinsun.com>
85590
85591         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
85592         #defines strtoimax.  Also treat the other strto* functions
85593         like strtoimax.
85594
85595         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
85596         Check for strtoul and strtoumax,
85597         as those declarations are made even in the signed case.
85598         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
85599         Likewise, for strtol and strtoimax.
85600
85601 2001-09-28  Paul Eggert  <eggert@twinsun.com>
85602
85603         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
85604         #defines strtoimax.  Also treat the other strto* functions
85605         like strtoimax.
85606
85607         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
85608         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
85609         (strtoimax, strtoumax): Do not declare if already defined as a macro.
85610
85611 2001-09-26  Jim Meyering  <meyering@lucent.com>
85612
85613         Most macros in unlocked-io.h had the wrong number of arguments.
85614         * lib/gen-uio: New script.
85615         (USE_UNLOCKED_IO): Define to 1 if not already defined.
85616         * lib/unlocked-io.hin: Remove file.
85617         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
85618         rather than trying to embed it here.
85619         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
85620         Reported by Padraig Brady.
85621
85622 2001-09-25  Volker Borchert  <bt@teknon.de>
85623
85624         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
85625         `result'.
85626
85627 2001-09-24  Jim Meyering  <meyering@lucent.com>
85628
85629         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
85630
85631 2001-09-23  Jim Meyering  <meyering@lucent.com>
85632
85633         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
85634         instead of the mere test for existence of mntent.h.  The latter
85635         would get a false-positive on AIX 3.4 systems.
85636         In the outer getmntent if-block, don't die if neither of the getmntent
85637         tests succeeds.  Instead, just fall through and continue with the
85638         remaining tests.
85639
85640 2001-09-23  Jim Meyering  <meyering@lucent.com>
85641
85642         * lib/mountlist.c: Remove useless parentheses in #if directives.
85643         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
85644         the deprecated MOUNTED symbol is no longer defined in mntent.h.
85645
85646 2001-09-22  Jim Meyering  <meyering@lucent.com>
85647
85648         * m4/gettext.m4: New file.  From gettext.
85649         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
85650         * m4/progtest.m4: Likewise
85651         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
85652         * m4/glibc21.m4: Likewise.
85653
85654         * m4/libintl.m4: Remove.  No longer used.
85655
85656 2001-09-22  Jim Meyering  <meyering@lucent.com>
85657
85658         * lib/localcharset.c: Update from latest gettext.
85659         * lib/config.charset: Likewise.
85660
85661 2001-09-20  Jim Meyering  <meyering@lucent.com>
85662
85663         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
85664         strtoimax.
85665         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
85666         strtoumax.
85667
85668 2001-09-20  Jim Meyering  <meyering@lucent.com>
85669
85670         * lib/xstrtol.c (strtoimax): Guard declaration with
85671         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
85672         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
85673         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
85674         (strtoumax): Likewise, for completeness (it wasn't necessary).
85675
85676 2001-09-17  Paul Eggert  <eggert@twinsun.com>
85677
85678         * lib/strtoimax.c (HAVE_LONG_LONG):
85679         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
85680         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
85681         to work around bug in IBM C compiler.
85682
85683 2001-09-17  Jim Meyering  <meyering@lucent.com>
85684
85685         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
85686         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
85687         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
85688         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
85689         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
85690         whenever the right hand side need not be expanded by the shell.
85691
85692 2001-09-16  Paul Eggert  <eggert@twinsun.com>
85693
85694         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
85695         library.  It's not correct, as some older glibcs are buggy.
85696         fnmatch wasn't fixed until glibc 2.2.
85697
85698         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
85699         special shell magic here.
85700
85701 2001-09-16  Jim Meyering  <meyering@lucent.com>
85702
85703         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
85704         * m4/jm-macros.m4: Require it.
85705
85706 2001-09-16  Jim Meyering  <meyering@lucent.com>
85707
85708         * lib/mkdir.c: New file.
85709
85710 2001-09-15  Jim Meyering  <meyering@lucent.com>
85711
85712         * m4/jm-macros.m4: Check for help2man.
85713
85714 2001-09-11  Jim Meyering  <meyering@lucent.com>
85715
85716         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
85717         The body, by Paul Eggert, was moved here from configure.in.
85718         * m4/jm-macros.m4: Require UTILS_HOST_OS.
85719
85720 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85721
85722         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
85723         (jm_PREREQ): Use it.
85724
85725 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85726
85727         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
85728         Use ssize_t, not int, to store result of readlink.
85729         Check for ssize_t overflow as well as size_t overflow,
85730         as POSIX says the result of readlink is implementation-defined
85731         when ssize_t overflows.
85732         Remove unnecessary cast to char*.
85733         Use free+malloc instead of realloc, as the storage doesn't need
85734         to be preserved and it's clearer and can be more efficient that way.
85735         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
85736         * lib/xreadlink.h (xreadlink): Update prototype.
85737
85738 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85739
85740         * lib/xgetcwd.c: Revert some of the previous change; intead,
85741         fix the HAVE_GETCWD_NULL code to behave more like the
85742         !HAVE_GETCWD_NULL code used to.
85743
85744         Include "xalloc.h".
85745         (xgetcwd): Do not return NULL when memory is exhausted; instead,
85746         invoke xalloc_die.
85747
85748 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85749
85750         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
85751         sys/param.h, as pathmax.h includes them.
85752
85753 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85754
85755         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
85756         (jm_PREREQ_XGETCWD): New macro.
85757
85758         * m4/getcwd.m4: New file.
85759
85760 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85761
85762         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
85763         like the HAVE_GETCWD_NULL code.
85764         Include pathmax.h if not HAVE_GETCWD.
85765         Do not include xalloc.h.
85766         (INITIAL_BUFFER_SIZE): New symbol.
85767         Do not use xmalloc / xrealloc, since the caller is responsible for
85768         handling errors.  Preserve errno around `free' during failure.
85769         Do not overrun buffer when using getwd.
85770
85771 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85772
85773         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
85774         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
85775         getcwd (NULL, 0).
85776
85777 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85778
85779         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
85780         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
85781         spotted by Jim Meyering.
85782
85783 2001-09-03  Jim Meyering  <meyering@lucent.com>
85784
85785         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
85786         failure.
85787
85788 2001-09-02  Jim Meyering  <meyering@lucent.com>
85789
85790         * lib/error.c: Update from GNU libc.
85791
85792 2001-09-01  Jim Meyering  <meyering@lucent.com>
85793
85794         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
85795         Used by df.
85796
85797 2001-09-01  Jim Meyering  <meyering@lucent.com>
85798
85799         * lib/xreadlink.c: New file.
85800         * lib/xreadlink.h: New file.
85801         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
85802         xreadlink.h.
85803
85804         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
85805         doesn't conflict with sparc Solaris 7's definition in
85806         /usr/include/sys/int_types.h.
85807
85808         * lib/exclude.c: Use `""', not `<>' to #include non-system header
85809         files.
85810         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
85811         and strncasecmp as r-values.  Unixware didn't have declarations.
85812
85813 2001-08-31  Paul Eggert  <eggert@twinsun.com>
85814
85815         * lib/xstrtol.h: Add copyright notice.
85816         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
85817         LONGINT_INVALID_SUFFIX_CHAR.
85818
85819 2001-08-31  Paul Eggert  <eggert@twinsun.com>
85820
85821         * lib/xstrtol.c (strtoimax): New decl.
85822
85823 2001-08-31  Paul Eggert  <eggert@twinsun.com>
85824
85825         * lib/xgetcwd.c: Don't include pathmax.h.
85826         Include stdlib.h and unistd.h if available.
85827         Include xalloc.h.
85828         (xmalloc, xstrdup, free): Remove decls.
85829         (xgetcwd): Don't assume sizes fit in unsigned.
85830         Check for overflow when computing sizes.
85831         Simplify reallocation code.
85832
85833 2001-08-31  Paul Eggert  <eggert@twinsun.com>
85834
85835         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
85836         a directory's st_size can have an arbitrary value, so the old
85837         usage could waste an arbitrary amount of memory.  All uses
85838         changed.
85839         * lib/savedir.h: Update prototype.
85840
85841 2001-08-31  Paul Eggert  <eggert@twinsun.com>
85842
85843         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
85844
85845         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
85846         old strtoimax.c.
85847
85848         Also, make the following further changes to make this file's
85849         configuration more similar to that of strtol.c:
85850         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
85851         (strtoumax, uintmax_t, strtoull, strtol): Remove.
85852         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
85853         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
85854         changed to signed values.
85855
85856         And make the following changes as well:
85857         Fix copyright notice, as 1999 was missing.
85858         (verify): New macro.
85859         (strtoimax): Check sizes at compile-time, not run-time.
85860         Prefer strtol to strtoll if both work.
85861         (main): Remove; it was not that useful and was a pain to maintain.
85862
85863         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
85864
85865 2001-08-31  Jim Meyering  <meyering@lucent.com>
85866
85867         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
85868         Use an initial, malloc'd, buffer of length 128 rather than
85869         a statically allocated one of length 1024.
85870
85871 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85872
85873         Simplify code, partly by assuming autoconf 2.52 semantics.
85874
85875         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
85876
85877         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
85878         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
85879         All uses removed.
85880         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
85881         Move AC_REQUIRE to next-to-top level, to avoid confusion.
85882         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
85883         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
85884         jm_AC_HEADER_INTTYPES_H.
85885         * m4/jm-macros.m4 (jm_MACROS): Likewise.
85886
85887         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
85888
85889         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
85890         Quote first arg of AC_DEFUN.
85891         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
85892         since they are needed to parse the include file even if we need
85893         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
85894         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
85895         but with opposite signedness.
85896
85897 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85898
85899         Merge 'exclude' changes from tar 1.13.22.
85900         This fixes one or two unlikely storage allocation overflow bugs,
85901         but doesn't change user-visible behavior otherwise.
85902
85903 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85904
85905         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
85906         (jm_PREREQ_EXCLUDE): New macro.
85907
85908 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85909
85910         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
85911         tm to be declared.
85912
85913 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85914
85915         * lib/hash.c: Remove '2001' from copyright notice.
85916
85917 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85918
85919         * lib/full-write.h: New file.
85920         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
85921         * lib/full-write.c: Correct credits, as cccp.c no longer
85922         exists and anyway it was so heavily changed from the old cccp
85923         code as to be unrecognizable.  Include full-write.h.
85924         (full_write): Return size_t, with short writes meaning failure.
85925         All callers changed.  This fixes a bug with large buffers
85926         on 64-bit hosts.
85927         * lib/utime.c: Include full-write.h.
85928
85929 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85930
85931         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
85932         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
85933         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
85934         Include if available.
85935         (<xalloc.h>): Include
85936         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
85937         (verify): New macro.  Use it to verify that EXCLUDE macros do not
85938         collide with FNM macros.
85939         (struct patopts): New struct.
85940         (struct exclude): Use it, as exclude patterns now come with options.
85941         (new_exclude): Support above changes.
85942         (new_exclude, add_exclude_file):
85943         Initial size must now be a power of two to simplify overflow checking.
85944         (free_exclude, fnmatch_no_wildcards): New function.
85945         (excluded_filename): No longer requires options arg, as the options
85946         are determined by add_exclude.  Now returns bool, not int.
85947         (excluded_filename, add_exclude):
85948         Add support for the fancy new exclusion options.
85949         (add_exclude, add_exclude_file): Now takes int options arg.
85950         Check for arithmetic overflow when computing sizes.
85951         (add_exclude_file): xrealloc might modify errno, so don't
85952         realloc until after errno might be used.
85953
85954         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
85955         New macros.
85956         (free_exclude): New decl.
85957         (add_exclude, add_exclude_file): Now takes int options arg.
85958         (excluded_filename): No longer requires options arg, as the options
85959         are determined by add_exclude.  Now returns bool, not int.
85960
85961 2001-08-30  Paul Eggert  <eggert@twinsun.com>
85962
85963         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
85964
85965 2001-08-27  Jim Meyering  <meyering@lucent.com>
85966
85967         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
85968
85969         * lib/version-etc.c (N_): Remove definition.
85970         Revert most of last change.
85971         Instead, simply don't mark the `Copyright...' string for translation.
85972         Based on advice from Paul Eggert.
85973
85974         * lib/strtoxmax.c: Tweak comment.
85975
85976 2001-08-26  Jim Meyering  <meyering@lucent.com>
85977
85978         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
85979
85980         * m4/xstrtoimax.m4: New file.
85981         * m4/xstrtoumax.m4: Add comments explaining why we
85982         AC_REPLACE_FUNCS(strtol).
85983
85984 2001-08-26  Jim Meyering  <meyering@lucent.com>
85985
85986         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
85987         of copyright with `%s' so translators don't get an untranslated
85988         message in 2002.
85989         (COPYRIGHT_YEAR): Define.
85990         (version_etc): Use fprintf rather than fputs.
85991         Suggestion from Ulrich Drepper.
85992
85993         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
85994
85995         * lib/strtoll.c: New file, from GNU libc.
85996         * lib/xstrtoimax.c: New file.
85997
85998         * lib/xstrtol.h: Add xstrtoimax.
85999         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
86000         * lib/strtoimax.c: New file.  Likewise, but first define
86001         STRTOUXMAX_SIGNED.
86002
86003         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
86004         ...
86005         * lib/strtoxmax.c: ... then renamed to this.
86006
86007 2001-08-18  Paul Eggert  <eggert@twinsun.com>
86008
86009         * m4/inttypes.m4: Add AC_PREREQ(2.13).
86010         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
86011         (jm_AC_TYPE_INTMAX_T): New macro.
86012         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
86013
86014         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
86015
86016         * m4/longlong.m4: Renamed from ulonglong.m4.
86017         * m4/inttypes.m4: Renamed from inttypes_h.m4.
86018         * m4/uintmax_t.m4: Removed.
86019
86020 2001-08-13  Paul Eggert  <eggert@twinsun.com>
86021
86022         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
86023         Port to Solaris 8, where 'sed' requires a space after the 'r'
86024         command, and where sh dislikes "$/".  Clean up the spacing a bit.
86025         Redirect output to $tmp just once.
86026
86027 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
86028
86029         * lib/addext.c (<errno.h>): Include.
86030         (errno): Declare if not defined.
86031         (addext): Work correctly when pathconf returns -1 and leaves
86032         errno alone because there is no limit.  Also, work even if
86033         pathconf returns a value greater than SIZE_MAX.
86034
86035 2001-08-12  Jim Meyering  <meyering@lucent.com>
86036
86037         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
86038         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
86039         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
86040         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
86041         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
86042         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
86043         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
86044         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
86045         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
86046         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
86047         utime.m4, utimes.m4, xstrtoumax.m4:
86048         Quote the first argument in each use of AC_DEFUN.
86049
86050 2001-08-12  Jim Meyering  <meyering@lucent.com>
86051
86052         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
86053         Simply `return getcwd (NULL, 0);'.
86054         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
86055         Use 1300 as initial value for length, not PATH_MAX.
86056
86057         * lib/pathmax.h: Clean up cpp syntax.
86058
86059 2001-08-12  Jim Meyering  <meyering@lucent.com>
86060
86061         * lib/gettimeofday.c: New file.
86062         * lib/gtod.h: New file.
86063         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
86064
86065 2001-08-05  Jim Meyering  <meyering@lucent.com>
86066
86067         * m4/jm-macros.m4: Require autoconf-2.52.
86068
86069 2001-08-04  Jim Meyering  <meyering@lucent.com>
86070
86071         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
86072         stmt, to get in sync with glibc.
86073
86074 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86075
86076         The following changes are from gettext 0.10.39 as maintained by
86077         Bruno Haible.
86078
86079         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
86080         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
86081         with inverted sense.  All uses changed.
86082
86083         * lib/mbswidth.c: Don't include <limits.h>.
86084         Include <stdlib.h> and <string.h> unconditionally.
86085         (iswcntrl, mbsinit, ISCNTRL): New macros.
86086         (mbsnwidth): Use K&R style function declarations.
86087         Don't bother checking for MB_LEN_MAX == 1, since the compiler
86088         can optimize it when MB_CUR_MAX == 1.
86089         The width of control characters is zero, not 1.
86090
86091 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86092
86093         The following changes are from gettext 0.10.39 as maintained by
86094         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
86095
86096         * m4/codeset.m4: Upgrade to serial AM1.
86097         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
86098         all uses changed.  Quote first arg of AC_DEFUN.
86099         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
86100
86101         * m4/iconv.m4: Upgrade to serial AM2.
86102         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
86103         Add --with-libconv-prefix.
86104         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
86105         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
86106         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
86107         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
86108         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
86109
86110         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
86111         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
86112         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
86113         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
86114         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
86115         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
86116         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
86117         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
86118         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
86119
86120         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
86121         string.h any more.
86122
86123         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
86124         not the default value.
86125
86126         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
86127         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
86128         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
86129         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
86130         Also check for iswcntrl, used for wcwidth fallback.
86131         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
86132         to Autoconf 2.13.
86133
86134 2001-08-03  Jim Meyering  <meyering@lucent.com>
86135
86136         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
86137         as it was in the original.  Reported by Paul Eggert.
86138
86139 2001-07-16  Jim Meyering  <meyering@lucent.com>
86140
86141         * m4/gettimeofday.m4: New file.
86142         Prompted by a report from Bernhard Baehr.
86143
86144 2001-07-15  Jim Meyering  <meyering@lucent.com>
86145
86146         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
86147         stuff. Now it's in ../Makefile.cfg.
86148
86149 2001-07-15  Jim Meyering  <meyering@lucent.com>
86150
86151         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
86152         (BUILT_SOURCES): Add unlocked-io.h.
86153         (io_functions): Define.
86154         (unlocked-io.h): New rule.
86155         (DISTCLEANFILES): Add unlocked-io.h.
86156         (all-local): Depend on unlocked-io.h, to ensure it is created.
86157
86158         * lib/unlocked-io.hin: New file
86159
86160         * lib/regex.c: Update from glibc.
86161
86162 2001-07-05  Jim Meyering  <meyering@lucent.com>
86163
86164         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
86165         recommendation.
86166         (libfetish_a_SOURCES): Put all .h files here instead.
86167         Remove a thus-exposed (better checks in automake) duplicate and
86168         two unnecessary .h files.
86169
86170 2001-07-04  Jim Meyering  <meyering@lucent.com>
86171
86172         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
86173         that generates jm-glibc-io.m4 so that it doesn't trigger any make
86174         distcheck failure.
86175
86176 2001-07-02  Jim Meyering  <meyering@lucent.com>
86177
86178         The following changes were prompted by suggestions from Bruno Haible.
86179
86180         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
86181         is now generated.
86182         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
86183         definition of EXTRA_DIST.
86184         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
86185         ensure that the generated file is created/updated whenever the list
86186         of $(unlocked_functions) is changed.
86187         (jm-glibc-io.m4): New rule.
86188         (unlocked-io.h): New rule -- currently unused.
86189
86190 2001-06-24  Jim Meyering  <meyering@lucent.com>
86191
86192         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
86193         unmatched right bracket, rather than kludging it with an extra,
86194         falsely-matching quote in a comment.  Patch by Akim Demaille.
86195
86196 2001-06-11  Jim Meyering  <meyering@lucent.com>
86197
86198         * lib/regex.c: Update from GNU libc.
86199
86200 2001-05-27  Jim Meyering  <meyering@lucent.com>
86201
86202         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
86203         Check for ut_type in struct utmp.
86204
86205 2001-05-27  Jim Meyering  <meyering@lucent.com>
86206
86207         * lib/readutmp.h (UT_TYPE): Define.
86208
86209 2001-05-24  Jim Meyering  <meyering@lucent.com>
86210
86211         * lib/argmatch.c: Include "quote.h".
86212         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
86213         quote function.  Reported by Göran Uddeborg.
86214
86215 2001-05-22  Jim Meyering  <meyering@lucent.com>
86216
86217         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
86218         now that we use the package-supplied version unconditionally.
86219         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
86220
86221 2001-05-21  Jim Meyering  <meyering@lucent.com>
86222
86223         * m4/regex.m4: Change a couple backticks to single quotes to avoid
86224         shell syntax errors.
86225
86226 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86227
86228         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
86229
86230 2001-05-20  Paul Eggert  <eggert@twinsun.com>
86231
86232         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
86233         Don't bother to check library strftime, since
86234         we'll be using our own my_strftime function anyway.
86235         Define my_strftime instead of strftime.
86236
86237 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
86238
86239         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
86240         which is not yet declared.
86241
86242 2001-05-15  Jim Meyering  <meyering@lucent.com>
86243
86244         * m4/regex.m4: Use proper quoting so brackets appear in the test
86245         program.
86246         Reported by, and with help from, Bruno Haible.
86247
86248 2001-05-13  Jim Meyering  <meyering@lucent.com>
86249
86250         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
86251         undefined.
86252
86253 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86254
86255         dirname code cleanup.  base_name now behaves more compatibly
86256         with POSIX basename when given file names that have trailing
86257         slashes, and similarly for dir_name.  Add new primitives
86258         base_len and dir_len.  Put the directory-name-related decls
86259         into dirname.h.
86260
86261         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
86262         * lib/backupfile.c (base_name): Likewise.
86263         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
86264         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
86265         * lib/makepath.c (strip_trailing_slashes): Likewise.
86266         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
86267         ISSLASH): Likewise.
86268         * lib/rename.c (strip_trailing_slashes): Likewise.
86269         * lib/same.c (base_name): Likewise.
86270         * lib/stripslash.c (ISSLASH): Likewise.
86271
86272         * lib/addext.c: Include <dirname.h> after size_t is defined.
86273         * lib/backupfile.c: Likewise.
86274
86275         * lib/addext.c (addext): Use base_len to trim redundant
86276         trailing slashes instead of doing it ourselves.
86277         But do not trim the last slash if it is not redundant.
86278
86279         * lib/backupfile.c (find_backup_file_name,
86280         max_backup_version): Use base_len instead of rolling it ourselves.
86281         Handle the case of "" and (on DOS) "C:" correctly.
86282
86283         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
86284         needed. Include <string.h>, <dirname.h>.
86285         (base_name): Allow file names ending in slashes, other than names
86286         that are all slashes.  In this case, return the basename followed
86287         by the slashes.  This is more general, and can be used in places
86288         where the original base_name purposely had an assertion failure.
86289         (base_len): New function.
86290
86291         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
86292         Do not include <assert.h>; no longer needed.
86293         Include xalloc.h.
86294         (memrchr): Remove decl.
86295         (dir_name_r): Remove.
86296         (dir_len): Renamed from dirlen.  All callers changed.
86297         Rewrite in terms of base_name, for simplicity and consistency.
86298         (dir_name): Never return NULL.  All callers changed.
86299         Do not include <stdlib.h> in test program; no longer needed.
86300         return 0; is fine for test program.
86301
86302         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
86303         New macros.
86304         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
86305
86306         * lib/path-concat.c (path_concat): Use base_len to compute
86307         base length, not strlen; this means we cannot rely on memcpy
86308         to null-terminate.
86309
86310         * lib/same.c (STREQ): Remove.
86311         (same_name): Handle the case where the basename ends in trailing '/'.
86312
86313         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
86314         a slash was stripped.  Do not strip the last slash after a
86315         file system prefix.
86316
86317 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86318
86319         * lib/Makefile.am (libfetish_a_SOURCES):
86320         Add strftime.c, since we now compile it on all hosts.
86321
86322         * lib/strftime.c (my_strftime):
86323         Define to nstrftime if emacs, but only if my_strftime is not defined.
86324         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
86325         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
86326         Add one more extra argument: a nanoseconds value.
86327         All uses changed.
86328         (ns): New macro.
86329         (my_strftime function): Add %N format.
86330         (emacs_strftimeu): Renamed from emacs_strftime,
86331         with extra ut argument.
86332
86333 2001-05-09  Paul Eggert  <eggert@twinsun.com>
86334
86335         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
86336
86337 2001-04-21  Jim Meyering  <meyering@lucent.com>
86338
86339         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
86340         doesn't interfere.
86341
86342 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86343
86344         * m4/ftruncate.m4: Check for chsize.
86345         Link with ftruncate.o unconditionally if ftruncate is missing.
86346         This was required when cross-compiling to i586-mingw32msvc.
86347
86348 2001-04-08  Jim Meyering  <meyering@lucent.com>
86349
86350         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
86351         recomputed; that's necessary when the offset spans a DST transition.
86352         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
86353
86354 2001-04-02  Jim Meyering  <meyering@lucent.com>
86355
86356         * lib/regex.h, regex.c: Update from GNU libc.
86357
86358 2001-03-24  Jim Meyering  <meyering@lucent.com>
86359
86360         * m4/jm-macros.m4: Require autoconf-2.49d.
86361
86362 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
86363
86364         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
86365
86366 2001-03-19  Paul Eggert  <eggert@twinsun.com>
86367
86368         * lib/version-etc.c (version_etc_copyright): Update to 2001.
86369
86370 2001-03-17  Jim Meyering  <meyering@lucent.com>
86371
86372         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
86373         now that the version in autoconf is equivalent.
86374         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
86375
86376         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
86377         Suggestion from Akim Demaille.
86378
86379         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
86380         (jm_PREREQ_TEMPNAME): New function.
86381
86382 2001-03-16  Paul Eggert  <eggert@twinsun.com>
86383
86384         * lib/tempname.c (uint64_t): Define to uintmax_t if
86385         not defined, and if UINT64_MAX is not defined.
86386         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
86387         Reported by John David Anglin.
86388
86389 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
86390
86391         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
86392         resolve alias if codeset is empty.
86393         * lib/config.charset (BeOS): Use wildcard syntax.
86394
86395 2001-03-13  Jim Meyering  <meyering@lucent.com>
86396
86397         * lib/path-concat.c (path_concat)
86398         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
86399         concatenating e.g., `C:' and `foo'.
86400         From Bruno Haible.
86401
86402 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86403
86404         * lib/localcharset.c (locale_charset): Don't use
86405         setlocale(LC_CTYPE,NULL). Don't return NULL.
86406         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
86407
86408 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86409
86410         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
86411         support for DOS/DJGPP.
86412
86413 2001-03-01  Paul Eggert  <eggert@twinsun.com>
86414
86415         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
86416         lacks mkstemp.  Compile our own tempname.c if we compile our own
86417         mkstemp.c, as mkstemp relies on tempname.
86418
86419 2001-03-01  Jim Meyering  <meyering@lucent.com>
86420
86421         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
86422         AH_VERBATIM really does output its argument verbatim.
86423
86424 2001-02-28  Paul Eggert  <eggert@twinsun.com>
86425
86426         * lib/Makefile.am (libfetish_a_SOURCES):
86427         Add dup-safer.c, fopen-safer.c.
86428         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
86429
86430         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
86431         * lib/unistd-safer.h: New files.
86432
86433 2001-02-25  Paul Eggert  <eggert@twinsun.com>
86434
86435         The mkstemp replacement is taken from glibc 2.2.2, with some
86436         portability fixes for use outside glibc, as follows:
86437
86438         * lib/tempname.c (struct_stat64): New macro.
86439         (direxists, __gen_tempname): Use it.
86440         This avoids a portability problem with Solaris 8.
86441
86442         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
86443         (<stddef.h>, <stdint.h>, <string.h>):
86444         Include only if STDC_HEADERS || _LIBC.
86445         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
86446         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
86447         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
86448         (__set_errno): Define this macro if <errno.h> doesn't.
86449         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
86450         Define these macros if <stdio.h> doesn't.
86451         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
86452         Define these macros if <sys/stat.h>
86453         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
86454         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
86455         __xstat64): Define if not _LIBC.
86456         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
86457         (__gen_tempname): Invoke gettimeofday only if
86458         HAVE_GETTIMEOFDAY || _LIBC;
86459         otherwise, fall back on plain "time".
86460         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
86461
86462         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
86463
86464         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
86465
86466 2001-02-18  Paul Eggert  <eggert@twinsun.com>
86467
86468         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
86469
86470 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86471
86472         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
86473         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
86474         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
86475         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
86476
86477 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86478
86479         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
86480         Remove workaround macros for hosts that have mbrtowc but not
86481         mbstate_t, as we now insist on proper declarations for both
86482         before using mbrtowc.
86483
86484 2001-02-17  Jim Meyering  <meyering@lucent.com>
86485
86486         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
86487         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
86488         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
86489         UnixWare 7.1.1.
86490
86491         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
86492         rather than AC_CACHE_VAL.
86493
86494 2001-02-17  Jim Meyering  <meyering@lucent.com>
86495
86496         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
86497         around included file name.
86498
86499         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
86500
86501         * lib/strftime.c: Update from GNU libc (the only changes were to
86502         comments).
86503
86504 2001-02-17  Jim Meyering  <meyering@lucent.com>
86505
86506         * lib/regex.c: Update from libc.
86507
86508 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
86509
86510         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
86511         clash.
86512
86513 2001-02-16  Paul Eggert  <eggert@twinsun.com>
86514
86515         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
86516         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
86517         Reported by Mark Hounschell via Paul Eggert.
86518
86519 2001-02-07  Jim Meyering  <meyering@lucent.com>
86520
86521         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
86522
86523 2001-02-05  Jim Meyering  <meyering@lucent.com>
86524
86525         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
86526         it includes the patch required for `large file' support with at least
86527         HP-UX's 10.20 /bin/cc.
86528
86529 2001-02-03  Jim Meyering  <meyering@lucent.com>
86530
86531         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
86532         AS_IF, now that it works once again (mysteriously).
86533         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86534
86535 2001-01-30  Jim Meyering  <meyering@lucent.com>
86536
86537         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
86538         * m4/chown.m4: Rename conftestchown to conftest.chown.
86539         * m4/rename.m4: s/conftestdir/conftest.d1/ and
86540         s/conftestdir2/conftest.d2/.
86541         * m4/utimes.m4: s/conftestdata/conftest.data/
86542         Inspired by Pavel Roskin's change in autoconf.
86543
86544 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
86545
86546         * lib/config.charset: Update for FreeBSD 4.2.
86547
86548 2001-01-27  Jim Meyering  <meyering@lucent.com>
86549
86550         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
86551         a use of AS_IF.
86552         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86553
86554 2001-01-26  Jim Meyering  <meyering@lucent.com>
86555
86556         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
86557         quotearg.c includes it.
86558
86559 2001-01-26  Jim Meyering  <meyering@lucent.com>
86560
86561         * lib/quotearg.c: Include stddef.h.
86562         * lib/quote.c: Include stddef.h.
86563         Reported by Axel Kittenberger.
86564
86565         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
86566         line in double quotes so that it evokes a better diagnostic.
86567         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
86568         Reported by Axel Kittenberger.
86569
86570 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
86571
86572         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
86573         as if it was a `charset'.
86574
86575 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
86576
86577         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
86578         has const.
86579
86580 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
86581
86582         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
86583         to avoid a warning.  Add back 'const' to inptr.
86584
86585 2001-01-20  Jim Meyering  <meyering@lucent.com>
86586
86587         Be sure that headers are checked before used in code compiled
86588         for the type checks.
86589         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
86590         In place of that, invoke jm_CHECK_ALL_TYPES.
86591         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
86592         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
86593         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
86594         The check for ssize_t was mistakenly run before the test for unistd.h.
86595
86596         The configure-time check for stdbool.h was missing.
86597         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
86598         (jm_PREREQ_HASH): New function.
86599
86600 2001-01-17  Jim Meyering  <meyering@lucent.com>
86601
86602         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
86603         for autoconf-2.49c.
86604         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
86605
86606 2001-01-16  Jim Meyering  <meyering@lucent.com>
86607
86608         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
86609         From Bruno Haible.
86610
86611 2001-01-14  Jim Meyering  <meyering@lucent.com>
86612
86613         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
86614         foo and bar.  Create conftestdir/ in the script, not in the C code.
86615         Remove directories in the script, not in the C code.
86616         Remove conftestdir{,2} before trying to create the directory.
86617         Make the entire configure script fail if the mkdir fails.
86618
86619 2001-01-14  Jim Meyering  <meyering@lucent.com>
86620
86621         * lib/rename.c: New file.  From Volker Borchert.
86622         Include stdlib.h, string.h or strings.h, and xalloc.h.
86623         Use strip_trailing_slashes rather than open-coding it.
86624
86625 2001-01-03  Paul Eggert  <eggert@twinsun.com>
86626
86627         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
86628
86629 2001-01-03  Jim Meyering  <meyering@lucent.com>
86630
86631         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
86632         of local `inptr' to avoid warning with some system declarations of
86633         iconv.
86634
86635 2001-01-02  Volker Borchert  <bt@teknon.de>
86636
86637         * m4/rename.m4: New file.
86638         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
86639
86640 2001-01-01  Jim Meyering  <meyering@lucent.com>
86641
86642         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
86643         even on systems with utmpx.h.  It's necessary for the declaration of
86644         utmp's ut_user member.  Reported by Andreas Jaeger.
86645
86646         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
86647         available. They are required for the declarations of getgrgid and
86648         getpwuid resp.
86649         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
86650         Reported by Andreas Jaeger.
86651
86652 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
86653
86654         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
86655         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
86656         so `make install' also works in VPATH builds.
86657
86658 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
86659
86660         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
86661         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
86662         can be used in subdirectories.
86663
86664 2000-12-29  Paul Eggert  <eggert@twinsun.com>
86665
86666         * lib/modechange.c: Do not assume that mode_t uses the
86667         traditional octal encoding.  E.g. "chmod 1 FOO" should set
86668         the other-execute bit of FOO even if S_IXOTH != 1.
86669
86670         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
86671         WOTH, XOTH, ALLM): New macros.
86672         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
86673          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
86674         Use them.
86675         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
86676         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
86677         (mode_compile):
86678         No need to use uintmax_t; unsigned long is long enough.
86679         Don't bother to get suffix since we don't use it.
86680
86681 2000-12-26  Jim Meyering  <meyering@lucent.com>
86682
86683         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
86684         better with autoheader.
86685
86686 2000-12-24  Jim Meyering  <meyering@lucent.com>
86687
86688         * lib/hash.c (is_prime): Return explicit boolean values.
86689         (hash_get_first): Return NULL to appease Irix5.6's 89.
86690         Reported by Nelson Beebe.
86691
86692 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
86693
86694         * lib/localcharset.c (locale_charset): Add support for Win32.
86695
86696 2000-12-18  Paul Eggert  <eggert@twinsun.com>
86697
86698         * lib/physmem.h, lib/physmem.c: New files.
86699
86700         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
86701         (noinst_HEADERS): Add physmem.h.
86702
86703         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
86704         't' for compatibility with Solaris 8 sort.
86705
86706 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
86707
86708         * lib/config.charset: Add support for BeOS.
86709
86710 2000-12-17  Jim Meyering  <meyering@lucent.com>
86711
86712         * m4/dos.m4 (jm_AC_DOS): New file and macro.
86713         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
86714
86715 2000-12-16  Jim Meyering  <meyering@lucent.com>
86716
86717         This bug had a serious impact on chown: `chown N:M FILE' (for integer
86718         N and M) would have treated it like `chown N:N FILE'.
86719
86720         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
86721
86722 2000-12-16  Jim Meyering  <meyering@lucent.com>
86723
86724         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
86725         SHELLS_FILE to a file name that's useful on djgpp systems.
86726         Include stdlib.h.
86727         (ADDITIONAL_DEFAULT_SHELLS): Define.
86728         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
86729         Based mostly on a patch from Prashant TR.
86730
86731 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
86732
86733         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
86734         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
86735         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
86736
86737 2000-12-08  Andreas Schwab  <schwab@suse.de>
86738
86739         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
86740         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
86741
86742 2000-12-07  Jim Meyering  <meyering@lucent.com>
86743
86744         * lib/stripslash.c (ISSLASH): Define.
86745         (strip_trailing_slashes): Use ISSLASH rather than comparing against
86746         `/'.
86747         From Prashant TR.
86748
86749         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
86750         (dir_name_r): Declare this function as static.
86751         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
86752         manifest itself on a name containing a mix of slashes and
86753         backslashes.
86754         Make this function work with names starting with a DOS-style
86755         drive letter and colon prefix.
86756         (dir_name): Append `.' if necessary.
86757         Based mostly on patches from Prashant TR and Eli Zaretskii.
86758
86759         * lib/dirname.h (dir_name_r): Remove prototype.
86760
86761 2000-12-06  Paul Eggert  <eggert@twinsun.com>
86762
86763         * m4/off_t-format.m4: Remove this file.
86764         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
86765
86766 2000-12-06  Jim Meyering  <meyering@lucent.com>
86767
86768         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
86769         replacement strtoull, we may well need the replacement strtoul, too.
86770         Check for declarations of strtoul and strtoull.
86771         Check for strtol.  Mainly as a cue to cause automake to include
86772         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
86773         Check for limits.h -- strtol.c needs it.
86774
86775 2000-12-05  Jim Meyering  <meyering@lucent.com>
86776
86777         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
86778
86779 2000-12-04  Jim Meyering  <meyering@lucent.com>
86780
86781         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
86782         Also include memory.h, stdlib.h, unistd.h if appropriate.
86783         Reported by Andreas Jaeger (conflicting declaration of malloc).
86784
86785 2000-12-02  Jim Meyering  <meyering@lucent.com>
86786
86787         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
86788         * m4/jm-macros.m4 (jm_MACROS): require it.
86789
86790 2000-12-02  Jim Meyering  <meyering@lucent.com>
86791
86792         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
86793
86794 2000-12-01  Paul Eggert  <eggert@twinsun.com>
86795
86796         * lib/memrchr.c: Include <config.h> before any system include file.
86797
86798 2000-11-30  Jim Meyering  <meyering@lucent.com>
86799
86800         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
86801
86802 2000-11-30  Jim Meyering  <meyering@lucent.com>
86803
86804         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
86805
86806 2000-11-29  Paul Eggert  <eggert@twinsun.com>
86807
86808         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
86809
86810 2000-11-26  Jim Meyering  <meyering@lucent.com>
86811
86812         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
86813
86814 2000-11-22  Paul Eggert  <eggert@twinsun.com>
86815
86816         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
86817         size of (size_t) -1; it's not portable.
86818
86819 2000-11-17  Jim Meyering  <meyering@lucent.com>
86820
86821         * lib/strstr.c: Update from GNU libc.
86822
86823 2000-11-17  Akim Demaille  <akim@epita.fr>
86824
86825         * lib/obstack.h: Formatting changes.
86826         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
86827         prevent type checking.
86828         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
86829         cast the value to (void *): assigning a `foo *' to a `void *'
86830         variable is valid.
86831         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
86832
86833 2000-11-16  Jim Meyering  <meyering@lucent.com>
86834
86835         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
86836
86837 2000-11-11  Jim Meyering  <meyering@lucent.com>
86838
86839         * lib/error.c: Add a couple #includes, merging from GNU libc version.
86840
86841 2000-11-10  Jim Meyering  <meyering@lucent.com>
86842
86843         * lib/obstack.h: Update from GNU libc.
86844         * lib/obstack.c: Likewise.
86845
86846 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
86847
86848         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
86849
86850 2000-11-06  Paul Eggert  <eggert@twinsun.com>
86851
86852         * lib/getusershell.c (setusershell): Use rewind rather than
86853         fseek/fseeko, to avoid configuration hassles with fseeko.
86854         Don't bother opening SHELLS_FILE if shellstream is NULL;
86855         it's not necessary.
86856
86857 2000-11-05  Jim Meyering  <meyering@lucent.com>
86858
86859         * lib/makepath.h (make_dir): Declare.
86860         * lib/makepath.c (make_dir): Remove `static' attribute.
86861         Tweak a comment.
86862
86863 2000-11-04  Jim Meyering  <meyering@lucent.com>
86864
86865         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
86866
86867 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
86868
86869         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
86870         last one in a bucket, advance to the next bucket.
86871
86872 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
86873
86874         * lib/fnmatch.c: Do not comment out all the code if we are using
86875         the GNU C library, because in some cases we are replacing buggy
86876         code in the GNU C library itself.
86877
86878 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
86879
86880         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
86881         (regex_compile): Catch bogus \(\1\).
86882
86883 2000-10-30  Paul Eggert  <eggert@twinsun.com>
86884
86885         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
86886         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
86887         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
86888
86889 2000-10-30  Paul Eggert  <eggert@twinsun.com>
86890
86891         * lib/error.h, getline.h, modechange.h:
86892         Remove "2000" from Copyright line, as the file hasn't been
86893         changed this year other than in the copyright notice.
86894
86895         * lib/xalloc.h: Add "2000" to Copyright line, as this file
86896         was changed this year.
86897
86898 2000-10-29  Jim Meyering  <meyering@lucent.com>
86899
86900         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
86901         renaming.
86902         * m4/ls-mntd-fs.m4: Likewise
86903
86904 2000-10-29  Jim Meyering  <meyering@lucent.com>
86905
86906         * lib/xstat.in: Fix grammar in comment.
86907
86908 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
86909
86910         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
86911         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
86912         doesn't define __restrict_arr.
86913
86914 2000-10-28  Jim Meyering  <meyering@lucent.com>
86915
86916         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
86917         (jm_PREREQ_MEMCHR): New function.
86918
86919 2000-10-28  Jim Meyering  <meyering@lucent.com>
86920
86921         * lib/memchr.c: Update from libc.
86922         Adjust for portability:
86923         [HAVE_STDLIB_H]: Include stdlib.h.
86924         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
86925         Undef __memchr, too.
86926         [!weak_alias]: Define __memchr to memchr.
86927
86928         * lib/regex.c: Update from libc.
86929         * lib/regex.h: Likewise.
86930         * lib/getopt1.c: Likewise.
86931         * lib/memcmp.c: Likewise.
86932
86933         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
86934         Avoid using fseek, when possible -- it's broken by design.
86935         Patch by Ulrich Drepper.
86936
86937 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
86938
86939         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
86940         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
86941         Giving in to popular pressure to shut up the compiler with casts.
86942
86943 2000-10-26  Jim Meyering  <meyering@lucent.com>
86944
86945         * lib/strftime.c: Update from libc.
86946
86947 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
86948
86949         * regex.c: More `unsigned char' -> `re_char' changes.
86950         Also change several `int' into `re_wchar_t'.
86951         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
86952         (PUSH_FAILURE_POINTER): Don't cast any more.
86953         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
86954         We want GCC to complain, since this piece of code makes
86955         re_match non-reentrant, which *should* be fixed.
86956         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
86957         (EXTEND_BUFFER): Use RETALLOC.
86958         (SET_LIST_BIT): Don't cast.
86959         (re_wchar_t): New type.
86960         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
86961         that those two functions will always properly return.
86962         (IMMEDIATE_QUIT_CHECK): Cast to void.
86963         (analyse_first): Use recursion rather than an explicit stack.
86964         (re_compile_fastmap): Can't fail anymore.
86965         (re_search_2): Don't check re_compile_fastmap for failure.
86966         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
86967         Now also sets the new value (passed in a new argument).
86968         (re_match_2_internal): Use it.
86969         Also, use a new var `reg' of type size_t when looping through regs
86970         rather than reuse the inappropriate `mcnt'.
86971
86972 2000-10-25  Jim Meyering  <meyering@lucent.com>
86973
86974         * lib/obstack.c: Update from libc.
86975
86976 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
86977
86978         * regex.c (regex_compile): Change the way of handling a range from
86979         a char less than 256 to a char not less than 256.
86980
86981 2000-10-24  Andrew Innes  <andrewi@gnu.org>
86982
86983         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
86984         NT-Emacs only.
86985         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
86986         so that re_search functions only quit when callers expect them to.
86987
86988 2000-10-23  Jim Meyering  <meyering@lucent.com>
86989
86990         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
86991         wrong.  That set_locale call must not have any side effects.
86992         From Paul Eggert.
86993
86994 2000-10-22  Jim Meyering  <meyering@lucent.com>
86995
86996         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
86997         [CYCLIC]: Remove now-unused definition.
86998
86999         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
87000         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
87001         Suggestion from Ulrich Drepper.
87002
87003 2000-10-21  Jim Meyering  <meyering@lucent.com>
87004
87005         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
87006         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
87007         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
87008
87009 2000-10-21  Jim Meyering  <meyering@lucent.com>
87010
87011         * lib/dirname.c (memrchr): Declare if necessary.
87012         (dir_name): Remove the restriction that there be no
87013         trailing slashes.  Now, this code skips past them, effectively
87014         ignoring them.
87015         [TEST_DIRNAME] (main): New unit tests.
87016
87017         * lib/memrchr.c: New file from GNU libc.
87018         Undef __memrchr, too.
87019         [!weak_alias]: Define __memrchr to memrchr.
87020         Guard weak_alias use with `#ifdef weak_alias'.
87021
87022 2000-10-21  Jim Meyering  <meyering@lucent.com>
87023
87024         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
87025         (dir_name): Use dir_name_r.
87026         * lib/dirname.h (dir_name_r): Declare it.
87027
87028 2000-10-17  Jim Meyering  <meyering@lucent.com>
87029
87030         * lib/quote.h (PARAMS): Define and use.
87031         Reported by Akim Demaille.
87032
87033         * lib/getopt.c: Update from libc.
87034
87035 2000-10-16  Jim Meyering  <meyering@lucent.com>
87036
87037         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
87038         setlocale.
87039         From Jan Fedak.
87040
87041 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
87042
87043         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
87044
87045 2000-09-25  Jim Meyering  <meyering@lucent.com>
87046
87047         * lib/md5.h (rol): Define (from GnuPG).
87048
87049         * lib/sha.c: Give credit (GnuPG) where due.
87050         (M): Use rol rather than open-coding it.
87051         Add a FIXME comment.
87052
87053 2000-09-21  Jim Meyering  <meyering@lucent.com>
87054
87055         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
87056         Reported by Michael Stone.
87057
87058 2000-09-20  Jim Meyering  <meyering@lucent.com>
87059
87060         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
87061         (noinst_HEADERS): Add sha.h.
87062         Based on code from Scott G. Miller and from GnuPG.
87063
87064 2000-09-18  Jim Meyering  <meyering@lucent.com>
87065
87066         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
87067         LIBS. Otherwise, everyone ends up linking with -lelf for some
87068         configurations.
87069         Reported by Mike Stone.
87070
87071 2000-09-15  Jim Meyering  <meyering@lucent.com>
87072
87073         * lib/regex.c: Update from libc.
87074
87075 2000-09-10  Jim Meyering  <meyering@lucent.com>
87076
87077         * lib/getopt.c (_getopt_internal): Update from glibc.
87078
87079 2000-09-09  Jim Meyering  <meyering@lucent.com>
87080
87081         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
87082         think it should be used as a general replacement for isascii.
87083         * lib/fnmatch.c: Likewise.
87084         * lib/mbswidth.c: Likewise
87085         * lib/regex.c: Likewise.
87086
87087         Don't use atoi.
87088         * lib/userspec.c: Include sys/param.h and limits.h.
87089         Include xstrtol.h.
87090         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87091         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
87092         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
87093         UID, GID.  Check range.
87094
87095 2000-09-06  Jim Meyering  <meyering@lucent.com>
87096
87097         * lib/getopt.c (_getopt_internal): Update from glibc.
87098
87099 2000-08-30  Jim Meyering  <meyering@lucent.com>
87100
87101         * lib/strftime.c: Merge in changes from GNU libc.
87102
87103 2000-08-26  Jim Meyering  <meyering@lucent.com>
87104
87105         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
87106         * m4/fpending.m4: New file.
87107
87108 2000-08-26  Jim Meyering  <meyering@lucent.com>
87109
87110         * lib/closeout.c: Include "__fpending.h".
87111         (close_stdout_status): Return right away if there's nothing to flush.
87112
87113         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
87114         * lib/__fpending.c: New file.
87115         * lib/__fpending.h: New file.
87116
87117 2000-08-20  Jim Meyering  <meyering@lucent.com>
87118
87119         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
87120         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
87121         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
87122
87123 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
87124
87125         Improve fileutils installation on systems where running
87126         programs (like install) can't be unlinked.
87127         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
87128         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
87129
87130 2000-08-07  Paul Eggert  <eggert@twinsun.com>
87131
87132         Standardize on "memory exhausted" instead of "Memory exhausted"
87133         or "virtual memory exhausted".
87134         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
87135         "virtual memory exhausted".
87136         * lib/same.c (same_name): Invoke xalloc_die instead of printing
87137         our own message.
87138         * lib/userspec.c (parse_user_spec): Likewise.
87139         * lib/bumpalloc.h: comment fix
87140         * lib/same.c, userspec.c: Include xalloc.h.
87141
87142         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
87143         not char *const and pointing to a constant array.
87144         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
87145         (xrealloc): Comment fix.
87146
87147         * lib/userspec.c (parse_user_spec):
87148         Don't translate a message until just before returning,
87149         to avoid unnecessary translation.
87150
87151 2000-08-07  Jim Meyering  <meyering@lucent.com>
87152
87153         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
87154         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
87155         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
87156         getgroups.c, gethostname.c, getopt.h, group-member.c,
87157         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
87158         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
87159         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
87160         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
87161         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
87162         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
87163         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
87164         yesno.c: Back out Copyright date changes for each file with no change
87165         this year.  This eases coordination with other programs using the same
87166         source code modules.  From Paul Eggert.
87167
87168 2000-08-06  Paul Eggert  <eggert@twinsun.com>
87169
87170         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
87171         not char, for compatibility with glibc 2.1.3 strftime.c.
87172
87173 2000-08-03  Greg McGary  <greg@mcgary.org>
87174
87175         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
87176         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
87177         (EXTEND_BUFFER): Use them.
87178
87179 2000-08-01  Jim Meyering  <meyering@lucent.com>
87180
87181         * lib/dirname.c (ISSLASH): Define.
87182         (BACKSLASH_IS_PATH_SEPARATOR): Define.
87183         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
87184         both `\' and `/' may be use as path separators.
87185         Based on a patch from Prashant TR.
87186
87187 2000-07-31  Paul Eggert  <eggert@twinsun.com>
87188
87189         * lib/quotearg.c (quotearg_n_options): Don't make the initial
87190         slot vector a constant, since it might get modified.
87191
87192 2000-07-31  Jim Meyering  <meyering@lucent.com>
87193
87194         * lib/xmalloc.c: Use `virtual memory exhausted', not
87195         `Memory exhausted'.
87196         * lib/obstack.c (print_and_abort): Likewise.
87197
87198 2000-07-30  Paul Eggert  <eggert@twinsun.com>
87199
87200         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
87201         buffer, so that the caller can always quote one small
87202         component of a "memory exhausted" message in slot 0.
87203         From a suggestion by Jim Meyering.
87204
87205 2000-07-30  Jim Meyering  <meyering@lucent.com>
87206
87207         * lib/makepath.c (make_path): Quote the other instance, too.
87208
87209         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
87210         (STATIC_BUF_SIZE): Define.
87211         (quotearg_n_options): Use only statically allocated storage when
87212         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
87213         than STATIC_BUF_SIZE.
87214
87215 2000-07-29  Jim Meyering  <meyering@lucent.com>
87216
87217         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
87218         * lib/dirname.c (dir_name): Likewise.
87219
87220         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
87221         `/'.
87222
87223         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
87224         (dir_name): Assert that there are no trailing slashes.
87225
87226 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
87227
87228         * lib/mbswidth.h (mbswidth): Add a flags argument.
87229         (mbswidth): New declaration.
87230         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
87231         * lib/mbswidth.c (mbswidth): Add a flags argument.
87232         (mbsnwidth): New function.
87233
87234 2000-07-24  Jim Meyering  <meyering@lucent.com>
87235
87236         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
87237
87238 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87239
87240         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
87241
87242 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87243
87244         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
87245         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
87246         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
87247         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
87248         invoke multibyte primitives.
87249
87250 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87251
87252         * lib/quotearg.c:
87253         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
87254         so that mbstate_t is always defined.
87255
87256         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
87257         be 1 in at least one GCC installation, and this configuration
87258         error is likely to be common.  Ignoring MB_LEN_MAX hurts
87259         performance on hosts that have mbrtowc but have only unibyte
87260         locales, but I assume these hosts are rare.
87261
87262 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87263
87264         * lib/mbswidth.c (_XOPEN_SOURCE):
87265         Don't define; this causes problems on Solaris 7.
87266         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
87267
87268 2000-07-23  Jim Meyering  <meyering@lucent.com>
87269
87270         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
87271         too: getgrgid, getpwuid, getuid.
87272
87273 2000-07-23  Jim Meyering  <meyering@lucent.com>
87274
87275         * lib/basename.c (base_name): Add an assertion.
87276
87277 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
87278
87279         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
87280         shadow its mbsinit function.
87281
87282 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87283
87284         * lib/mbswidth.h: New file.
87285         * lib/mbswidth.c: New file.
87286         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
87287         (noinst_HEADERS): Add mbswidth.h.
87288
87289 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87290
87291         * lib/config.charset: Add support for FreeBSD. Improve support for
87292         HP-UX and IRIX 6.
87293
87294 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
87295
87296         * m4/mbswidth.m4: New file.
87297         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
87298
87299 2000-07-15  Jim Meyering  <meyering@lucent.com>
87300
87301         * lib/makepath.c: Include quote.h.
87302         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
87303         corresponding argument in a `quote (...)' call.
87304         Give better diagnostics.
87305
87306         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
87307         (noinst_HEADERS): Add quote.h.
87308
87309         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
87310         from tar's src/misc.c.
87311         * lib/quote.h: New file.  Prototypes for same.
87312
87313 2000-07-14  Paul Eggert  <eggert@twinsun.com>
87314
87315         From a suggestion by Bruno Haible.
87316         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
87317         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
87318         to decide whether to define the BeOS workaround macro;
87319         this adjusts to the change to AC_MBSTATE_T.
87320
87321 2000-07-14  Jim Meyering  <meyering@lucent.com>
87322
87323         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
87324         jm_AC_TYPE_UINTMAX_T.
87325
87326 2000-07-13  Paul Eggert  <eggert@twinsun.com>
87327
87328         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
87329
87330         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
87331         quotearg_buffer_restyled): Add support for
87332         clocale_quoting_style.  Undo previous change to
87333         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
87334         and "{RIGHT QUOTATION MARK}" msgids.
87335
87336 2000-07-10  Paul Eggert  <eggert@twinsun.com>
87337
87338         From a suggestion by Bruno Haible.
87339         * m4/mbstate_t.m4 (AC_MBSTATE_T):
87340         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
87341         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
87342         and mbstate_t, to a single-part test that simply defines mbstate_t.
87343         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
87344         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
87345
87346 2000-07-10  Jim Meyering  <meyering@lucent.com>
87347
87348         * m4/strerror_r.m4: Mirror the correction made in autoconf.
87349
87350         * m4/gnu-source.m4: Output to confdefs.h directly.
87351         Suggestion from Akim Demaille.
87352
87353 2000-07-09  Paul Eggert  <eggert@twinsun.com>
87354
87355         The old behavior of quoting `like this' doesn't look good with
87356         newer, ISO-style fonts.  See:
87357         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
87358
87359         Instead, quote "like this" by default.  Let the translator
87360         tailor the locale-specific quoting behavior by providing
87361         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
87362
87363         * lib/quotearg.c (N_): New macro.
87364         (gettext_default): New function.
87365         (quotearg_buffer_restyled): Use
87366         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
87367         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
87368
87369 2000-07-09  Jim Meyering  <meyering@lucent.com>
87370
87371         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
87372         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
87373
87374         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
87375         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
87376
87377 2000-07-09  Jim Meyering  <meyering@lucent.com>
87378
87379         * lib/Most files: Update copyright dates to include 2000.
87380
87381 2000-07-08  Jim Meyering  <meyering@lucent.com>
87382
87383         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
87384         if not defined.
87385         (xgethostname): Remove now-unnecessary #ifdef.
87386         Move declaration of `err' into loop where it's used.
87387
87388 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87389         and Bruno Haible  <haible@clisp.cons.org>
87390
87391         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
87392         only if the test for an object-type mbstate_t fails.  This
87393         prevents us from mistakenly reporting that mbstate_t is a
87394         system object type after we "#define mbstate_t int" to work
87395         around its lack.
87396
87397 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87398         and Bruno Haible  <haible@clisp.cons.org>
87399
87400         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
87401
87402 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87403
87404         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
87405         to strerror_r.
87406         Include <ctype.h> for use of isalpha.
87407
87408 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87409
87410         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
87411         by allocating a larger buffer. Test the gethostname return value for
87412         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
87413         returns an error and ENAMETOOLONG isn't defined.
87414
87415 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87416
87417         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
87418         dimension.
87419
87420 2000-07-04  Jim Meyering  <meyering@lucent.com>
87421
87422         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
87423         of the deprecated AC_CHECKING.
87424
87425 2000-07-04  Jim Meyering  <meyering@lucent.com>
87426
87427         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
87428         Reported by Bruno Haible.
87429
87430 2000-07-04  Jim Meyering  <meyering@lucent.com>
87431
87432         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
87433         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
87434         lacks mbrtowc.
87435
87436 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87437
87438         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
87439         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
87440
87441 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87442         and Bruno Haible  <haible@clisp.cons.org>
87443
87444         * lib/quotearg.c (mbrtowc):
87445         Assign to *pwc, and return 1 only if result is nonzero.
87446         (iswprint): Use ISPRINT when substituting our own mbrtowc.
87447
87448 2000-07-03  Jim Meyering  <meyering@lucent.com>
87449
87450         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
87451
87452 2000-07-03  Jim Meyering  <meyering@lucent.com>
87453
87454         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
87455         This is necessary to get a definition of e.g., UTMP_FILE on
87456         HP-UX 10.20.
87457         From Bob Proulx.
87458
87459 2000-07-02  Jim Meyering  <meyering@lucent.com>
87460
87461         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
87462
87463         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
87464         AC_LIBOBJ(function_name).
87465         * m4/chown.m4: Likewise.
87466         * m4/fnmatch.m4: Likewise.
87467         * m4/ftruncate.m4: Likewise.
87468         * m4/getgroups.m4: Likewise.
87469         * m4/getline.m4: Likewise.
87470         * m4/group-member.m4: Likewise.
87471         * m4/jm-macros.m4: Likewise.
87472         * m4/lstat.m4: Likewise.
87473         * m4/malloc.m4: Likewise.
87474         * m4/memcmp.m4: Likewise.
87475         * m4/nanosleep.m4: Likewise.
87476         * m4/putenv.m4: Likewise.
87477         * m4/realloc.m4: Likewise.
87478         * m4/regex.m4: Likewise.
87479         * m4/stat.m4: Likewise.
87480         * m4/strftime.m4: Likewise.
87481
87482 2000-07-02  Jim Meyering  <meyering@lucent.com>
87483
87484         * lib/quotearg.c (mbstate_t): Don't define here.
87485
87486 2000-07-02  Jim Meyering  <meyering@lucent.com>
87487
87488         * lib/nanosleep.c (SIGCONT): Define if not already defined.
87489
87490 2000-07-01  Jim Meyering  <meyering@lucent.com>
87491
87492         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
87493
87494 2000-07-01  Jim Meyering  <meyering@lucent.com>
87495
87496         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
87497         problem.
87498
87499 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87500
87501         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
87502         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
87503
87504 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87505
87506         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
87507         per change in ../m4/ls-mntd-fs.m4.
87508         (read_filesystem_list): Ignore symbolic links.
87509
87510 2000-06-29  Jim Meyering  <meyering@lucent.com>
87511
87512         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
87513         for declaration of strcmp.
87514
87515         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
87516
87517         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
87518         Avoid warning by casting result to `char *' to remove `const'.
87519
87520 2000-06-28  Jim Meyering  <meyering@lucent.com>
87521
87522         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
87523         included by quotearg.c, for which we perform this test.  From
87524         Bruno Haible.
87525
87526 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87527
87528         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
87529         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
87530         <utmpx.h> exists, put readutmp.o into LIBOBJS.
87531
87532 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87533
87534         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
87535
87536 2000-06-26  Paul Eggert  <eggert@twinsun.com>
87537
87538         savedir now sets errno on failure and invokes xmalloc to get memory.
87539         Fix a couple of other minor bugs while we're at it.
87540
87541         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
87542         (NAMLEN): Remove macro.
87543         (malloc, realloc): Remove decls.
87544         (stpcpy): Likewise.
87545         ("xalloc.h"): Include.
87546         (NAME_SIZE_DEFAULT): New macro.
87547         (savedir): Use xmalloc / xrealloc to allocate memory.
87548         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
87549         Skip "" directory entries.
87550         Use strlen to calculate directory entry length, since the old method
87551         is rarely used these days and isn't worth supporting.
87552         Don't use a pointer after freeing it.
87553         Check for integer overflow when calculating allocation size.
87554         Use memcpy to copy entries, instead of stpcpy.
87555         Set errno properly when returning NULL.
87556         Check for readdir error.
87557
87558 2000-06-26  Jim Meyering  <meyering@lucent.com>
87559
87560         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
87561
87562 2000-06-25  Jim Meyering  <meyering@lucent.com>
87563
87564         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
87565         Linux header bug when _XOPEN_SOURCE is defined to 500.
87566
87567 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
87568
87569         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
87570         deficiency.
87571
87572 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
87573
87574         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
87575         Include xalloc.h.
87576         Don't include <stdlib.h>.  Don't declare malloc, realloc.
87577
87578 2000-06-24  Jim Meyering  <meyering@lucent.com>
87579
87580         * m4/strerror_r.m4: Revive this file -- to try out an experimental
87581         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
87582         for which strerror does return char*, but which lacks a conveniently
87583         accessible declaration of the function.  If the compile-test says
87584         strerror_r doesn't work, then resort to a `run'-test that works on
87585         BeOS and segfaults on DEC Unix.
87586
87587 2000-06-24  Jim Meyering  <meyering@lucent.com>
87588
87589         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
87590
87591 2000-06-23  Paul Eggert  <eggert@twinsun.com>
87592
87593         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
87594         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
87595
87596 2000-06-23  Paul Eggert  <eggert@twinsun.com>
87597
87598         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
87599         (mbrtowc, mbstate_t): Define substitutes if
87600         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
87601         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
87602         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
87603
87604 2000-06-23  Jim Meyering  <meyering@lucent.com>
87605
87606         * m4/afs.m4: Add missing AC_MSG_RESULT.
87607         Reported by Bruno Haible.
87608
87609         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
87610         Suggestion from Bruno Haible.
87611
87612 2000-06-23  Jim Meyering  <meyering@lucent.com>
87613
87614         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
87615
87616 2000-06-21  Jim Meyering  <meyering@lucent.com>
87617
87618         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
87619
87620 2000-06-21  Jim Meyering  <meyering@lucent.com>
87621
87622         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
87623         (noinst_HEADERS): Add getstr.h.
87624
87625         * lib/getline.c (getstr): Move into a separate file.
87626         * lib/getstr.c (getstr): New file, extracted from getline.c, with
87627         the following changes: new parameter, delim2; both delim[12]
87628         parameters have type `int', not `char'.  The latter would lose
87629         with 8-bit delimiters.
87630         * lib/getstr.h: New file.
87631
87632 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87633
87634         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
87635         than 1024, return a memory chunk of least possible size, instead
87636         of size PATH_MAX + 2. In the loop, increment the size proportionally.
87637         Use free/xmalloc instead of xrealloc to avoid copying for very long
87638         paths.
87639
87640 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87641
87642         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
87643         the empty string.
87644
87645 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87646
87647         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
87648         address, not strdup.  Include <stdlib.h> and don't declare free().
87649
87650 2000-06-19  Jim Meyering  <meyering@lucent.com>
87651
87652         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
87653
87654 2000-06-18  Jim Meyering  <meyering@lucent.com>
87655
87656         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
87657
87658         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
87659         `checking whether...' message to be consistent with that of the
87660         lstat test.
87661
87662 2000-06-18  Jim Meyering  <meyering@lucent.com>
87663
87664         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
87665         Besides, these days every porting target provides a mkdir function.
87666
87667         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
87668         needed. (this snippet comes from src/system.h).
87669
87670 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
87671
87672         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
87673
87674 2000-06-15  Paul Eggert  <eggert@twinsun.com>
87675
87676         * lib/human.c (adjust_value): New function.
87677         (human_readable_inexact): Apply rounding style even when
87678         printing approximate values.
87679
87680 2000-06-14  Paul Eggert  <eggert@twinsun.com>
87681
87682         * lib/human.c (human_readable_inexact): Allow an input block
87683         size that is not a multiple of the output block size, and vice versa.
87684         Reported by Piergiorgio Sartor.
87685
87686 2000-06-14  Paul Eggert  <eggert@twinsun.com>
87687
87688         * lib/getdate.y (get_date): Apply relative times after time
87689         zone indicator, not before.  Reported by Todd A. Jacobs.
87690
87691 2000-06-13  Jim Meyering  <meyering@lucent.com>
87692
87693         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
87694
87695         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
87696
87697 2000-06-12  Paul Eggert  <eggert@twinsun.com>
87698
87699         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
87700
87701 2000-06-12  Jim Meyering  <meyering@lucent.com>
87702
87703         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
87704         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
87705         optional argument.
87706         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
87707         the optional argument, `lib'.
87708
87709 2000-06-08  Jim Meyering  <meyering@lucent.com>
87710
87711         * m4/largefile.m4: Remove file (now that it's part of autoconf).
87712
87713 2000-06-04  Paul Eggert  <eggert@twinsun.com>
87714
87715         Rewrite largefile configuration so that we don't need to run
87716         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
87717         AC_CANONICAL_HOST in configure.in -- jmm]
87718
87719         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
87720         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
87721         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
87722         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
87723         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
87724         All uses changed.
87725         Instead of inspecting the output of getconf, try to compile the
87726         test program without and with the macro definition.
87727         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
87728         for getconf.  Instead, check for the needed flags by compiling
87729         test programs.
87730
87731 2000-06-04  Paul Eggert  <eggert@twinsun.com>
87732
87733         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
87734
87735 2000-06-04  Jim Meyering  <meyering@lucent.com>
87736
87737         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
87738         SunOS 4.1.4 for which gid_t is an unsigned type.
87739
87740 2000-06-03  Jim Meyering  <meyering@lucent.com>
87741
87742         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
87743         now that autoconf requires that.
87744
87745         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
87746         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
87747         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
87748
87749 2000-06-03  Jim Meyering  <meyering@lucent.com>
87750
87751         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
87752
87753 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
87754
87755         * m4/glibc21.m4: New file.
87756         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
87757
87758 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
87759
87760         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
87761         newer, don't install charset.alias.
87762         * lib/config.charset: Change the Linux/glibc rules so they become empty
87763         on glibc-2.1 or newer.
87764
87765 2000-06-02  Jim Meyering  <meyering@lucent.com>
87766
87767         * lib/mountlist.c: Back out last change.  Instead, do this...
87768         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
87769         me_dummy member using the same `ignore'-testing code.
87770         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
87771         fs_type strings.
87772         From Mark D. Roth.
87773
87774 2000-05-29  Jim Meyering  <meyering@lucent.com>
87775
87776         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
87777         mounts with the `ignore' attribute.  Based on a patch from
87778         Mark D. Roth.
87779
87780 2000-05-28  Jim Meyering  <meyering@lucent.com>
87781
87782         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
87783         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
87784         * m4/stat.m4: Likewise.
87785         * m4/lstat.m4: Likewise.
87786         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
87787
87788         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
87789         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
87790
87791 2000-05-26  Jim Meyering  <meyering@lucent.com>
87792
87793         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
87794
87795 2000-05-24  Jim Meyering  <meyering@lucent.com>
87796
87797         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
87798         autoconf requires that.
87799         * m4/lib-check.m4: Likewise.
87800         * m4/jm-macros.m4: Likewise.
87801         * m4/strftime.m4: Likewise.
87802
87803         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
87804         AC_CHECK_DECLS, now that autoconf requires that.
87805
87806 2000-05-22  Jim Meyering  <meyering@lucent.com>
87807
87808         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
87809         * m4/lstat.m4: Likewise.
87810
87811 2000-05-22  Jim Meyering  <meyering@lucent.com>
87812
87813         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
87814
87815 2000-05-20  Jim Meyering  <meyering@lucent.com>
87816
87817         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
87818         (jm_PREREQ): Use it.
87819
87820 2000-05-18  Jim Meyering  <meyering@lucent.com>
87821
87822         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
87823         back, too, since it may have been modified by allocate_entry.
87824         (hash_delete): Rewrite to use neither the assignment operator
87825         nor the comma operator in an if-expression.
87826
87827 2000-05-15  Paul Eggert  <eggert@twinsun.com>
87828
87829         * lib/closeout.c:
87830         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
87831         Remove; no longer needed.
87832         "quotearg.h": Add include.
87833         (file_name): Do not bother to explicitly initialize to NULL; it's less
87834         efficient on some hosts.
87835         (close_stdout_status): Remove test as to whether stdout was already
87836         closed; it breaks for the case "echo x | sort >&-".
87837         Quote file name colons.
87838         Do not assume that _("write error") lacks format strings.
87839
87840 2000-05-15  Jim Meyering  <meyering@lucent.com>
87841
87842         * lib/version-etc.c (version_etc_copyright): Update the copyright
87843         string used in all --version output.
87844
87845 2000-05-14  Jim Meyering  <meyering@lucent.com>
87846
87847         * lib/closeout.c (close_stdout_set_file_name): New function.
87848         (close_stdout_status): Use new file-scoped global.
87849         Return right away if fstat says the stdout file descriptor is invalid.
87850         * lib/closeout.h (close_stdout_set_file_name): Declare.
87851
87852 2000-05-10  Jim Meyering  <meyering@lucent.com>
87853
87854         * lib/closeout.c [default_exit_status]: New file-scoped variable.
87855         (close_stdout_set_status): New function.
87856         * lib/closeout.h (close_stdout_set_status): Declare.
87857
87858 2000-05-09  Jim Meyering  <meyering@lucent.com>
87859
87860         * m4/gettext.m4: Rename this...
87861         * m4/libintl.m4: ...to this.
87862
87863 2000-05-08  Jim Meyering  <meyering@lucent.com>
87864
87865         * lib/long-options.c: Don't include closeout.h.
87866         (parse_long_options): Don't call close_stdout for --version.
87867
87868 2000-05-06  Paul Eggert  <eggert@twinsun.com>
87869
87870         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
87871         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
87872         2.1.3 bug.  This avoids a clash when files like regex.c define
87873         _GNU_SOURCE.
87874
87875 2000-05-06  Jim Meyering  <meyering@lucent.com>
87876
87877         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
87878         (AC_REPLACE_FUNCS): Add strnlen.
87879
87880         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
87881         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
87882
87883         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
87884         AC_SEARCH_LIBS call for nanosleep.
87885         (LIB_NANOSLEEP): Set and AC_SUBST.
87886
87887 2000-05-06  Jim Meyering  <meyering@lucent.com>
87888
87889         * lib/strnlen.c: Undefine __strnlen and strnlen.
87890         [!weak_alias]: Define __strnlen to strnlen.
87891
87892         * lib/atexit.c: New file, from libiberty.
87893
87894 2000-05-06  Jim Meyering  <meyering@lucent.com>
87895
87896         * lib/closeout.c (close_stdout_status): Also check for errors on the
87897         stderr stream.
87898
87899 2000-05-05  Jim Meyering  <meyering@lucent.com>
87900
87901         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
87902         AC_SEARCH_LIBS call for clock_gettime.
87903         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
87904
87905         * m4/search-libs.m4: Update from autoconf.
87906
87907         su doesn't work on Solaris 2.6.
87908         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
87909         <shadow.h>.  Reported by Dragos Harabor.
87910
87911 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
87912
87913         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
87914         memcpy instead of xmalloc, xrealloc, path_concat.
87915         (locale_charset): Treat empty environment variables as absent.
87916         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
87917
87918 2000-05-04  Jim Meyering  <meyering@lucent.com>
87919
87920         * lib/getopt.c: Update from glibc.
87921         * lib/obstack.c: Likewise.
87922         * lib/obstack.h: Likewise.
87923         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
87924         file
87925
87926         * lib/regex.h: Likewise.
87927         * lib/strndup.c: Likewise.
87928         * lib/strnlen.c: New file, from glibc.
87929
87930 2000-05-03  Jim Meyering  <meyering@lucent.com>
87931
87932         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
87933
87934 2000-05-02  Paul Eggert  <eggert@twinsun.com>
87935
87936         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
87937         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
87938         compile-time test, rather than inspecting host and OS, to
87939         decide whether to define _LARGEFILE_SOURCE.
87940
87941 2000-05-01  Jim Meyering  <meyering@lucent.com>
87942
87943         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
87944
87945         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
87946         Based on a patch from Bruno Haible.
87947
87948 2000-05-01  Jim Meyering  <meyering@lucent.com>
87949
87950         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
87951
87952 2000-04-29  Jim Meyering  <meyering@lucent.com>
87953
87954         * lib/path-concat.c: Declare strdup only if it's not defined.
87955         * lib/canon-host.c: Likewise.
87956
87957 2000-04-28  Jim Meyering  <meyering@lucent.com>
87958
87959         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
87960         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
87961         is included first, then limits.h is included by locale.h by libintl.h.
87962         From John David Anglin.
87963
87964 2000-04-25  Jim Meyering  <meyering@lucent.com>
87965
87966         * lib/makepath.c (S_IRWXUGO): Define.
87967         (make_path): Always perform explicit chmod if MODE specifies any
87968         of the `special' permission bits.  Prompted by a bug report against
87969         install from Mate Wierdl and Joost van Baal.
87970
87971 2000-04-18  Jim Meyering  <meyering@lucent.com>
87972
87973         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
87974         (jm_PREREQ): Use it.
87975
87976 2000-04-18  Jim Meyering  <meyering@lucent.com>
87977
87978         * lib/README: New file.
87979
87980         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
87981         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
87982
87983 2000-04-17  Jim Meyering  <meyering@lucent.com>
87984
87985         Get it right :-)
87986         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
87987         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
87988         Suggestion from Akim Demaille.
87989
87990 2000-04-17  Jim Meyering  <meyering@lucent.com>
87991
87992         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
87993         the definition of it to rpl_strftime also defined-away the system's
87994         declaration.
87995
87996 2000-04-15  Jim Meyering  <meyering@lucent.com>
87997
87998         Use `C' to denote so-called `contiguous' files, the same way
87999         that tar does.
88000         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
88001         (ftypelet): Use S_ISCTG.
88002         From Michael Deutschmann.
88003
88004 2000-04-14  Jim Meyering  <meyering@lucent.com>
88005
88006         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
88007         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
88008         clobbered.
88009
88010 2000-04-14  Jim Meyering  <meyering@lucent.com>
88011
88012         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
88013
88014 2000-04-13  Jim Meyering  <meyering@lucent.com>
88015
88016         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
88017         AH_VERBATIM to insert required #ifndef into config.h.in.
88018         Suggestion from Akim Demaille.
88019
88020 2000-04-12  Jim Meyering  <meyering@lucent.com>
88021
88022         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
88023         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
88024         Christian Krackowizer.
88025
88026         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
88027         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
88028         (AC_SYS_LARGEFILE): Require.
88029         (AM_C_PROTOTYPES): Require.
88030
88031 2000-04-08  Jim Meyering  <meyering@lucent.com>
88032
88033         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
88034         names don't conflict.  Reported by Eli Zaretskii.
88035
88036 2000-04-07  Jim Meyering  <meyering@lucent.com>
88037
88038         * lib/putenv.c: Move inclusion of errno.h so it follows that of
88039         sys/types.h, to work around system header problems on AIX 3.2.5.
88040         From Bruno Haible.
88041
88042 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
88043
88044         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
88045         bug.  Deal with the different error behavior of Irix iconv.
88046
88047 2000-04-05  Paul Eggert  <eggert@twinsun.com>
88048
88049         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
88050         IRIX if the installer said otherwise.
88051
88052 2000-04-05  Jim Meyering  <meyering@lucent.com>
88053
88054         Portability tweaks required for ultrix4.3.
88055         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
88056         (jm_CHECK_DECLS): Add getutent to the list of functions.
88057         (_jm_DECL_HEADERS): Add utmpx.h.
88058         From John David Anglin.
88059
88060         * m4/strftime.m4: Back out the 2000-04-02 change.
88061         Instead of that change, simply undefine putenv in the test program.
88062
88063 2000-04-05  Jim Meyering  <meyering@lucent.com>
88064
88065         Portability tweaks required for ultrix4.3.
88066         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
88067         getutent.
88068         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
88069         * lib/canon-host.c: Declare strdup.
88070         * lib/path-concat.c: Likewise.
88071         From John David Anglin.
88072
88073 2000-04-04  Jim Meyering  <meyering@lucent.com>
88074
88075         Be more DOS 8.3-friendly.
88076         * lib/ref-add.sin: Renamed from ref-add.sed.in.
88077         * lib/ref-del.sin: Renamed from ref-del.sed.in.
88078         * lib/Makefile.am: Reflect renaming.
88079         Reported by Eli Zaretskii.
88080
88081         Use a temporary file name that won't clash with `charset.alias'
88082         in the DOS 8.3 name space.
88083         * lib/Makefile.am (charset_tmp): Define.
88084         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
88085         (uninstall-local): Likewise.
88086         Reported by Eli Zaretskii.
88087
88088 2000-04-03  Jim Meyering  <meyering@lucent.com>
88089
88090         * m4/gettext.m4: Fix typo in comment.
88091
88092         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
88093         textutils/configure.in).  Suggestion from Paul Eggert.
88094         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
88095
88096 2000-04-02  Paul Eggert  <eggert@twinsun.com>
88097
88098         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
88099         variable in the shell rather than using putenv, which isn't
88100         portable.  This avoids the configure-time inter-test dependency
88101         on the potentially-renamed putenv function.
88102
88103 2000-03-30  Paul Eggert  <eggert@twinsun.com>
88104
88105         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
88106         before checking struct stat.st_blksize, so that
88107         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
88108
88109 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88110
88111         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
88112         since strftime.c uses HAVE_STRFTIME to decide whether to use
88113         the underlying strftime.
88114
88115 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88116
88117         * lib/time/strftime.c (my_strftime): Make sure we call the system
88118         strftime, not ourselves, when invoking the underlying strftime.
88119
88120 2000-03-24  Jim Meyering  <meyering@lucent.com>
88121
88122         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
88123         (charset_alias): Define.
88124         (install-exec-local): Factor out common code.
88125         (uninstall-local): Split lines longer than 80.
88126         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
88127         (SUFFIXES): Define.
88128         (.sed.in.sed): New rule.  Don't redirect directly to $@.
88129         (CLEANFILES): Add ref-add.sed and ref-del.sed.
88130
88131 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
88132
88133         * lib/config.charset: Output a line containing "Packages using this
88134         file".
88135         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
88136         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
88137         ref-del.sed): New rules.
88138
88139 2000-03-17  Jim Meyering  <meyering@lucent.com>
88140
88141         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
88142         Otherwise, include <strings.h>
88143
88144 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
88145
88146         * lib/unicodeio.c (utf8_wctomb): New function.
88147         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
88148         format instead of in UCS-4 with platform dependent endianness.
88149
88150 2000-03-10  Jim Meyering  <meyering@lucent.com>
88151
88152         * m4/lib-check.m4: Look for getspnam in -lgen, too.
88153         From Marco Franzen.
88154
88155 2000-03-07  Paul Eggert  <eggert@twinsun.com>
88156
88157         * lib/savedir.c (savedir): Work even if directory size is
88158         negative; this can happen with some screwy NFS configurations.
88159
88160 2000-03-06  Jim Meyering  <meyering@lucent.com>
88161
88162         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
88163         if it's NULL (because we ran out of memory).  From Bruno Haible.
88164
88165 2000-03-05  Jim Meyering  <meyering@lucent.com>
88166
88167         * lib/localcharset.c ("path-concat.h"): Include.
88168         (get_charset_aliases): Use path_concat instead of ANSI string
88169         concatenation.
88170
88171         * lib/unicodeio.h (PARAMS): Define.
88172         Use it to guard prototype.
88173
88174 2000-03-04  Jim Meyering  <meyering@lucent.com>
88175
88176         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
88177         for lib/localcharset.c.
88178
88179 2000-03-04  Jim Meyering  <meyering@lucent.com>
88180
88181         * lib/Makefile.am (install-exec-local): Create $(libdir) before
88182         installing into it.
88183         (uninstall-local): Uncomment this rule so `make distcheck' works
88184         once again.
88185
88186         * lib/unicodeio.c (<errno.h>): Include it.
88187         (errno): Declare if not defined.
88188
88189         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
88190
88191         * lib/config.charset: New version, incorporating remarks from a linux
88192         i18n mailing list.  From Bruno Haible.
88193
88194 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
88195
88196         * m4/codeset.m4: New file.
88197         * m4/iconv.m4: New file.
88198         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
88199
88200 2000-03-03  Jim Meyering  <meyering@lucent.com>
88201
88202         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
88203
88204 2000-03-02  Jim Meyering  <meyering@lucent.com>
88205
88206         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
88207         the messages come out on separate lines.
88208
88209         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
88210         rather than jm_CHECK_DECLARATIONS.
88211         * m4/decl.m4: Remove now-unused file.
88212
88213         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
88214         geteuid.
88215
88216 2000-03-02  Jim Meyering  <meyering@lucent.com>
88217
88218         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
88219
88220 2000-03-01  Jim Meyering  <meyering@lucent.com>
88221
88222         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
88223         * lib/unicodeio.c: Likewise.
88224
88225 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
88226
88227         * lib/config.charset: New file.
88228         * lib/localcharset.c: New file.
88229         * lib/unicodeio.h, lib/unicodeio.c: New files.
88230         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
88231         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
88232         (noinst_HEADERS): Add unicodeio.h.
88233         (all-local, install-exec-local, charset.alias): New targets.
88234
88235 2000-02-28  Paul Eggert  <eggert@twinsun.com>
88236
88237         * lib/quotearg.c (ALERT_CHAR): New macro.
88238         (quotearg_buffer_restyled): Use it.
88239
88240 2000-02-27  Jim Meyering  <meyering@lucent.com>
88241
88242         * m4/check-decl.m4: Add getenv to the list.
88243
88244 2000-02-27  Jim Meyering  <meyering@lucent.com>
88245
88246         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
88247         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
88248
88249         * lib/backupfile.c: Guard inclusion of stdlib.h with
88250         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
88251         Declare malloc if needed.
88252
88253         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
88254         `#ifndef HAVE_DECL..'
88255         now that autoconf always defines the HAVE_DECL_ symbols.
88256         * lib/human.c: Likewise.
88257         * lib/same.c: Likewise.
88258         * lib/strtoumax.c: Likewise.
88259
88260         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
88261         declaration check was not run.
88262         * lib/hash.c: Likewise.
88263         * lib/human.c: Likewise.
88264         * lib/same.c: Likewise.
88265         * lib/strtoumax.c: Likewise.
88266
88267         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
88268         `.', then first look up the entire `.'-containing string as a login
88269         name.
88270
88271 2000-02-23  Jim Meyering  <meyering@lucent.com>
88272
88273         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
88274         in place of my hack.
88275
88276 2000-02-18  Paul Eggert  <eggert@twinsun.com>
88277
88278         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
88279         (textint): New typedef.
88280         (parser_control): Member year changed from int to textint.
88281         All uses changed.
88282         (YYSTYPE): Removed; replaced by %union with int and textint members.
88283         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
88284         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
88285         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
88286         (tSNUMBER, tUNUMBER): Now of type <textintval>.
88287         (date, number, to_year): Use width of number in digits, not its value,
88288         to determine whether it's a 2-digit year, or a 2-digit time.
88289         (yylex): Store number of digits of numeric tokens.
88290         Reported by John Kendall.
88291
88292         (parser_control): Changed from struct parser_control to typedef (for
88293         consistency).  All uses changed.
88294
88295         (tID): Removed; not used.
88296         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
88297
88298 2000-02-14  Paul Eggert  <eggert@twinsun.com>
88299
88300         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
88301         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
88302
88303 2000-02-12  Jim Meyering  <meyering@lucent.com>
88304
88305         * lib/userspec.c (ISDIGIT): Define it.
88306         (isdigit): Remove definition.
88307         (is_number): Use ISDIGIT, not isdigit.
88308         <libintl.h>: Include.
88309         (_ and N_): Define.
88310         (parse_user_spec): Mark translatable strings.
88311
88312 2000-02-10  Jim Meyering  <meyering@lucent.com>
88313
88314         With these changes, nanosleep.[ch] are finally enough like the other
88315         lib/* replacement files to compile on a few more losing systems.
88316
88317         * lib/nanosleep.h: Don't include config.h.
88318         Remove prototype from declaration of nanosleep.
88319         (PARAMS): Remove now-unneeded definition.
88320         * lib/nanosleep.c: #undef nanosleep.
88321         (rpl_nanosleep): Rename from nanosleep.
88322
88323 2000-02-10  Jim Meyering  <meyering@lucent.com>
88324
88325         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
88326         gnu_nanosleep to rpl_nanosleep.
88327
88328 2000-02-09  Jim Meyering  <meyering@lucent.com>
88329
88330         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
88331         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
88332
88333 2000-02-08  Akim Demaille  <akim@epita.fr>
88334
88335         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
88336         `[' and `]' and remove uses of `changequote'.
88337         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
88338         (AC_SYS_LARGEFILE): Likewise.
88339         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
88340         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
88341         of changequote.
88342         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
88343         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
88344         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
88345         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
88346
88347 2000-02-05  Jim Meyering  <meyering@lucent.com>
88348
88349         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
88350         Remove explicit use of AC_HEADER_TIME.  It is required by
88351         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
88352         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
88353         in autoconf whereby the expansion of the latter ended up preceding
88354         the expansion of its prerequisite, AC_HEADER_TIME.
88355         Reported by Volker Borchert.
88356
88357 2000-02-03  Jim Meyering  <meyering@lucent.com>
88358
88359         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
88360
88361 2000-02-03  Jim Meyering  <meyering@lucent.com>
88362
88363         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
88364         rather than with `#if HAVE_UTMPNAME'.
88365
88366 2000-02-02  Jim Meyering  <meyering@lucent.com>
88367
88368         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
88369         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
88370         Reported by Eli Zaretskii.
88371
88372 2000-02-01  Jim Meyering  <meyering@lucent.com>
88373
88374         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
88375
88376 2000-01-31  Jim Meyering  <meyering@lucent.com>
88377
88378         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
88379         functions.  Add the time.h and sys/time.h headers along with the
88380         AC_REQUIRE'ment of AC_HEADER_TIME.
88381
88382 2000-01-31  Jim Meyering  <meyering@lucent.com>
88383
88384         * lib/nanosleep.h (nanosleep): Guard declaration with
88385         `#if ! HAVE_DECL_NANOSLEEP'.
88386         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
88387         the declaration in that vendor's sys/timers.h.
88388         Reported by Christian Krackowizer.
88389
88390         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
88391         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
88392         (ISPRINT): Likewise.
88393         Reported by Tom Tromey.
88394
88395 2000-01-30  Jim Meyering  <meyering@lucent.com>
88396
88397         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
88398
88399         * m4/prereq.m4 (utmp_includes): Define.
88400         Check for ut_user and ut_name members in both struct utmpx
88401         and struct utmp.
88402
88403 2000-01-30  Jim Meyering  <meyering@lucent.com>
88404
88405         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
88406         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
88407         header files where only utmpx.ut_user is declared.
88408
88409         * lib/readutmp.h (UT_USER): Define.
88410
88411 2000-01-29  Jim Meyering  <meyering@lucent.com>
88412
88413         * m4/lib-check.m4: New file containing library-related checks from
88414         fileutils and sh-utils (textutils had none).
88415
88416 2000-01-28  Jim Meyering  <meyering@lucent.com>
88417
88418         * m4/perl.m4: Change format of warning message to look more like that
88419         from the missing script.  Suggestion from François Pinard.
88420
88421 2000-01-25  Jim Meyering  <meyering@lucent.com>
88422
88423         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
88424         well as time.h in the compile check.
88425         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
88426         Fix typo in cross-compiling case: s/yes/no/.
88427
88428 2000-01-23  Jim Meyering  <meyering@lucent.com>
88429
88430         * m4/jm-macros.m4: Move df-related tests here from
88431         fileutils/configure.in
88432
88433         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
88434         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
88435
88436         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
88437         s/space/ac_fsusage_space/.
88438         (jm_FILE_SYSTEM_USAGE): Take two parameters.
88439
88440         * m4/ftruncate.m4: New file (derived from part of
88441         fileutils/configure.in).
88442         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
88443         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
88444
88445         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
88446         AC_SUBST these here, rather than just in sh-util/configure.in, so
88447         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
88448         all the same.
88449         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
88450         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
88451         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
88452         (AC_SUBST(POW_LIBM)): Likewise.
88453         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
88454
88455 2000-01-23  Jim Meyering  <meyering@lucent.com>
88456
88457         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
88458         obstack.c.
88459
88460 2000-01-22  Jim Meyering  <meyering@lucent.com>
88461
88462         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
88463
88464         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
88465
88466         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
88467         configure.in
88468         (AC_CHECK_HEADERS): Likewise for sh-utils.
88469         (AC_CHECK_HEADERS): Likewise for textutils.
88470         Merge the three lists of headers.
88471
88472         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
88473         from fileutils' configure.in.
88474
88475         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
88476         code. Moved tests into their own function (_jm_DECL_HEADERS) in
88477         check-decl.m4.
88478
88479         * m4/check-decl.m4: Use #if rather than #ifdef.
88480         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
88481         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
88482         (_jm_DECL_HEADERS): Define new function.
88483         (jm_CHECK_DECLARATIONS): Require it.
88484
88485 2000-01-22  Jim Meyering  <meyering@lucent.com>
88486
88487         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
88488         [! HAVE_DECL_STRTOULL]: Declare strtoull.
88489         Required for some AIX systems.  Reported by Christian Krackowizer.
88490         [TESTING] (main): New function.
88491
88492         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
88493         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
88494         letters.
88495
88496         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
88497         iswprint.
88498
88499         * lib/strverscmp.c (ISDIGIT): Define.
88500         (strverscmp): Use ISDIGIT, not isdigit.
88501
88502 2000-01-19  Jim Meyering  <meyering@lucent.com>
88503
88504         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
88505         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
88506         defines `struct timespec' in <sys/time.h>
88507
88508         * m4/c-bs-a.m4: Remove uses of changequote altogether.
88509         Thanks to Akim for explaining.
88510
88511 2000-01-17  Paul Eggert  <eggert@twinsun.com>
88512
88513         * lib/nanosleep.c (nanosleep):
88514         Don't use SA_INTERRUPT to decide whether to call sigaction, as
88515         POSIX.1 doesn't require SA_INTERRUPT and some systems
88516         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
88517         it's been part of POSIX.1 since day 1 (in 1988).
88518
88519 2000-01-17  Jim Meyering  <meyering@lucent.com>
88520
88521         * lib/interlock: Remove unused file.  Reported by François Pinard.
88522
88523 2000-01-16  Paul Eggert  <eggert@twinsun.com>
88524
88525         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
88526         alert, backslash, formfeed, and vertical tab unnecessarily in
88527         shell quoting style.
88528
88529 2000-01-16  Jim Meyering  <meyering@lucent.com>
88530
88531         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
88532         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
88533         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
88534         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
88535
88536 2000-01-16  Jim Meyering  <meyering@lucent.com>
88537
88538         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
88539         because the latter didn't work.
88540
88541 2000-01-15  Jim Meyering  <meyering@lucent.com>
88542
88543         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
88544         (AC_REPLACE_FUNCS): Add memcpy and memset.
88545         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
88546         Add strpbrk.
88547         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
88548
88549 2000-01-12  Jim Meyering  <meyering@lucent.com>
88550
88551         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
88552         (jm_PREREQ): Use it.
88553         (jm_PREREQ_READUTMP): New macro.
88554         (jm_PREREQ): Use it.
88555
88556 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88557
88558         Quote multibyte characters correctly.
88559         * m4/c-bs-a.m4: New file.
88560         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
88561         (jm_PREREQ): Use it.
88562
88563 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88564
88565         * m4/uintmax_t.m4: Port to autoconf 2.13.
88566
88567 2000-01-08  Jim Meyering  <meyering@ascend.com>
88568
88569         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
88570         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
88571
88572 2000-01-04  Jim Meyering  <meyering@ascend.com>
88573
88574         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
88575         jm_STRUCT_DIRENT_D_TYPE.
88576         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
88577         jm_STRUCT_DIRENT_D_INO.
88578         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
88579         jm_STRUCT_UTIMBUF.
88580         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
88581         renamings.
88582         * m4/utime.m4: Likewise.
88583
88584         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
88585         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
88586
88587 2000-01-03  Paul Eggert  <eggert@twinsun.com>
88588
88589         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
88590         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
88591
88592 2000-01-02  Jim Meyering  <meyering@ascend.com>
88593
88594         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
88595         remember if this is necessary.
88596
88597 1999-12-26  Jim Meyering  <meyering@ascend.com>
88598
88599         * m4/jm-macros.m4: Use it here.
88600         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
88601
88602 1999-12-23  Jim Meyering  <meyering@ascend.com>
88603
88604         * m4/jm-macros.m4: Check for clock_gettime (moved from
88605         fileutils/configure.in)
88606         Check for gettimeofday.
88607
88608 1999-12-20  Jim Meyering  <meyering@ascend.com>
88609
88610         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
88611         autoconf-2.14a-1999-12-20.
88612
88613 1999-12-19  Jim Meyering  <meyering@ascend.com>
88614
88615         * m4/lstat-slash.m4: New file.
88616         * m4/jm-macros.m4: Use the new macro:
88617         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88618
88619 1999-12-07  Jim Meyering  <meyering@ascend.com>
88620
88621         * m4/perl.m4: Require that File::Compare be available, too.
88622         Too many systems seem to lack it.
88623
88624         * m4/strftime.m4: Add checks for most of the cpp macros tested in
88625         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
88626
88627 1999-11-18  Paul Eggert  <eggert@twinsun.com>
88628
88629         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
88630         problem with the QNX 4.25 shell, which doesn't propagate exit
88631         status of failed commands inside shell assignments.
88632
88633 1999-11-17  Jim Meyering  <meyering@ascend.com>
88634
88635         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
88636
88637 1999-11-07  Jim Meyering  <meyering@ascend.com>
88638
88639         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
88640
88641 1999-11-06  Jim Meyering  <meyering@ascend.com>
88642
88643         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
88644         * m4/jm-macros.m4 (jm_MACROS): Use it here.
88645
88646 1999-11-05  Jim Meyering  <meyering@ascend.com>
88647
88648         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
88649         configure.in of textutils, fileutils, and sh-utils into this one
88650         (shared between those packages) file.
88651         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
88652         AC_STRUCT_ST_BLKSIZE.
88653
88654 1999-11-03  Jim Meyering  <meyering@ascend.com>
88655
88656         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
88657         of AC_CHECK_TYPE checks includes unistd.h.
88658         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
88659         Suggestion from Akim Demaille.
88660
88661 1999-10-30  Jim Meyering  <meyering@ascend.com>
88662
88663         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
88664         m4-quoted string.
88665         * m4/ls-mntd-fs.m4: Likewise.
88666         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
88667         * m4/jm-winsz1.m4: Likewise.
88668
88669         * m4/const.m4: Remove file, since the fix made it into the experimental
88670         version of autoconf.
88671         * m4/mktime.m4: Likewise.
88672
88673         * m4/check-type.m4: Remove file, now that the latest version of
88674         AC_CHECK_TYPE takes a third arg to specify additional #includes.
88675
88676         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
88677         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
88678         AC_CHECK_TYPE.
88679
88680 1999-10-04  Jim Meyering  <meyering@ascend.com>
88681
88682         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
88683
88684 1999-09-22  Paul Eggert  <eggert@twinsun.com>
88685
88686         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
88687         2.95.1 bug with HP-UX 10.20.
88688
88689 1999-09-17  Jim Meyering  <meyering@ascend.com>
88690
88691         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
88692         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
88693         due to missing strdup (against sh-utils-2.0).
88694
88695 1999-08-29  Jim Meyering  <meyering@ascend.com>
88696
88697         * m4/jm-macros.m4: Require jm_BISON.
88698         * m4/bison.m4: New file.
88699
88700 1999-08-17  Paul Eggert  <eggert@twinsun.com>
88701
88702         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
88703         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
88704
88705 1999-08-05  Jim Meyering  <meyering@ascend.com>
88706
88707         * m4/getline.m4: Rename test file from conftestdata to conftest.data
88708         to avoid conflicts with `conftest' on 8+3 filesystems.
88709         Suggestion from Eli Zaretskii.
88710
88711 1999-08-04  Jim Meyering  <meyering@ascend.com>
88712
88713         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
88714         fileutils and sh-utils (textutils's getline test was inadequate).
88715         (AM_FUNC_GETLINE): Run this test.
88716         (AC_CHECK_FUNCS): Check for getdelim.
88717         Reported by Bob Proulx.
88718
88719 1999-08-02  Jim Meyering  <meyering@ascend.com>
88720
88721         * m4/jm-macros.m4: Add a comment.
88722
88723 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88724
88725         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
88726         <inttypes.h> defines strtoumax as a macro (and not as a
88727         function).
88728
88729 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88730
88731         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
88732         that we can shift, multiply and divide unsigned long long
88733         values; Ultrix cc can't do it.
88734
88735 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88736
88737         * m4/mktime.m4: New file, which is a preview of what should appear
88738         in the next public autoconf release.
88739
88740 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88741
88742         * m4/lfs.m4: Remove this file.
88743         * m4/largefile.m4: New file.  It contains the old contents of
88744         lfs.m4, except that all names with prefix AC_LFS have been
88745         changed to use the prefix AC_SYS_LARGEFILE instead, to be
88746         compatible with future autoconf versions.  Also, some minor m4
88747         quoting problems have been fixed.
88748
88749 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88750
88751         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
88752         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
88753         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
88754         and simplify the shell code.
88755
88756 1999-08-01  Jim Meyering  <meyering@ascend.com>
88757
88758         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
88759         m4.
88760
88761 1999-07-20  Jim Meyering  <meyering@ascend.com>
88762
88763         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
88764
88765 1999-07-15  Jim Meyering  <meyering@ascend.com>
88766
88767         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
88768
88769 1999-05-22  Jim Meyering  <meyering@ascend.com>
88770
88771         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
88772
88773 1999-05-20  Jim Meyering  <meyering@ascend.com>
88774
88775         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
88776         Add a colon after each `then' in case $4 is empty.
88777
88778 1999-05-16  Jim Meyering  <meyering@ascend.com>
88779
88780         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
88781
88782 1999-05-10  Jim Meyering  <meyering@ascend.com>
88783
88784         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
88785
88786         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
88787         AC_FUNC_MKTIME.
88788
88789 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
88790
88791         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
88792
88793 1999-05-04  Paul Eggert  <eggert@twinsun.com>
88794
88795         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
88796         not CPPFLAGS, so that linking works correctly in IRIX.
88797
88798 1999-04-30  Paul Eggert  <eggert@twinsun.com>
88799
88800         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
88801
88802 1999-04-20  Paul Eggert  <eggert@twinsun.com>
88803
88804         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
88805         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
88806         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
88807         jm_AC_TYPE_UNSIGNED_LONG_LONG.
88808         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
88809
88810         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
88811
88812 1999-04-20  Jim Meyering  <meyering@ascend.com>
88813
88814         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
88815         AC_REPLACE xstroull if necessary.  From Paul Eggert.
88816         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
88817
88818 1999-04-18  Jim Meyering  <meyering@ascend.com>
88819
88820         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
88821         * m4/jm-macros.m4: Use it.
88822
88823 1999-04-06  Jim Meyering  <meyering@ascend.com>
88824
88825         * m4/strftime.m4: Remove test for %f.
88826
88827 1999-03-29  Jim Meyering  <meyering@ascend.com>
88828
88829         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
88830         superset of the AC_TYPE_* checks in the textutils, fileutils,
88831         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
88832         AC_TYPE_PID_T.
88833
88834 1999-03-28  Jim Meyering  <meyering@ascend.com>
88835
88836         * m4/jm-macros.m4: Define GNU_PACKAGE here.
88837         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
88838         replaced e.g., in the *.sh files of the sh-utils.
88839
88840 1999-03-20  Jim Meyering  <meyering@ascend.com>
88841
88842         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
88843         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
88844         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
88845
88846 1999-03-19  Jim Meyering  <meyering@ascend.com>
88847
88848         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
88849
88850 1999-03-12  Jim Meyering  <meyering@ascend.com>
88851
88852         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
88853
88854 1999-03-07  Jim Meyering  <meyering@ascend.com>
88855
88856         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
88857         declared.
88858
88859 1999-02-17  Jim Meyering  <meyering@ascend.com>
88860
88861         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
88862         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
88863
88864 1999-02-07  Jim Meyering  <meyering@ascend.com>
88865
88866         * m4/group-member.m4: New file -- extracted from sh-utils'
88867         configure.in.
88868
88869         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
88870         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
88871
88872 1999-02-06  Jim Meyering  <meyering@ascend.com>
88873
88874         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
88875         * m4/fnmatch.m4: Likewise.
88876         * m4/getgroups.m4: Likewise.
88877         * m4/lstat.m4: Likewise.
88878         * m4/malloc.m4: Likewise.
88879         * m4/putenv.m4: Likewise.
88880         * m4/realloc.m4: Likewise.
88881         * m4/regex.m4: Likewise.
88882         * m4/stat.m4: Likewise.
88883         * m4/strftime.m4: Likewise.
88884         Suggestion from Alain Magloire.
88885
88886         * m4/chown.m4: Use `.$ac_objext', not `.o'.
88887         * m4/fnmatch.m4: Likewise.
88888         * m4/getgroups.m4: Likewise.
88889         * m4/getline.m4: Likewise.
88890         * m4/lstat.m4: Likewise.
88891         * m4/malloc.m4: Likewise.
88892         * m4/memcmp.m4: Likewise.
88893         * m4/putenv.m4: Likewise.
88894         * m4/realloc.m4: Likewise.
88895         * m4/regex.m4: Likewise.
88896         * m4/stat.m4: Likewise.
88897         * m4/strftime.m4: Likewise.
88898         Suggestion from Alain Magloire.
88899
88900         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
88901         an argument.
88902
88903         * m4/regex.m4: Add a run-time Test for proper operation of
88904         re_compile_pattern.
88905
88906 1999-01-31  Jim Meyering  <meyering@ascend.com>
88907
88908         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
88909
88910 1999-01-30  Jim Meyering  <meyering@ascend.com>
88911
88912         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
88913
88914         * m4/jm-mktime.m4: Make this a wrapper around the official
88915         AM_FUNC_MKTIME rather than my private copy, now that the official one
88916         is up to date.
88917         * m4/mktime.m4: Remove file.
88918
88919         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
88920         * m4/uptime.m4: Likewise.
88921         * m4/uintmax_t.m4: Likewise.
88922
88923 1999-01-28  Jim Meyering  <meyering@ascend.com>
88924
88925         * m4/jm-macros.m4: Use jm_AFS.
88926         * m4/afs.m4: New file (from fileutils' configure.in).
88927
88928         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
88929         * m4/chown.m4: Likewise.
88930         * m4/d-ino.m4: Likewise.
88931         * m4/d-type.m4: Likewise.
88932         * m4/fnmatch.m4: Likewise.
88933         * m4/getgroups.m4: Likewise.
88934         * m4/gettext.m4: Likewise.
88935         * m4/jm-mktime.m4: Likewise.
88936         * m4/jm-winsz2.m4: Likewise.
88937         * m4/lcmessage.m4: Likewise.
88938         * m4/ls-mntd-fs.m4: Likewise.
88939         * m4/malloc.m4: Likewise.
88940         * m4/memcmp.m4: Likewise.
88941         * m4/putenv.m4: Likewise.
88942         * m4/realloc.m4: Likewise.
88943         * m4/st_mtim.m4: Likewise.
88944         * m4/strftime.m4: Likewise.
88945
88946 1999-01-16  Jim Meyering  <meyering@ascend.com>
88947
88948         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
88949         (ARGMATCH_DIE_DECL): Define.
88950
88951 1999-01-12  Jim Meyering  <meyering@ascend.com>
88952
88953         * m4/Makefile.am.in: Rewrite to avoid using fmt.
88954         Reported by Lars Hecking.
88955
88956 1999-01-10  Jim Meyering  <meyering@ascend.com>
88957
88958         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
88959         gross kludge.
88960         * m4/inttypes_h.m4: Likewise.
88961         * m4/lstat.m4: Likewise.
88962         * m4/malloc.m4: Likewise.
88963         * m4/readdir.m4: Likewise.
88964         * m4/realloc.m4: Likewise.
88965         * m4/st_dm_mode.m4: Likewise.
88966         * m4/stat.m4: Likewise.
88967         * m4/utimbuf.m4: Likewise.
88968         * m4/utimes.m4: Likewise.
88969
88970         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
88971         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
88972         comments in config.h.in are meaningful.
88973
88974         * m4/jm-macros.m4: Require autoconf-2.13 here.
88975
88976         * m4/regex.m4: By default, don't use the included regex.c on systems
88977         with glibc 2.  Suggestion from Uli Drepper.
88978
88979 1999-01-02  Jim Meyering  <meyering@ascend.com>
88980
88981         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
88982
88983 1998-12-18  Jim Meyering  <meyering@ascend.com>
88984
88985         * m4/Makefile.am.in (Makefile.am): Simplify rule.
88986         Based on a suggestion from Lars Hecking.
88987
88988 1998-11-16  Paul Eggert  <eggert@twinsun.com>
88989
88990         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
88991
88992 1998-11-16  Jim Meyering  <meyering@ascend.com>
88993
88994         * m4/lfs.m4: Double-quote the `uname...` expression.
88995
88996 1998-11-14  Jim Meyering  <meyering@ascend.com>
88997
88998         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
88999         * m4/stat.m4: Likewise.
89000
89001 1998-11-03  Jim Meyering  <meyering@ascend.com>
89002
89003         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
89004         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
89005
89006 1998-10-18  Jim Meyering  <meyering@ascend.com>
89007
89008         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
89009
89010 1998-10-17  Jim Meyering  <meyering@ascend.com>
89011
89012         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
89013         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
89014         calls for those previously hard-coded headers.  Instead, take a new
89015         parameter.
89016         (jm_CHECK_DECLARATIONS): Reflect interface change.
89017         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
89018         (jm_CHECK_DECL_LOCALTIME_R): New macro.
89019
89020         * m4/mktime.m4: Test for spring-forward gap before long-running test.
89021
89022 1998-10-14  Jim Meyering  <meyering@ascend.com>
89023
89024         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
89025         instead of "TZ=America/Vancouver".  From Paul Eggert.
89026
89027 1998-10-11  Jim Meyering  <meyering@ascend.com>
89028
89029         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
89030         This adds a test for a recently added compatibility fix for mktime.c.
89031         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
89032
89033 1998-09-27  Jim Meyering  <meyering@ascend.com>
89034
89035         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
89036
89037         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
89038         ../configure.in, including a change from Gordon Matzigkeit to allow
89039         cross-compiling for the Hurd.
89040
89041         * m4/glibc.m4: New file/macro to test for the GNU C Library
89042         versions 1 and 2.  From Gordon Matzigkeit.
89043         Indent.
89044
89045 1998-09-21  Jim Meyering  <meyering@ascend.com>
89046
89047         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
89048
89049 1998-08-18  Paul Eggert  <eggert@twinsun.com>
89050
89051         Port nanosecond-resolution times to UnixWare 2.1.2 and
89052         pedantic Solaris 2.6.
89053
89054         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
89055         AC_STRUCT_ST_MTIM.
89056         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
89057         Generate name of ns member, instead of just 1 or undef.
89058         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
89059
89060 1998-08-15  Jim Meyering  <meyering@ascend.com>
89061
89062         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
89063         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
89064         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
89065         instead of jm_TYPE_SSIZE_T.
89066
89067 1998-08-12  Jim Meyering  <meyering@ascend.com>
89068
89069         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
89070
89071 1998-08-02  Jim Meyering  <meyering@ascend.com>
89072
89073         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
89074         in acconfig.h manually.
89075
89076 1998-07-31  Paul Eggert  <eggert@twinsun.com>
89077
89078         * m4/st_mtim.m4: New file.
89079
89080 1998-07-28  Jim Meyering  <meyering@ascend.com>
89081
89082         * m4/utimes.m4: Undef stat.
89083
89084 1998-07-25  Jim Meyering  <meyering@ascend.com>
89085
89086         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
89087         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
89088
89089 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
89090
89091         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
89092         uid and gid actually remain unchanged.
89093
89094 1998-07-07  Jim Meyering  <meyering@ascend.com>
89095
89096         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
89097
89098 1998-07-04  Jim Meyering  <meyering@ascend.com>
89099
89100         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
89101         to prove that this macro can be used in packages without regex.c.
89102
89103 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
89104
89105         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
89106         is to be used.
89107
89108 1998-07-03  Jim Meyering  <meyering@ascend.com>
89109
89110         * m4/gettext.m4: Add -lintl if it's found to be necessary.
89111
89112         * m4/gettext.m4: New file -- from gettext-0.10.35.
89113         * m4/lcmessage.m4: Likewise.
89114         * m4/progtest.m4: Likewise.
89115
89116         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
89117         * m4/jm-macros.m4: Require the new macro.
89118
89119 1998-06-29  Jim Meyering  <meyering@ascend.com>
89120
89121         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
89122         for the definition of NGROUPS (used in a system header included
89123         by sys/mount.h).
89124
89125 1998-06-28  Jim Meyering  <meyering@ascend.com>
89126
89127         * m4/ls-mntd-fs.m4: New file.
89128         * m4/fstypename.m4: New file.
89129
89130         * m4/jm-macros.m4: Require the new macro.
89131         * m4/jm-glibc-io.m4: New file.
89132
89133 1998-05-19  Jim Meyering  <meyering@ascend.com>
89134
89135         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
89136         * m4/lchown.m4: New file.
89137
89138         * m4/Makefile.am.in: New file.
89139         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
89140
89141 1998-05-14  Jim Meyering  <meyering@ascend.com>
89142
89143         * m4/Makefile.am (EXTRA_DIST): Add them.
89144         * m4/jm-macros.m4: New file.
89145         * m4/utimbuf.m4: New file.
89146
89147 1998-05-12  Jim Meyering  <meyering@ascend.com>
89148
89149         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
89150
89151 1998-05-11  Jim Meyering  <meyering@ascend.com>
89152
89153         * m4/isc-posix.m4: New file.
89154
89155 1998-05-10  Jim Meyering  <meyering@ascend.com>
89156
89157         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
89158
89159 1998-05-09  Jim Meyering  <meyering@ascend.com>
89160
89161         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
89162         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
89163         with automake.
89164
89165         * m4/ssize_t.m4: New file.
89166         * m4/mktime.m4: Remove file -- the new automake has this now.
89167
89168 1998-04-26  Jim Meyering  <meyering@ascend.com>
89169
89170         * m4/assert.m4: New file.
89171         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
89172
89173 1998-04-05  Jim Meyering  <meyering@ascend.com>
89174
89175         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
89176         (jm_PREREQ): Use it here.
89177
89178 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
89179
89180         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
89181         in acconfig.h.
89182
89183 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
89184
89185         * m4/prereq.m4: New file.
89186         * m4/error.m4: New file.
89187         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
89188
89189 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
89190
89191         * m4/getline.m4: Don't set am_cv_func_working_getline before the
89192         cache-check for the same variable -- that defeated the purpose of
89193         the test; the test program was never run.  This was a problem only
89194         on systems with losing getline functions -- HP-UX 10.20 is one.
89195         Reported by Bjorn Helgaas.
89196
89197 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
89198
89199         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
89200
89201 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
89202
89203         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
89204
89205         * m4/const.m4: New file.  Use an initializer in this declaration
89206         typedef int charset[2]; const charset x;
89207         Reported by Bob Glickstein.
89208
89209 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
89210
89211         * m4/chown.m4: Fix reversed types on -1 args to chown.
89212         From Kaveh Ghazi.
89213
89214 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
89215
89216         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
89217         Add lseek and memchr.
89218
89219         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
89220         T.E.Dickey <dickey@clark.net> said that some older preprocessors
89221         have a 20-character limit on names.
89222
89223 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
89224
89225         * m4/inttypes_h.m4: New file.
89226         * m4/uintmax_t.m4: New file.
89227         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
89228
89229
89230         -----
89231
89232         Local Variables:
89233         coding: utf-8
89234         End:
89235
89236         Copyright (C) 1997-2011 Free Software Foundation, Inc.
89237
89238         Copying and distribution of this file, with or without
89239         modification, are permitted provided the copyright notice
89240         and this notice are preserved.